12 minute read
Learning to Code & Landing a Dev Job in < 6 Months
How I transitioned my career to web development at 30 years old without a CS degree and keeping most of my sanity.
I turned 30 in 2022 and took a gamble—to walk away from a lucrative career to start from scratch and learn to code.
A sacrifice? Absolutely. But one that’s paid off tenfold.
If you’re considering a career change but feel apprehensive, here’s how I did it in under six months—without a CS degree and while keeping most of my sanity.
First, some background
For nearly a decade, I lived and breathed digital marketing, specifically SEO—the (sometimes) dark art of getting businesses more sales from search engines.
Starting my career, I was able to make genuine business impact with a little know-how and some good strategy. This opened up connections with executive level folk early on in my career which positively shaped my progression and taught me about business quickly.
While I'm rarely immodest, I thrived in SEO and, after some considerable grind, I soon found myself working for household name brands in big media agencies like Brainlabs. I was doing great but I never really took a step back to understand myself and what work I wanted to do for the rest of my career, I was just enjoying where I was for better or worse.
Why I decided to change careers
Over time, I slowly fell out of love with SEO. It wasn’t the work itself—it was the uncertainty that started to grate on my personality - strategy started to feel like a gamble, forecasting a project started to feel like wishful thinking and I started to stop believing in SEO.
Meanwhile, I found myself gravitating toward the technical end of SEO which involved writing code occasionally. I started enjoying coding so much that I found myself sneaking in excuses to write CSS, fiddle with some JavaScript or accidentally spend more time with dev teams than I needed to.
Before long I was getting hooked. Three things appealed to me:
The workflow—writing code, getting instant feedback and actually seeing the results of my work on a screen
The problem-solving—debugging code didn’t feel like work; it felt like cracking a puzzle and gave a TON of satisfaction
The consistency—unlike SEO, code isn’t at the mercy of mysterious algorithms. It either works or it doesn’t—and when it doesn’t, there’s always a traceable cause. Sure, debugging can be tricky, but it’s a far more transparent and open process vs educated guesswork that I might employ to debug a typical drop in search traffic.
Anyway, before I knew it I was deep in a rabbit hole—writing ugly code for silly projects late into the night, over-engineering my personal website for fun, and absolutely loving it.
Reflection
During this time, I turned 30 and had recurring "What am I doing with my life?" thoughts.
I could confidently answer 'No' to the question: Can I see myself doing SEO for the next 10 years? which was a pretty clear indicator that I needed a change.
So, I broke down what I actually wanted from my work for the next 10 years:
Personal Fulfilment – Work that genuinely excited me and I was passionate about
Financial Stability – A reliable income now, with strong earning potential later
Work-Life Balance – Flexibility and time for life outside of work
Growth Opportunities – A field where there didn't feel like a ceiling and I could keep learning
Job Security – A stable industry with long-term prospects
Impact & Purpose – Work that mattered (or at least work that gave me skills to facilitate personal work that was meaningful)
Community – A career with a budding community of other passionate folks
It took me a while to come around to the idea but I concluded that web development ticked all the boxes so I locked in my aspirations to learn to code properly.
I just didn't yet know how.
The steps I took to change my career
Disclaimer: Before deciding on the career change, I had a solid understanding of how the web worked - my knowledge consisted of some vanilla HTML & CSS (enough to get by), technical SEO and some understanding of popular CMS platforms like Wordpress, Magento and Webflow. I also had a degree in forensic investigation (mostly law), not super relevant but thought I'd mention.
Step 1: Save money, start planning
To truly make it happen, I knew I had to go all-in.
If I tried to learn part-time, I’d get comfortable and drag it out forever. So, I saved and planned to set aside six months’ worth of living expenses, quit my job, and create a very real, very terrifying financial deadline.
Rent or bust. That was my motivation.
While I was saving, I starting looking at training options like bootcamps and if I'd need to factor that into my budget.
This brought me to the question; to bootcamp or not to bootcamp?
At the time, I didn't really know whether they were worthwhile or not, I could see the appeal; a very hands on and intensive learning environment but, then I looked at the cost 🤮
Step 2: Seek advice & solidify intentions
While still saving money, I talked to every developer I knew.
I hit up devs on LinkedIn—some I knew, some total strangers—and asked each for 30 minutes of their time.
Surprisingly, everyone was willing to help - I held 30 minute sessions over a few weeks with new devs and veterans for a good mix of experience.
In these sessions I asked four key questions:
What do you love about coding? (Validation that I wasn’t crazy.)
What sucks about the job? (Needed to know what I was signing up for.)
If you had to start again, how would you learn? (Attempting to shortcutting my roadmap.)
Am I insane for quitting my job to do this? (Reassurance and sanity check.)
Takeaways?
It was doable. No CS degree needed, no bootcamp required—just structured learning, hands-on practice, consistency and no copying & pasting.
Step 3: Building a roadmap
After a ton of research, I mapped out the most efficient way to go from zero to employable:
✅ HTML, CSS, and JavaScript first – No shortcuts. I needed to get the fundamentals rock-solid
✅ Focus mostly on JavaScript – Core programming skills, syntax and designm patterns apply everywhere
✅ Learn one JS framework – I picked React because it seemed in high demand
✅ Build, build, build – Every new concept: apply it in a project
✅ Use Git/GitHub – Even for small projects,
✅ Start getting comfortable with a CMS – I tentatively chose WordPress
What I didn’t need:
❌ A CS degree.
❌ A £10,000 bootcamp.
❌ A fancy computer.
❌ To learn 10+ programming languages.
After some research, and more advice, I started with the Meta Front-End Developer Certificate (Coursera)—structured, well-reviewed, and React-focused. Then, I followed that with Brad Schiff’s WordPress course (Udemy), which the best looking Full-stack Wordpress course I had found.
Side note: If you too want to learn Wordpress, this is THE course to take, Brad Schiff is an absolutely incredible educator and doesn't assume you know anything as he teaches (sounds obvious but during my research a lot of resources I found assumed a lot of knowledge).
Step 4: Learn like my life depends on it
I had a plan, I had some savings, and i'd now handed in my notice.
I treated my learning roadmap like a full-time job:
📅 5 days a week, 8+ hours a day (at least).
📝 Code every single day (even 30 mins).
🔎 Scrutinise, Google and log everything so I truly understand it.
Some days, I’d make great progress. Other days, JavaScript would break my brain.
Typical learning cycle:
Get introduced to a new concept
Console.log everything
Panic because it makes no sense
Question if I’m smart enough to be a dev
Step away, Google, take a breath
Break it down into tiny pieces
Finally get it
Repeat
JavaScript took me forever to grasp, but I kept going.
To give an example, it took me an uncomfortable amount of time just for me to understand what an expression was.
Invoking a function or combining operators and methods in a chain to compute a value really threw me off to the point I tried stack overflow which didn't go so great.
Step 5: Start marketing myself
2-3 months in I was dreary, dry eyed and I hadn't touched grass for a while but, I'd smashed through a lot of my planned courses and I felt more confident that I could actually be useful in a junior dev role.
So, while still studying, I set about putting my newfound knowledge to work and started building projects I was interested in.
These projects included:
Wordpress themes
Website clones
Calculators
Simple API connected web apps
CRUDs apps
Chrome extensions
Multistep forms
Adding features to my personal site
Working on projects that I wanted to build or that solved problems for me kept me motivated AND gave me plenty of opportunities to put my course learning into practice.
I spent at least another month building projects and getting comfortable with Github while I did it.
I put all the work I'd done on my personal website.
Step 6: Apply for jobs
After months of learning, breaking things, fixing them, and generally throwing myself at web dev, it was time to test if I was employable. This part felt daunting—because, despite all the progress I’d made, imposter syndrome was alive and well.
Crafting a CV that stood out
Before applying, I had to make sure my CV would actually get noticed.
I knew I would be competing against graduates with a traditional computer science degree.
Here was my general approach to give me the best chance:
✅ A short, punchy summary – Instead of a generic intro, I made it clear I was a career changer as well as the types of things I could self start with and how much experience I had with code (I even tried putting in roughly how many hours i'd spent coding)
✅ Lots 'a projects – I showcased real things I’d built, whether personal projects or freelance work. Instead of just listing "skills," I provided links to GitHub repos and live demos
✅ Clear formatting but not boring – A clean, readable layout with a focus on my skills and work wrapped up in a single page CV that had colour and a nice typeface to illustrate that I had an eye for design. I used rxresu for this
✅ Tweaks for each role – I made sure my CV highlighted experience relevant to each application where relevant (e.g., if the role required WordPress experience, I emphasized my work with custom themes and plugins)
I focused on WordPress and React-based front-end roles, knowing those were the areas where I’d built the most of my knowledge. I started scouring job boards, company websites, and LinkedIn. I applied even if I didn't meet the full criteria - job listings are typically wish lists, not checklists - If I had 60–70% of the skills, I applied.
Then I found Pugpig.
Pugpig is a publishing platform that powers apps and websites for some of the biggest names in media—The Economist, Condé Nast, Hearst, Tortoise, The Independent, the list goes on. Cool clients to work with, a really interesting product to work on, a tech stack that aligned with my learning and a non-corporate culture - it was the role I most wanted.
The interview
To my surprise I bagged an interview with Pugpig. I went in expecting a live coding challenge and tricky questions, maybe even a take-home project. Instead, it was much more informal. I talked to the head of engineering and eventually the CTO. We talked about the projects I’d built, how I learned, and what excited me about web development. No grilling, no “flatten a nested array from memory”—just an honest conversation.
Their attitude was that coding skills could be taught and that in-fact the right person was far more valuable. Luckily I'd had a life and career prior to Pugpig so I'd like to think I came across employable, passionate and a good fit culturally.
I was invited to the office to meet folks and join the weekly social. A few days later, I got an offer!
The relief was overwhelming - not only had I now got my foot in the door of the industry I wanted to be in, I later realised that it was a foot in the door of a brilliant place to work.
After less than six months of self-learning, I had landed my first web development role!
Step 7: The REAL learning begins
You might be thinking mission complete at this point but, now being employed, my output mattered as I was building features and styling apps that were frequently used by tens of thousands of users every day.
There were a lot of new concepts I had to learn quickly such as:
The behavioural differences between IOS & Android and native browser interpretations of my code
Containerisation (Docker)
Collaborating with other devs on the same project via Git
Proper error handling
CI/CD Pipelines
CSS preprocessors
Bundlers
SQL Database structure
Searching and being able to read a big codebase and find hooks I needed
IOS & Android Simulators
It was overwhelming.
Starting this role was harder than learning the basics of coding. In the first 3 months I struggled with the pressure and it felt like a baptism by fire. Luckily, I learn extremely quickly in that environment AND I was surrounded by colleagues that really knew their stuff which really rubbed-off.
I took a lot of work home with me (by choice) and worked numerous 12-16 hour days to get up to speed fast. I had frustrating moments and made a lot of mistakes but I was luckily in a workplace environment where mistakes were par for the course and considered valuable to learn from.
Fast-forward 2 years (at the time of writing this) of learning by osmosis, I now have a fulfilling job that I love, I look after two devs that report to me, I've never been more passionate at work and my mental health is better than it's ever been.
10 Lessons learned
Switching careers at 30 was scary, but it turned out to be the best decision I ever made.
If you’re considering taking the leap, here's the biggest lessons I learned from the process:
Don’t wait for perfect timing—it won't come, make it happen and be willing to sacrifice
Don’t chase a salary—chase a passion, it won't feel like work and the money will come with time
Talk to people that are already doing what you want to do - validate with them that it's definitely what you want
Start small, stay consistent, and give yourself permission to suck at for a good while
Track and reflect on your progress—you’ll be amazed how far you can go in 3–6 months
You’re not "late."— You’re right on time
If you're struggling, you're exactly where you need to be—if it's easy, you're not learning
Momentum is your best friend—build it, protect it
Ask questions—even "silly" ones. They lead to breakthroughs in your understanding
You don’t need to know everything—just enough to get started, be useful and get a foot in the door - you'll learn way more working than you will self-learning (kind of like learning to drive)
If you’re on the fence or if you think I can help you, contact me, my inbox is open and i'd love to chat :)