I started my journey in software engineering in January 2018 and have been extremely lucky along the way. Imposture syndrome, lack of confidence, and gaps in fundamentals (I acknowledge this as one of the drawbacks of not having formal training) - all of these have contributed to anxiety and doubt whether this is the career for me.
It’s also 2024, and we’ve all heard about the layoffs and uncertainty in the tech industry. Perhaps I am 5+ years too late in starting to write about this topic, but I am still hopeful that this career path will become more ubiquitous and the barriers to entry will keep reducing.
Now let’s get onto the real topic. How do you become a software engineer without a formal computer science degree or bootcamp experience?
Start-ups > big companies, unless you are solely going for compensation. I’ve learned so much at start-ups and people are generally less optics-driven and more results-driven. They are also more willing to try and experiment instead of being stuck on the old ways.
Having worked at companies of all sizes, I will forever love start-ups because of the excitement and learning opportunities.
Will I ever process terabytes of data at multi-billion dollar companies? Probably not.
Will I be able to see a company grow and definitely point to how I contributed to its success? Definitely!
I credit the amazing leadership and mentors I had at my first start-up. Without them, I wouldn’t have had the confidence to even try. I’ll be honest - in tech, there are a lot of naysayers (I’ve been and will probably be one of them depending on the situation). At my first start-up, I felt that my manager and mentors believed in me more than myself.
It’s also important to note when a situation isn’t working out or doesn’t mesh well with what you want in a workplace culturally. I’ve received poor feedback and while it felt like the end of the world at the time, I acknowledge that I made unwise decisions could’ve improved.
On the other hand, I also realize that the person delivering the feedback was unkind and that reflected more on his/her/their personality than mine.
The people you work with is crucial to your marathon in this career.
I would write and re-write questions, summaries, and PR descriptions. It was one of the best ways to make sure I had clarity on the task at hand. While I was afraid, I also did not hold back on making assumptions. Sometimes I was wrong! But other times, it led to great discussions with the team.
I was a data analyst when I joined Resilience (formerly Arceo) but because of the lack of data at the time and the pressing need to build features to collect data, I asked to transition to software engineering.
I barely knew anything at the time but I believed in Django’s detailed documentation (•ᴗ•,, ) and my ability to learn. I ensured:
Every single job taught me something new:
Whether it’s a new language or framework, I made sure I was learning something new at every job.
This extends to beyond technical abilities. When the team is good, you will have opportunities to grow beyond being an individual contributor. It’s not a matter of if but when.