Three Years as a Software Engineer (Part 1)
August 14, 2024
Disclaimer: My posts contain links to books (and occasionally products) that I’ve actually read and have shaped my life. I highly recommend all of them. Readers like you help support this blog and The C# Academy. When you make a purchase using links on our site, we may earn an affiliate commission.
The 6th of July was the third anniversary of my professional career as a software developer. This is the first of a series of posts with reflections on these three years. In this initial post I’ll talk about some of the circumstances that allowed me to get into the industry in the first place.
Luck Counts
First I have to acknowledge my luck. If I had started my journey only a few months later I’d probably be looking for jobs right in the middle of the big depression in the job market. It’s hard to know if I would have made it at all. I like to think of myself a resilient “achieve it or die trying” kind of guy but I can’t say for sure I wouldn’t have quit after years of being rejected.
I’m also lucky to have started my career in two companies that have an amazing culture. I’ll be forever grateful to my first manager for providing such a supportive environment for juniors. As one would expect from a starter, I made several mistakes, asked stupid questions and behaved awkwardly, but everyone around me was very understanding and I was never treated poorly.
The same is true for my current company. We’re in a small team where I needed to step up in responsibility looking after large chunks of our product. Again, several mistakes, some affecting the users directly. But my seniors were always supported and trusted my ability to learn from them.
This can also be said about geographical circumstances. I probably wouldn’t have gotten a job even during the hiring frenzy had I lived in Europe or in most states in the US. The scarcity of programmers in Australia made my life much easier.
The Pandemic
And how about the timing? The pandemic was a hard time for most of us. It created a lot of anxiety, political division, unemployment, hardship. I was secretly having a great time (don’t tell anyone). I had all the time in the world to dedicate to coding. And oh boy did I use it! Besides, I was single, so I was able to sit down and learn for 8+ hours day after day. This period certainly sped um the process of getting my first job.
But I think the biggest stroke of luck was the one that actually led me to start coding in the first place. It was just before the pandemic. For whatever reason I started looking for remote jobs. I didn’t even have an Australian permanent visa yet but all of the sudden the idea of a profession that would allow me to work remotely became more appealing.
I remember looking at professions such as personal assistant and Language Teacher. I think I even created a Portuguese teacher profile somewhere. I think I’d have been good a it. However these saturated professions that wouldn’t give me the financial freedom I desired. Then Google’s algorithm must have heard me and starting presenting me with coding courses. I jumped onto the CodeAcademy and was hooked within minutes. Although now I don’t really like the idea of learning to code in the browser, I have to say that again I’m lucky that their web development course is organized in byte-size chapters. That structure made me keep going even when I didn’t know exactly what I was doing.
Good Samaritan
Then I remember talking to a salsa student of mine and he said I should learn a back-end language. Specifically Java, which he worked with as a senior. I did study it for a couple of months before finally settling for C#, since another student was willing to give me a hand.
This friend was a key player in my initial journey. We met up several times so he could help me when I was stuck. The pair programming sessions we had were crucial. I could see how he thinks about code when he was talking to himself through a problem. I think this is one of the most neglected aspects of learning to code. You’ll learn more sitting for one hour with an experienced engineer than in dozens of hours watching tutorials by yourself.
So What?
With all this self-indulgent talk about how lucky I am, if you can’t get into the industry right now you must be thinking: “Ok mate, you’re lucky, I get it. Good for you.” And you’re right. It’s ok to get angry, anxious, upset. But it’s important to put yourself into the context of the job market right now. If you don’t love coding, it might be time to look into doing something else. But if you do, keep working hard and when the circumstances improve, you’ll be ahead of the curve to get that coveted job!
I was lucky one day, but my fortune might turn tomorrow and I can get fired. I think about this possibility a lot. And regardless of how tough the job market is, I’d spend every waking moment living and breathing code until I got back into the market. If there’s one thing I can control is the amount of work I put into it. When luck hits you with an opportunity, you have to be ready.
Outliers
On this topic, I highly recommend the book Outliers, by Martin Meadows. It talks about the importance of one’s environment to their relative success. The example in the book that resonates the most with me is Bill Gates. The set of circumstances that allowed him to achieve greatness is enlightening. As an example, he went to one of the first schools to give students unlimited access to a computer. So he amassed his thousands of hours of programming practice before almost everyone else on the planet! Is he extremely intelligent? Did he work hard? Yes and yes. Would he have impacted the world the way he did if he didn’t go to that school? It’s highly unlikely.
“Once a musician has enough ability to get into a top music school, the thing that distinguishes one performer from another is how hard he or she works. That's it. And what's more, the people at the very top don't work just harder or even much harder than everyone else. They work much, much harder.”
Malcolm Gladwell