From Illustration Degree to Full-Stack Developer: The Long Way In
People who find my work now assume there's a clean line from "art student" to "full-stack developer." There isn't. It took me the better part of a decade, three false starts, a lot of freeCodeCamp, and losing my father before any of it actually stuck. This is the version of the story I don't usually tell.
A Foundation Year, and a Decision
I started an art degree at London Metropolitan University — four years all in, starting with a foundation year in art and design before you picked a specialism. I chose illustration.
Part of the reason was simple: none of my brothers had graduated from university, and I wanted to be the one who did. But underneath that, I already had real doubts about whether illustration could be a career. I'd done freelance art and design work before uni, chasing clients, and I knew what that actually felt like — a lot of hours for not much money, and never quite the right clients. I wanted the degree. I wasn't sure I wanted the career it was supposed to lead to.
My First, Failed Attempt at Code
Coding had been suggested to me on and off throughout my twenties by different people, and at some point I finally acted on it. My brother mentioned that an old friend of his was a programmer, so I called him up. His advice: learn Java, start with data types.
My close friend was learning it too, so we did it together — downloaded the MOOC software, worked through the tasks, drilled data types on Anki flashcards. But I hit a wall fast. I couldn't visualise why any of it mattered. What is args. Why are we declaring types. I needed something I could actually see.
My friend suggested we build something real, so we picked something dumb and personal: logging into our PlayStation accounts to see how many hours each of us had put into FIFA. He found a library called Tkinter that let us build an interface for it. And that's where I tripped myself up — I didn't know shared libraries and frameworks were a normal part of how software gets built. I assumed everything had to be written from scratch, so using someone else's library felt like cheating. A month or two later, I gave up. Shortly after, I went travelling through Southeast Asia and the Middle East and told myself I'd focus on university instead.
Trying Again, Differently
By the end of my second year — my first year actually inside the illustration BA — a friend who was a working web developer suggested I try HTML and CSS instead. I went to freeCodeCamp and started working through the tasks, and something clicked that hadn't with Java. HTML and CSS are visual. I could see the change I'd just made. That mattered to me, coming from an art background — for the first time, code felt like something I already knew how to think about.
I got into a good rhythm. Then personal issues pulled me away from it for a while, and I didn't pick it back up until that year of illustration ended.
The Year Everything Changed
I went in again, this time into JavaScript — bought some Udemy courses, tried React back when it was still class-based components. But if I'm honest, I was mostly copying tutorial videos without understanding them. freeCodeCamp never taught DOM manipulation before pushing you toward React, but half the YouTube tutorials I was watching assumed you already knew it. Worse, freeCodeCamp had given me a false sense of progress — I'd clear exercise after exercise, then open an actual IDE and freeze at the blank canvas, unable to start from nothing. My learning felt scattered, my motivation dwindled, and by the start of my final year I'd more or less stopped again — there was too much else going on, and the work I'd put in didn't feel like it was getting me anywhere.
That "too much else" was my father's declining health after a bad surgery. Then lockdown hit, right as my final year began. I turned 30 in the middle of it, and between everything happening at once, I started thinking seriously about my future for the first time. I didn't want to be a struggling artist. I wanted to make my dad proud. I made him a promise, at his bedside, that I'd make something of myself.
He passed away during that period. I'd spent a lot of that time caring for him, which pulled hours away from my degree — I remember reading Eloquent JavaScript at his bedside, working through freeCodeCamp exercises in the gaps. After the funeral, with almost no time left, I pulled a run of all-nighters to finish my final major project and dissertation. Somewhere in that stretch, the promise became specific: I was going to become a web developer, and I was going to build a real career out of it.
Building Momentum
Once uni work was done, I went straight back into freeCodeCamp and finished the HTML, CSS, and JavaScript certifications. The same friend from my first Java attempt was now learning Python, so we picked it up together through DataQuest.
Around the same time, a module in my final year had us using HTML, CSS, and DOM manipulation to build artistic things on the web. I loved it, and it reignited everything. React had also moved to functional components by then, which finally made sense to me in a way class components never had. I went all in — my entire YouTube feed became web dev content, I listened to self-taught developer stories and podcasts, and I even started trying to teach my nephew the basics. I didn't have the money for a bootcamp, so free bootcamp preview sessions and self-taught success stories became my substitute.
The Lucky Break
Then one of my old illustration lecturers emailed the alumni list: she knew some developers who needed someone to design a website for them. I had a design background but had never touched Figma, Sketch, or Adobe XD professionally. I took the gig anyway. They liked me in the interview, but there was no budget to pay me — so I offered a trade instead: I'd design for them if they taught me to code. I picked up Figma in a day, built their landing page and logo, and they were sold.
It turned out they ran developer learning sessions a few times a week, and I got folded into them. The pace was fast and I was often behind, but my HTML and CSS were already strong, and that project became the start of what would eventually be Schoolify, a live online learning platform for teachers.
A Mentor, La Perla, and the Most Money I'd Ever Seen
Near the end of that second year, I was at a friend's stag do and got introduced to someone else who did web development for a living. I reached out afterward, and he agreed to mentor me — a few sessions where he'd point me at things to learn, and I'd come back and show him what I'd built alongside the Schoolify work.
Around the same time, I'd interviewed for and been offered a job at a small firm. Then my mentor told me he'd landed a contracting gig and could bring me onto it. I turned the job offer down to go with him instead — I wanted to learn by actually working. The gig was for La Perla, building their beauty range website. It was more money than I'd ever been paid for anything. Pandemic-related payment delays and disputes followed, though, and the contract ended after the three months I'd originally signed on for.
Keeping the Skills Sharp
After a short break, I took a job running production for a friend's production company and stayed for more than half a year — while still working through Jad Joubran's React tutorials on the side, unwilling to let the coding slide. Eventually I started applying for developer roles properly, because I didn't want to keep treating it as a side project.
That led to a full-time position at MVG Media, building their 24social CMS platform for hospitality brands. The pay was low and often late, and I was regularly stretched beyond what I felt ready for — but it was, without exaggeration, some of the best experience I've had, precisely because of that stretch.
Choosing Full-Stack Over More Money
The job market was hot, so I kept applying, and eventually landed an offer from Groundsure. I had another offer on the table at the time that paid noticeably more — but it was front-end only. I took Groundsure instead, because it was the role that let me grow into full-stack and pick up a much wider set of technologies.
It took a while to get there. My learning had never been linear, so there were real gaps in my knowledge that I had to backfill on the job. I was raw. But I got to where I'd promised myself I'd get, just before the AI boom changed what "learning to code" even looks like for the next generation.
Where That Leaves Me
Looking back, none of it was efficient. Java that didn't take, HTML and CSS that finally did, years of stop-start tutorials, a free trade of design work for coding lessons, a contract I left a good job offer for, a full-time role that underpaid me but taught me more than money would have. And underneath all of it, a promise I made to my father that I've spent the years since trying to keep.
I don't think the winding path was a mistake. I think it's just what it actually looks like to teach yourself something hard with no money for a bootcamp and no straight line to follow. If you're in the middle of your own version of that right now — behind where you think you should be, learning out of order, not sure it's going to add up to anything — it does add up. It just doesn't look like it while you're in it.