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](https://www.cnbc.com/2022/11/17/amid-mass-layoffs-the-big-tech-dream-job-is-losing-its-luster.html), the [state of Twitter](https://www.nytimes.com/2022/11/18/technology/elon-musk-twitter-workers-quit.html) (with layoffs, resignations, and Elon Musk himself warning of bankruptcy), and the [likelihood of fraud](https://www.cnbc.com/2022/11/17/ftx-ceo-shreds-bankman-fried-never-seen-such-a-failure-of-controls-.html) in the massive cryptocurrency exchange called FTX, which filed for bankruptcy last week. \n\n\\\nIn between all that, I had the pleasure of hearing an inspiring software engineer story at [FreeCodeCamp Sacramento](https://www.meetup.com/freecodecamp-greater-sacramento-area/).\n\n\\\nDavid 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.\n\n\\\nAfter reading so many articles and forum posts about how to land a first software engineer job, David wanted to share his advice and story.\n\n## Resources\n\nDavid’s strongest recommendation was for a [Harvard course called CS50](https://pll.harvard.edu/course/cs50-introduction-computer-science?delta=0). 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**. \n\n\\\nI found a popular YouTube channel [praising it here](https://www.youtube.com/watch?v=-Zj1kepwRuw), 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](https://cs50.harvard.edu/x/2022/project/)…another choice is mobile applications in Swift). \n\n\\\nThe 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.\n\n\\\nDavid’s second recommendation was for [The Odin Project](https://www.theodinproject.com/dashboard), a free and open-source web development resource.\n\n\\\n**David’s Generic Advice:**\n\n* Avoid Tutorial Hell. Do not just watch hours and hours of YouTube videos. Build something, like a weather app or a calculator app.\n\n\\\n* Bootcamp *curriculum* is usually available for free. He was able to build personal lists of boot camp curriculum, including what students built, to aid in his self-studying.\n\n\\\n* When you build personal projects and showcase them on a personal portfolio, do not simply rehash things that popular YouTube channels walk you through.\n\n## David’s Advice for Projects\n\nDesign, 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. \n\n\\\nOne of David’s projects, for example, can carry out simple online transactions.\n\n## David’s Process for Applying for Jobs\n\nBefore 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. \n\n\\\nHe had success simply testing out an application, which impressed HR, and asking a former PlayStation engineer what it was like to work there.\n\n\\\n**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.** \n\n\\\nHe used AngelList, Indeed, and LinkedIn. **Every interview he got was using LinkedIn easy-apply**.\n\n\\\nThough he did study data structures and algorithms, he personally found it was much more common to receive take-home project assignments.\n\n## A Few Caveats\n\nDuring 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. \n\n\\\nDavid worked at this for 6-10 hours a day, and his GitHub during this time was a solid green block.\n\n\\\nDavid did not cite specific resources as particularly helpful when it came to UI/UX, but his background in media was beneficial.\n\n## Why It Matters\n\nThe 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. \n\n\\\nWhat matters here is that **there are free resources available designed to simulate the community, the rigor, and the pacing of a real university education**. \n\n\\\nUnlike 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.\n\n\\\nThe 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.\n\n\\\nAs the tech market experiences turbulence, such a path sounds increasingly appealing.