We've all heard legendary tales about underdogs who snagged lucrative gigs at MANGA (Meta, Amazon, Apple, Netflix, Google) companies despite their low GPA, or trailblazers like Mark Zuckerberg who built their own tech empires from scratch (founders of Wordpress, Spotify, and Whatsapp have achieved similar feats) despite lacking a solid background in computer science. But let’s be real. How many of us can realistically expect to follow in these footsteps?
In this article, we’ll be unravelling myths and truths about what it takes to land a coveted software engineering job by laying down the various paths that you can take depending on your personal goals and circumstances.
Depending on who you ask, you’ll likely hear widely varying perspectives on what’s the most optimal way to becoming a software engineer. The truth is that no one can answer this question but yourself. After all, what worked for someone else may not necessarily apply to your circumstances. So sit down, take a good look at the time and monetary investment you can afford, and zoom in on options that align with you.
The decision between pursuing a computer science (CS) degree or enrolling in a coding bootcamp may not define your ultimate career trajectory, but it can still set the tone for the beginning of your tech career.
Bachelors Degrees in CS are generally considered to be the more traditional, straightforward path towards becoming a software engineer. Most degrees from reputable institutions will help build a solid foundation in subjects such as operating systems, computer organisation, algorithms, and more. This is undoubtedly necessary if you’re looking to explore technical fields such as quantum computing or machine learning. Additionally, having a CS degree will help you get your foot in the door among companies that filter out non-degree holders during the hiring process. It may not be fair, but it’s unfortunately the weapon of choice for many large companies that are looking to speed up the hiring process.
Despite the significant benefits, enrolling in a full time CS degree may not be for everyone, for those who can’t afford to spend four years away from their jobs nor pay exorbitant tuition fees. Full time degrees may not necessarily be the most efficient way to learn how to code, either, especially since most degrees will require you to take elective courses to graduate.
If the above constraints apply to you, then opting for coding bootcamps may be more up your alley. Coding bootcamps provide a more accelerated path to learning by jumping straight into practical, real-world applications soon the fundamentals are taught. While these courses lack the depth of a full-fledged degree, they often allow you to target specific in-demand skills commonly listed in job requirements.
Even the most reputable companies like Google, Facebook, and Amazon have hired bootcamp graduates as long as they demonstrate high levels of coding competency during technical assessments. As long as you take your time to research your options and select a reputable bootcamp, landing a software engineer job with bootcamp education is a 100% legitimate option.
Academic performance can also play a significant role in the hiring process, but doesn’t necessarily have to define you. Again, GPA is often used as an initial screening criteria. And low GPA doesn’t always correlate with work performance, it’s also true that someone who struggled with fundamental programming courses is unlikely to excel at day-to-day tasks. In fact, some employers have been known to zoom in on grades for specific courses rather than overall GPA when accessing candidate competencies.
On the flip side, relying solely on school results might mean missing out on the dynamic learning experiences that occur outside the classroom. Because once you’ve made it past first round interviews, the significance of your GPA starts to wane. What will make a difference is your ability to impress employers with your ability to handle real world challenges. While GPA can open doors, it doesn't necessarily reflect your practical abilities, teamwork skills, or adaptability in rapidly evolving tech environments. Striking a balance between academic performance and real-world engagement is crucial to ensure you're not only employable but also capable of thriving in the software engineering domain.
If you’re a student with enough slack in your schedule, we strongly recommend balancing academic achievements with hands-on experience. Get a firm grip on your fundamentals in the classroom, and reinforce them through application at part-time jobs, internships, and even your own pet projects. Over time, you’ll not only build up an impressive portfolio, but also understand how coding fundamentals play out in the real world where industry norms, business challenges, and teamwork dynamics are at play.
As one of the most lucrative fields around, it's hard to imagine why anyone would consider software engineering a dead end. Junior software engineers are paid median base salaries of S$5,000 per month, compared to S$4,200 for the rest of the field.
That said, software engineers have been reported to decline in employability around age 35, which is concerning given that Singapore’s current retirement age is 63. But the fact of the matter is that keeping up with the latest programming language or in-demand technology can be exhausting, and even the most fervent software engineers eventually lose motivation. It also doesn’t help that top tech CEOs have also openly come out to state their preference for hiring younger programmers.
Adding to the plot is the threat of AI, which is becoming increasingly adept at automating low level software engineering tasks. Faced with these pressures, it’s natural for software engineers to wonder about the longevity of their career. But cliche as it may be, it is those that integrate their knowledge in coding to build good user experiences and positive business outcomes that will ultimately hold a competitive edge. In the hands of software engineers who can see the bigger picture, AI no longer becomes a threat, but a tool to materialise their vision.
This is also why software engineer veterans recommend that the best way to stay long in the tech game, is to ironically stop coding. This is of course referring to individuals who would prefer to go on the management track, where they lead a team of more junior engineers after accumulating years of experience in understanding what works and what doesn’t.
Such roles require you to have a strong grasp of people skills, because you will no longer be interacting with the computer to get it to do your bidding, but managing more complex human emotions to negotiate business skills and earn the trust of your team members and business partners. Coding knowledge will undoubtedly be necessary to show people that you know what you’re doing, but such senior roles add a whole new dimension to your job.
Alternatively, if coding continues to excite you even after many years, you may opt for the individual contributor tract, delving deeper into specialised domains such as cybersecurity or machine learning. The deeper you go, the less guidance you will have, and you will need to tap upon your own experience and knowledge to solve problems that have never been figured out before.
The job market is always evolving, especially today where changes appear to be constantly coming out of left field. Get a firm grip on what’s in-demand by following us on LinkedIn and Facebook so that you can pivot your job hunting strategy and build a career that ultimately suits you.
That may be the first thing that comes to mind when...
Has artificial intelligence become good...
The job market has never been tighter...