The Three Things I Wish I’d Known When I Began My Career in Software
Progressing in a tech career is straightforward — but that lingering sense of self doubt, the impostor syndrome, can be tough to shake even as you grow.
1. If you’re not reading, you’re falling behind.
This isn’t about reading fiction, and it’s not about reading technical manuals. This is all about proactively reading about your career, the evolving practices and methodologies. If your path is leadership, you should be reading about management, growth and leadership strategies, culture building, project management, conflict management. If your path is to become more specialized and technical you should become very familiar with Uncle Bob. Whatever your direction or path, there’s a book for it all. A great one to start with, one that I wish had been written when I first got started is The Manager’s Path. (It covers a career arc from Jr Engineer to CTO and is important regardless of whether your path includes management.)
Beyond that, you should read about your industry: whether it’s entertainment, game development, healthcare, banking, fintech, security.This all sounds simple and obvious — but I’m surprised at how few people regularly read. I’ve heard complaints and fears about getting stuck in a job where you are no longer growing or learning. And while I’m a huge advocate of managers and leaders providing that opportunity to their team members, you shouldn’t count on someone to roadmap your career for you.
When it comes to coding, we hate reinventing the wheel. Why would you do the same with your professional career? Without reading, you’re not relying on the learnings, experiences, and experimentation of others. You’re doing it the hard way, and you’ll spend more time doing it.
Reading is empowering: it provides you with shared-knowledge that goes beyond your subjective experience and pushes you to generalize your experience so you can grow from it.
If you don’t know where to start, there are many articles about some of the best books to read for technologists. What you pick first matters less than picking something and getting started.
And, to aptly quote LeVar Burton: you don’t have to take my word for it...
2. Build Projects not Products
Whether you’re job hunting or just looking for a wider breadth of experience, remember: you don’t need to build a full-fledged product to get that experience. While there’s value in coding the same thing multiple times and improving iteratively, it’s can slow you down.
Go beyond the many coding challenges out there. Tackle something you don’t know much about, and try to build it out. You’ll still produce something you can showcase on your GitHub, and more importantly, what you’ve learned won’t be diluted in the obscurity of a product.
This also helps you from having half-baked products that give the impression that you can’t complete projects.
So instead of building that social network, mobile app, photo library, face swapper, web portal, and having to focus on all the other product-related areas, build algorithms, architect databases or other systems, play around with graphical libraries. This will give you something discrete to share updates about and help you speak to specifics.
Lastly, if any of those projects grow legs, fork it. Leave the original project in tact, and turn that project into a product separately. This will show a linear progression of your work and how you are also applying your work.
3. Good People, Caring Mentors, Strong Network
This may be just as obvious as reading, but the context is important.
Have you ever sat through a grueling interview where you weren’t at your best, then later felt disappointed in yourself? Have you ever felt like someone wasn’t giving you honest criticism — some truth you already know, but need someone else to say? Maybe you felt directionless? Or maybe you’ve struggled with a lack of transparency?That’s a lack of good people. Good people build your confidence when you interview with them. When you don’t perform to your best level, they know that and factor it in. If they don’t move forward, they let you know and they let you know why. Good people provide honest but caring criticism to help you grow. Good people help you when you’re lost and don’t create doubt or anxiety by being opaque.
Have you ever faced a challenge or problem and not been sure what to do? Have you ever dealt with a frustrating situation at work? Have you ever had a hard time broaching a topic? Have you ever struggled with taking your work to the next level? In any of those cases, who did you go to?
The value in a good mentor is having someone who is not invested in your success. Family, friends, colleagues, and managers all have their reasons for wanting you to succeed. It can be out of love, or it can be out of not wanting to “deal” with your problem.
Finally, a strong network is made up of good people you don’t work with, and mentors who aren’t mentoring you. They’re who you can turn to for advice — people who can connect you with someone or something you need, and importantly, they’re relying on you for the same.
Of course it’s all obvious.
Just like anything healthy, nothing here is ground-breaking. Doing it and making it a habit, that’s where it’s hard. Too often when I make these recommendations, I’m met with “Yeah, I should do that…” as if I’m a doctor telling someone to eat more vegetables.
To get over that challenge, remember that it’s easier when you put it all together.
The strength is in the interconnectedness.
When you read, don’t just read. Take what you’ve read and apply it to a project. You’ll retain the information you learned and get comfortable with it.
Once you’ve applied it, share it. Good people will listen and provide you with feedback on what to read next or what other project you should try.
Let me know how it goes.