I've been a professional web developer for about 8 years now, working in both the back and front end.
But what's surprising to people is that I didn't go to school for computer science, and never took a course or enrolled in a coding bootcamp! And I didn't even get into the field until my late 20s.
So how did I learn to code without any formal education in programming?
Coding was just a hobby...
It all started back in high school, when I discovered the internet, and taught myself basic HTML & CSS for fun.
Mostly I made web pages dedicated to my obsession at the time, snowboarding. I also loved customizing my Xanga blog with CSS to style it just the way I wanted. (Remember Xanga?? 😂)
Looking back, it might seem mind-boggling that I didn't consider learning computer science or web development in school. But it honestly was just a hobby in my mind. I was planning on becoming a doctor, like my parents wanted me to.
But that didn't pan out, and instead I spent the next several years struggling to figure out a path. What happened?
In college, after dropping the whole pre-med thing, I decided to embrace my creative side and major in art. I got a photography degree and got a job working in a commercial photo lab. I printed photos in the darkroom and photographed artwork for clients.
The lab was fun and all, but it only paid $8/hr. Also, I didn't realize this at the time, but the entire film photography industry was a sinking ship. We worked only with film which not many people used anymore due to digital cameras and Photoshop.
Just a couple years after I got there the lab went bankrupt, and things got worse.
Temp office jobs
Eventually, I found temporary office work. Scanning papers, stapling, stuffing envelopes, and generally being a lowly cog in the corporate machine. Not the most glamorous work, but hey, it paid the bills. Mostly.
I floated from gig to gig for a number of years, not really able to save much money, and living from paycheck to paycheck. But one temp job I found ended up changing everything.
The Craigslist job
One day I was scouring Craigslist to look for work, and found a job posting for a data entry position. I was comfortable doing computer work, so I applied for the job and heard back right away. I was hired!
The company was a small web dev shop that built and maintained websites for their clients. Starting out, I was doing pretty basic data entry work. But as time went on, my bosses started teaching me some back-end coding and working with their SQL databases.
The job paid ok, maybe $10-12/hr, but it was only part-time. I mainly stayed there because I was gaining some valuable new skills.
Learning programming was tough, but it was also rewarding. And, I was getting good at learning how to learn. For example, I learned how to find solutions on my own via Google.
You see, my boss would get annoyed if I asked how to do something more than once. I learned that the hard way. So I always spent time trying as hard as I could to find the solution before asking for help.
I also took detailed notes to remember new things, especially if I had spent a long time figuring it all out. Then the next time, I could simply refer back to my notebook instead of googling all over again, or worse, asking my grumpy boss.
After two years working at the web dev shop, I had gained a lot of programming experience. But I could still barely cover my living expenses. I knew I had to make a change, and that’s when things really got going.
Getting a real web developer job
After two years at the Craigslist job, I felt like I knew enough coding skills to apply to some actual web developer jobs.
There were a lot of rejections because of my lack of experience, but eventually I landed an interview at an advertising agency.
On the day of the interview, I ended up impressing the boss with my listening skills, note-taking, and willingness to learn. Everything went well, and they offered me a job. An actual job! with a salary and benefits, the whole nine yards.
I'm pretty sure my mom did a cartwheel when I told my parents about getting hired. They were thrilled. But getting the job was only the beginning. Starting out in a new field was not easy. After all, I only knew basic coding at that point.
How was someone who was essentially self-taught going to succeed in a fast-paced job like this?
Imposter syndrome sucks.
I'm gonna be honest here. The first year of my new job was super stressful, and I struggled with imposter syndrome big time. My boss and coworkers had all gone to school for computer science, and some of them had even gotten masters degrees in it too.
I was terrified that I'd be "found out" and fired due to incompetence. And it didn't help that so much of my work required completely new skills.
I would have to spend sometimes hours on tasks that I knew my boss could complete in 30 minutes or less. Personally I hate being bad at things, so feeling like I didn't know anything, every single day... kinda sucked.
But I stuck to it and did what I always did: I googled. A lot. I always tried to find the solution myself before asking for help, and thankfully, my boss was willing to point me in the right direction when I did get truly get stuck.
I ended up staying at that job for 6 years total, and over time, I became more competent and confident. I even got promoted to a senior level developer in year 4.
My top takeaways
I learned a ton at that job. Not just coding itself, but how to learn new skills, especially if you're self-taught. If you're learning to code, here are my biggest takeaways from my time there:
First, I learned that I could figure out how to do anything with enough Googling. Of course, you might not be able to build a super complex app if you're still learning basic HTML, but you can build up to that eventually.
I also learned how to reverse-engineer code – I could study existing projects at my company, figure out how the code worked, and then turn around and use a similar solution for my new projects.
You can do this yourself by inspecting the code in existing websites, and finding projects on GitHub to learn from. Now, I'm not suggesting plagiarizing someone else's code, but rather learning the principles behind it so you can do it yourself.
One of the biggest lessons I learned was that imposter syndrome sucks, but it really does get better over time.
At some point, I was picking up a new skill almost every day. Combine that over all the days in the year, and it added up. So by year 5 at my job, I wasn't afraid of things I didn't know how to do anymore. Because I could trust in my own skills to get it done.
Eventually, I moved on from that job, but I'm still working as a web developer today and earning a six figure salary. It's been a long road, but a very satisfying one. I hope that my story can inspire you if you're thinking about getting into web development!
Want to watch the full story in 8-bit animation? Check it out on my YouTube channel:
I also write coding tutorials on my blog, Coder-Coder.com. Here are some posts you might like: