Learning to program is hard. It's difficult to know where to start, but it's even more challenging to know what to do after you've learned the basics. Jumping into a developer bootcamp for three months isn't enough.
The following stories from successful developers (some of them self-taught) show you what it takes to join their ranks, highlighting how the authors learned programming and landed their first job, as well as chronicling people's moves from novice professional developer to exceptional software engineer.
'How I became a developer' stories
People can become developers from almost any background, whether they started programming at an early age and majored in computer science (CS), or they taught themselves how to code later in life. These stories focus on how the authors went from being beginning coders to getting that first job.
My journey to becoming a web developer from scratch without a CS degree
This article by Sergei Garcia is packed with excellent resources for anyone learning to become a front-end developer. He shares the technical details of his journey, along with almost every resource that he used. Garcia also includes the story of his first job and how he kept improving his skills after he landed it. Finally, he concludes with some advice, pitfalls, and an outline reiterating all of the learning materials that helped him, in the order that they should be approached.
How I went from mopping floors at a tanning salon to becoming a software developer
Nnenna Ndukwe describes a pivotal time in her life when she was out of funds to pursue a college degree and how she made the decision to leave town and learn programming. In addition to anecdotes, the story shares five strategies and tools that she used to build her programming skills. Her account shows us how important it is to struggle through the process of introspection and rediscover your passions.
"Here I was, realizing that I was returning to my original nerdy self, but approaching and engaging with technology from a different angle." —Nnenna Ndukwe
How I learned to program in 10 years
Julia Evans is an extremely influential person in the software and operations engineering community. Her blog and Twitter account are super-popular, but the one thing you should know about Evans is that she has an always-learning mindset. While this post isn't saying that you need 10 years before you can become a programmer, it is saying that you should always feel as if you're "becoming" a programmer—even after you've gotten your first job. And while the years when she could devote more time to programming were the most beneficial, the years of less frequent hobby work in grade school and college helped build an important foundation. The bulk of this goes over the most interesting programming milestones in her life.
You can also go back through Evans' blog archives and read over 30 daily reports on her time at Hacker School (now called the Recurse Center). This post's title was inspired by Peter Norvig's famous post, Teach Yourself to Program in Ten Years, which you should also read.
From secretary to software developer: The hard way
Sometimes the hard way is the better way. It certainly worked for Denise Nepraunig, an Austrian who now works in Germany as a Swift/SAPUI5/JavaScript developer. While most of the stories in this roundup are from US developers, this is from the EU, so it should help you understand that university system and job market.
While you might think that a "secretary" apprenticeship is far removed from software development, this one was extremely beneficial for Nepraunig, who took the opportunity to automate numerous tasks in Excel and to learn Microsoft VBA and Delphi. From there she still needed to put in years of part-time studying and university work, but being able to put herself in a position where she could learn development, even if it wasn't the primary focus of her job, was a great strategy.
My journey from zero to developer
Years ago, Colby Williams gave up being a YouTube gaming celebrity to learn web development. His journey wasn't easy—his story emphasizes a new problem in programming: knowing what to learn. These days, there are numerous resources on a variety of topics and ecosystems. Which language should you learn? Should you learn big data or UI development? These were the challenges Williams struggled with, but once he found helpful communities such as the Odin Project and FreeCodeCamp, he started making progress.
"I sold my gaming PC, all of my YouTube recording equipment, deleted all of my TV shows, and vowed to not play any games or watch TV until I landed a job."
—Colby Williams
Here's how he made key sacrifices, found a community, hunted for a job, and finally landed one. After working at IBM and MedSpoke, he worked on web development for Amazon. You can read some of Williams' posts on his first blog, when he was learning development.
How I became a developer in eight months
Cristina Veale was a technical recruiter before she became a developer. That may not be the most common background for developers, but it gave her an uncommon edge in the job-seeking process. She knew which skills employers were looking for, how in-demand developers were (and still are), and that she didn't need a CS degree to have a programming career.
"The harder it was for me to recruit people in IT, the more I realized how low the supply and high the demand was for programmers in the U.S."
—Cristina Veale
Veale lists the free resources she used, the paid resources she considered, and the meetup groups she went to when she started learning to program. She also describes what a typical day was like and gives readers some tips that she learned along the way.
Encouragement for all those learning to code: My story
The Learn Programming subreddit is a great place to start if you're hoping to become a developer beginning at square one. The community offers a lot of encouragement and resources. This post describes a four-month journey from knowing barely any programming syntax to learning several languages and getting paid to do freelance work. It's full of tips and encouragement for beginning developers, along with a bunch of additional helpful comments from the community. There are plenty of other stories like this one on r/learnprogramming, including a short account about learning to program in one's thirties—just in case you thought it was too late (it never is).
My journey to become a front-end developer without a CS degree
This story is another example of how VBA work in Excel can turn into a journey toward becoming a developer. Ngoc Vuong was lucky enough to join a company that offered a lot of autonomy and a web development class for anyone, not just IT folks. She was encouraged to become a developer after she expressed an interest to her manager—so this isn't a story of quitting one company to program at another. This post is more focused on the narrative rather than advice (other than some all-important encouragement).
How I learned to program
The saga of Dan Luu's programming career is a lengthy but enthralling read. It tells the story of his learning some programming in the '80s, '90s, and early 2000s. He ended up going to grad school twice before he moved from hardware engineering to software engineering. Along the way, he dealt with family troubles and bad work environments. Although he has worked at companies such as IBM, Google, and Microsoft, he doesn't claim that the reader should try to mimic his path to success.
"I've found that the paths that people take to get into programming are much more varied than stereotypes give credit for, and I think it's useful to see that there are many possible paths into programming."
—Dan Luu
Luu begins and concludes his article with links to other "how I learned to program" stories that you should also put on your reading list. While he doesn't suggest you shouldn't try to copy these stories completely, he does believe that they can help encourage others and give them ideas about what their next steps might be in their programming careers.
How to become a programmer: Five stories
This is a series of blog posts featuring the stories of Ivan Takarlikov, Ilya Konovalov, Stas Mehonoshin, Victor Shepelev, Aleksey Kurylev, and Kirill Shirinkin. Like Nepraunig's post, these stories describe developer career paths in European countries. While the countries and languages in these stories change, the themes and advice are similar. Each of these tales is worth your time.
Mornings, nights, and weekends: How I changed careers and became a programmer
Daniel Hunter's developer story is helpful for asking those introspective questions that need to be asked before beginning your programming journey: Why do you want to change careers? Should you do a coding bootcamp? What is your learning style? He also explains how he balanced his learning schedule with a full-time job and shares some of his resources and mistakes.
How I went from newbie to software engineer in nine months while working full time
Austin Tackaberry's article is interesting because each section documents one of the months in his journey, from almost no programming knowledge to landing a job. The tale starts with a five-point plan and ends with a job.
Lessons from seven self-taught coders who now work full time as software developers
FreeCodeCamp also has an article that compiles excerpts from the stories of seven self-taught developers and summarizes their themes while also linking to the full original stories. Some of the developers' previous jobs included landscaping, restaurant work, and plumbing.
How I made a career change into web development
Tania Rascia's story offers some helpful advice and resources for helping you decide the right career for you, regardless of whether it ends up being in programming. Rascia worked in the culinary industry for many years before deciding she wanted a career change. She remembered her high school hobby of modifying web pages in the notepad editor and decided to start by doing the cheapest web design jobs on Craigslist, until she finally landed an internship where she could learn programming.
My journey as a self-taught programmer
Greg Karékinian, a university dropout, learned front-end and back-end programming (along with the English language) by engaging with communities, finding mentors, and gaining on-the-job experience, even if it was over his head. The journey included some bad practices and bad code, but a finished product. The moral of the story: Get used to discomfort. Karékinian felt the grip of impostor syndrome for years before finally feeling like a real programmer. Now he's moved over to the sysadmin side of the industry.
Shlomi Fish as a programmer
This story isn't focused on a career change or grinding to become a developer like many of the other articles in this list. Instead, it's an interesting peek into Shlomi Fish's programming hobby, which eventually became his job, and the old-school tech that was used back in the '90s and early 2000s.
"Software engineering is not a label—it's a process. I have constantly become and am still becoming a better software engineer."
—Shlomi Fish
How did I land my first job as a self-taught developer? I prepared like crazy.
The final step on the journey to become a developer is getting that first job offer. Jonathan Puc's story gives some advice for getting that offer. Having recently landed his first job as a developer, he summarizes his story and then gives advice on the key steps.
'How I became a better developer' stories
After you land that first job and gain some experience as an entry-level or junior developer, how do you keep getting better and work toward promotion? These stories are all about going from being an off-the-shelf novice to being an indispensable engineer.
Five takeaways from my first job as a software developer
Shahar Avigezer recently finished her first year as a full-stack, mobile software developer. Her advice to junior developers like her is not the usual "find a mentor and ask lots of questions." She addresses often-overlooked topics such as burnout, cross-departmental learning, and visual thinking techniques for solving problems faster.
"90% of my first challenges were integrating into an existing code base, so most of my day included reading and debugging to figure out how things work."
—Shahar Avigezer
From coder to software engineer
In his own quest to become more than just a junior programmer, José Estrella-Campaña identified seven skills he thinks developers need to have before they can call themselves "software engineers." Some of the competencies are soft skills such as being able to write well, having integrity, and understanding the customer. Technical skills include knowing how to learn a new programming language, understanding system design and algorithmic complexity, and knowing some "low-level" programming languages.
A journey from junior developer to technical lead
David Boyne shares his 10-year journey from junior developer to software engineer to senior engineer, and finally to tech lead. The post is well-organized, with sections on each stage of his career and a handful of bullet points summarizing the key takeaways he learned in each position.
"I remember feeling like I couldn't ask for help as maybe this was a sign of weakness? Everybody is busy doing super complicated things, right?"
—David Boyne
Letter to a junior engineer
After 20-plus years of engineering, Joe Moore has some advice for junior developers. Moore shares tidbits of his past experience, but the article is written mainly as a collection of advice. This is what Moore wishes someone had told him at the beginning of his own career.
Going from junior to senior developer
What do senior developers do that junior ones don't? Ben Orenstein answers that question in this podcast from Talking Code. He starts at the beginning: getting hired as a junior developer. Then he answers questions about the goals junior developers should have, and gets into what intermediate developers are doing that junior developers aren't.
"The intermediate [developer] writes methods that are one or two lines while the junior crams 20 in there."
—Ben Orenstein
Evolution of a software engineer
While this isn't author Bruno Filippone's own story, he believes that this article is "our story." Having been in the industry for over 10 years and spoken with other developers about their career journeys, he decided to write an article on the typical evolution of a developer's thinking, from the early stages to the later years of excellence. For a 10-year veteran, some of these observations will feel familiar and, for a beginner, this article offers a wealth of advice and common pitfalls.
"You can't know everything. Anyone can still teach you something you don't know anything about."
—Bruno Filippone
Interview with Ryan Dahl, creator of Node.js
Some of the most interesting programming career stories are the ones from tech celebrities—coders who created a language or technology that's in use all over the software industry. When you get a rare chance to hear the origin stories of these venerable developers, it can be interesting and inspiring.
"There’s no greater moment in my life than when I'm like, in the flow, and having an idea that I believe in."
—Ryan Dahl
Ryan Dahl is one such celebrity. The neat thing is that even Dahl had a humble beginning. He dropped out of a Ph.D. program in mathematics and moved to South America for a year, where he started his programming career building a Ruby on Rails website for a snowboarding company. You should definitely read or listen to his full interview and hear how he became the creator of Node.js.
How can I become a world-class coder in under three years?
This is another resource that's not a story, but it's an ambitious question that newer developers should be thinking about. There are several great answers in this Quora thread, suggesting that you learn hardware architectures, computing and execution models, data modeling, effect modeling, recursion, type theory, and even how to write your own programming languages, parsers, interpreters, and compilers. The experts also suggest that you focus on learning a specialization front to back, and that you keep learning, since the ecosystems and technologies constantly evolve.
"Get a job where you feel like the worst programmer in the whole world."
—Quildreen Motta
Everything you need is at your fingertips
There are an infinite number of paths to becoming a developer and then a senior developer. While it may be challenging to find your own way, these stories provide inspiration and, more importantly, concrete strategies for moving ahead on your developer career path.
All the resources you need to continuously teach yourself are out there. In addition to developer stories, there are plenty of articles where authors simply share their opinions on how you can become a software developer. Andrei Neagoie has a particularly good two-part series on how to learn to code and how to become a senior developer. There are also awesome, active communities such as the FreeCodeCamp forums and r/learnprogramming that are always ready to help beginner developers.
Never stop coding and never stop learning. If you have enough passion and determination, nothing will stop you from reaching your programming goals.
Let us know what inspires you to code. Share your own developer career stories in the comments.
Keep learning
Take a deep dive into the state of quality with TechBeacon's Guide. Plus: Download the free World Quality Report 2022-23.
Put performance engineering into practice with these top 10 performance engineering techniques that work.
Find to tools you need with TechBeacon's Buyer's Guide for Selecting Software Test Automation Tools.
Discover best practices for reducing software defects with TechBeacon's Guide.
- Take your testing career to the next level. TechBeacon's Careers Topic Center provides expert advice to prepare you for your next move.