Tech news today is, in a word, bleak. Though things will hopefully change by the time you read this article, current headlines center in on tech layoffs, the state of Twitter (with layoffs, resignations, and Elon Musk himself warning of bankruptcy), and the likelihood of fraud in the massive cryptocurrency exchange called FTX, which filed for bankruptcy last week.
In between all that, I had the pleasure of hearing an inspiring software engineer story at FreeCodeCamp Sacramento.
David Ballowe is an Environmental Science major who worked as a media production lead for three years. He spent six months as a self-taught developer before receiving a full-time offer at a small media technology company. He achieved this without having to pursue a second college degree or pay for an expensive, formalized coding boot camp.
After reading so many articles and forum posts about how to land a first software engineer job, David wanted to share his advice and story.
David’s strongest recommendation was for a Harvard course called CS50. This is the part where I will (annoyingly) insert myself into the story - I personally have a fairly generic background of studying computer science at a four-year university, becoming a software engineer right out of college, and remaining in one place for six years - but from what I gather, CS50 is a completely free computer science course that, in spite of being aimed at beginners, is extremely challenging.
I found a popular YouTube channel praising it here, describing it not just as a course but as a movement. In 11 weeks, students go from learning Scratch to covering binary, C, and enough web development languages/concepts to build full-fledged web applications at the end of the year (or anything they want to create, really…another choice is mobile applications in Swift).
The lecturers are enthusiastic and give demonstrations; for example, one lecture consists of a professor using lightbulbs to teach binary. There are weekly, graded problem sets. The entire experience is a simulation of a real-life university experience.
David’s second recommendation was for The Odin Project, a free and open-source web development resource.
David’s Generic Advice:
Design, in his opinion, is very important. David recommends buying a personal domain and building projects that look impressive even to non-technical people, who could quickly reject a candidate simply for making a website that looks bad.
One of David’s projects, for example, can carry out simple online transactions.
Before first interviewing for a company, David would research the company “pitch,” download the company app, if a single one existed and was available, and look into the person interviewing him.
He had success simply testing out an application, which impressed HR, and asking a former PlayStation engineer what it was like to work there.
He used multiple resumes that were customized for different job descriptions, and whenever he applied for jobs, he filtered out openings that were more than three days old or had more than 70 applicants.
He used AngelList, Indeed, and LinkedIn. Every interview he got was using LinkedIn easy-apply.
Though he did study data structures and algorithms, he personally found it was much more common to receive take-home project assignments.
During this entire process, David had a very understanding boss who understood his career goals. David was able to work part-time and treat this job application/studying effort like it was a second job.
David worked at this for 6-10 hours a day, and his GitHub during this time was a solid green block.
David did not cite specific resources as particularly helpful when it came to UI/UX, but his background in media was beneficial.
The debate over the pros and cons of becoming a software engineer via university education, a coding boot camp, or self-study is a contentious one; it is also beyond the scope of this story.
What matters here is that there are free resources available designed to simulate the community, the rigor, and the pacing of a real university education.
Unlike some of their alternatives, these resources do not rely on revenue from monthly subscriptions, $7000 upfront payments, or binding contracts that allow you to receive education only after pledging a cut of your first 24 monthly paychecks, or the promise of working at a specific company and location for two years to pay back a debt.
The path to software engineering is one that requires discipline and drive. This story is an example of how one person with enough discipline and drive can bypass the more expensive part of the aforementioned journey.
As the tech market experiences turbulence, such a path sounds increasingly appealing.