reflection, technology, work

What I’ve Learned From Trying (And Failing) To Become A Web Developer

As we head into 2024, I’m reflecting on my journey to becoming a web developer and all the things I’ve attempted in the last five years. Spoiler alert: I haven’t changed my career as I was hoping, to become a full-time web developer. At least not yet. 

What do you think of when you imagine a web developer? Do you see images of hoodie-clad youngsters working from bean bag chairs in hipster offices with exposed brick, or from their reclaimed-wood desks in their loft apartments? A bunch of cool nerds writing rainbow-colored code into a code editor and designing super-cool apps and being paid massive amounts of money?  (Okay, I’m exaggerating, kind of.)

Web Developer Jobs

The job postings are everywhere. All over LinkedIn, job boards, it seems like everybody everywhere is hiring a web developer. The companies try to lure in potential developer candidates with their *amazing* benefits like free food and beer, ping-pong tables, remote-hybrid-flex situations, and of course their unbeatable compensation packages. Who wouldn’t want to apply for a job like that? A quick look at the job requirements gives you a list of names that appear to be straight out of a sci-fi novel. Angular, ASP.NET, JavaScript, React, Babel…. Okay great, you think, I just need to learn all of those programs! (This is where bootcamps come into the picture. They’ve analyzed all those job posting requirements and adapted their curricula to teach wannabe developers all the top skills companies are asking for. More on bootcamps later.)

So what’s my road to web development story? Pretty simple, actually. I got a job teaching English for a startup language company called Lingo Live back in 2015. I taught software engineers from some of the world’s leading tech companies to refine their English skills and boost their confidence in speaking. I was surrounded by tech people who talked about their projects and their jobs, and I also started working more closely with the engineers at the startup, and it began to pique my interest. I started to think, hey, maybe I can do that! I also realized I didn’t want to teach English forever, as there isn’t much room for career growth and the hours and pay can be quite unstable. So I started to investigate different options, took some career quizzes and decided front-end web developer would be my next career goal. I hadn’t considered the fact that I never would have studied computer science in college – my math skills were pretty low – but that didn’t deter me from going after this career change. Computer science degrees didn’t really seem to be required anyway, the world of web development seemed like a thing that was open to pretty much anybody.

Attempt #1: University

So, my first idea: “I need to go back to school.” (I conveniently forgot that going back to school has not worked out very well for me in the past.) I thought a degree program would be more official and more widely accepted. I chose the UOC, Universitat Oberta de Catalunya, a fully online university open to anyone. I had an interview with an admissions counselor and was accepted to a Master in Multimedia Applications. It sounded like the closest thing to web development that I could find that wasn’t a four-year degree since I already have a Bachelor’s degree. The course descriptions sounded really interesting. I should have seen the red flag when they had me enroll in three “niveladora” classes – some intro-level classes in programming and markup language (and one super weird class called Digital Content Integration) that would get me up to speed.

I think the intentions were good on their part, but looking back, I wish they had just not accepted me because I didn’t have any kind of technology base at all. I got through the first semester, doing well in the “multimedia technology” class (focused more on business and analytics) and the markup language class (HTML and CSS) while struggling with programming and completely lost in digital content integration. I decided not to continue with a second semester, as I wasn’t able to pass programming or DCI. Ctrl-Z on this decision. It ended up being a good choice because a year or so later, I got an email from the school announcing that this degree program would be ending. Guess it didn’t work out so well for them either.

Attempt #2: Learning JavaScript With Udacity

After not going back for a second semester at UOC, I was frustrated but not ready to completely give up. I signed up on Udacity for the Front End Developer Nanodegree. Thankfully the materials were much better quality and easier to understand. Hey, studying in my native language, genius idea. I did manage to finish the course and got my certificate, though I didn’t feel like I fully understood what I was doing. I had to follow several tutorials just to get through the required projects. But the highlight was that I developed a solid basic understanding of JavaScript, enough to build a simple website for my lawyer friend Marta. I was proud of being able to use event listeners to make the contact form appear and actually send the messages to the correct place using PHP. I also designed and built my first iteration of my own portfolio site, working with grid and flexbox, and later Bootstrap. I was also able to build a couple of other portfolio pages for other people as a very part-time freelancer. I wouldn’t have considered myself ready to land a full-time tech job yet, and didn’t even try to apply for any.

Non-Tech Work Experience

This was around the same time I got a job offer in Madrid, which I accepted and moved in the summer of 2019. The new job was for a small publishing company writing digital content, managing social media, and my favorite task, designing and customizing email newsletters. I was able to do a few development-related tasks like digging into the company’s Shopify page backend (Liquid template language) to update some dropdown menus.

Of course, then the Covid pandemic hit us all, and I had just decided to accept a freelance business English teaching job, so life got pretty hectic between all my English classes, keeping my previous job, and doing some freelance writing on the side. I forgot all about web development for a couple of years, mainly just updating my blog from time to time.

Attempt #3: Full-Stack Bootcamp, Where I Kind Of Learned React & The Backend

So my web developer dream had gone abandoned for a couple of years. And then in a Facebook group for expats in Spain I saw a job posting for a content writer for a tech bootcamp company. They gave me some writing assignments that paid really well. In the process I remembered my nearly-forgotten career goal and decided to look for a full-stack bootcamp based in Europe, ideally online, that wouldn’t require me to go full-time and give up my job. I chose CareerFoundry, based in Germany, and got started in the summer of 2022. I had seen a number of good reviews and got the thumbs up from an admissions specialist (interestingly, they’re always very encouraging and make it sound like you’ll be the perfect fit for their program). I spent my summer waking up early every day, switching on my laptop and getting started on the coursework. I really enjoyed learning how to set up the backend servers on Node.js, performing CRUD operations and testing in Postman, and setting up a database on MongoDB. Like, you can use the terminal to interact with a database? So cool! It was actually going pretty well for the first two or three months,  knocking out my coursework in record time.

What I didn’t like so much was the mentor and tutor system. My first mentor disappeared without any warning. CF set me up with a second one, who was great. He taught me some shortcuts and little tricks to code better. Unfortunately he left the mentor program, so I needed a third mentor. The third one was hard to schedule time with, and when I finally did, he was condescending and didn’t even try to help me solve an issue I had been stuck on for weeks.

At the same time I was starting to learn React. I really liked learning about how components work and how React makes it easier to organize your code. I loved typing npm start and launching my app! I got really stuck using Redux though, without a very solid base in React. I had spent so much time copying code that I hadn’t really understood what was happening.

It may be a fatal flaw of mine, but I decided to leave the bootcamp early. Yes, I gave up. (After a lot of deliberation, not on impulse.) What would have happened if I had stayed? Would I have finally figured out how to implement Redux? Who knows. I just totally lost my confidence and also was starting to feel scammed out of my money. Reflection: I actually feel a little embarrassed to admit that I only remembered bootcamps and my career goal after getting that freelance writing work. But hey, the writing work fully paid for my bootcamp experience. I just didn’t want to spend more and more on something that seemed to be leading nowhere.

Attempt #4: Learning Web Development For Free Through Self-Teaching

After leaving the bootcamp behind, I didn’t want to forget what I’d learned about React. Also, I didn’t think the Movie Database project I had been learning at bootcamp would really be useful for anyone. An idea came to me on a train: what if I made some flashcards my English students can use in class and on their own? So I started sketching out a web app and thinking about the logic. I need a row of cards with text on one side, and the cards should flip over and show the answers on the other side. The data for the cards should come from an API, or at least a JSON object. So I worked on this project for a couple of weeks, really dedicating a lot of time and focus. I spent tons of time on Stackoverflow for the things I didn’t know how to do. It finally came together and I learned how to build and host the final project on Netlify. Not a full-stack app, only front-end, but I still enjoyed creating it.

Hey, I made a thing

Freelance Web Development

Aside from the projects I had created for a couple of small businesses, I was asked to work with a friend’s company as a freelance junior developer on one small project building calculators for a parenting resource website. I was able to work with a small team to implement the designs as real code on the site. When that project finished, the company told me they had another project coming up, but they ended up disappearing.

Attempt #5: The Spanish Public Education System (Grado Superior)

I know, this is getting ridiculous. But in the absence of further freelance projects, and realizing that I don’t actually want to be a freelance developer long-term, I decided to see if I could get into a “Formación Profesional”, which is kind of like Spain’s version of community college. The difference is that it’s totally free, and it’s connected to the public high schools. You get to do an internship in a company at the end, so that’s a great foot in the door. So some people, rather than going to university, complete this vocational training for two years. There’s a well-known school in Zaragoza that offers a distance learning Web App Development “degree”, called a Grado Superior.

So I went through the application process and got a spot in three out of the five first-year subjects. (One of the three subjects: English. Yeah… they didn’t accept my American passport as proof I don’t need it. 🤦🏽‍♀️) I’ve been studying since September, and honestly it is a huge joke. The materials are so outdated it’s laughable. The teachers barely answer any questions or explain anything. They don’t even grade the assignments or correct them! Everyone in the student forum on Telegram complains about the sad state of this program. The only worthwhile thing I’ve learned in four months were some Github commands I didn’t know, which I could have googled. At Christmastime, I reflected, “why am I doing this?” It’s not even remotely enjoyable, nor is it teaching me anything useful. ¡Hasta luego, otra vez! Ctrl-Z. That brings us to now, January 2024, in which I’m going to take some time to think about next steps.

Our student forum complaining in Spanish

What’s it like learning to become a web developer?

My overall experience learning to code has had a lot of ups and downs. At the beginning I spent countless hours reading instructions or watching videos and copying the code from tutorials. While I did gain some basic knowledge, it didn’t help me understand what I was doing at all, and I couldn’t replicate anything on my own. When I finally moved on to my own projects, I actually found myself learning faster and researching solutions on my own. (And seriously, what would we do without Stackoverflow?)

I’ve learned that it sometimes takes hours, days and even weeks to figure out the solutions to some problems, and I’ve also learned that I am a persistent person. While it may seem, from my quitting various study programs, like I give up easily, I actually do have the persistence and determination to figure things out. Many mornings I’ve woken up with a burst of energy thinking about the coding problem that I’m working on or what I need to do next. That is a great feeling! I like using that part of my brain, which has gone underdeveloped the last few years. I’ve learned how to think more logically and break down problems into smaller pieces, and also to think about the whole problem before starting to work on the code. I’ve learned how important Github is and how to frequently commit my work.

On the other hand, trying and quitting all these different learning experiences is making me reflect on whether I really enjoy what I’m learning, and WHY I’m doing it. Do I really, really love coding and programming? At the end of the day, I’m not a strong programmer. I can take a function someone else wrote and implement it in the right place, sure. It’s very cool to know how to map over an array and make a list of items appear, sure, or how to make a div appear and disappear. And it’s satisfying to be able to say I created a thing and that it works.

I mean, look how cute and colorful it all is

But I may be finally realizing that I’m not cut out to do this type of work every day. As for why I’m doing it? My main motivations: salary increase, working with a team, and having the option to do the work in Spain or in the US. Maybe there are some better career options out there for me. Oh, also, let’s not forget that in 2024 the tech job market is absolutely saturated due to massive layoffs in the last year or two.

I recently read the book “Who You Were Meant To Be” by Lindsay Gibson and she reminds us how important it is to listen to our inner voice, the small and quiet one. I’m making some space in my life to listen and distinguish between impostor syndrome and my inner voice telling me it’s time to move on.

So for now, I’m going to dedicate my free time to doing things I enjoy and not trying to squeeze productive learning opportunities out of every spare moment. I’m going to give myself time off and see if I come back to coding or if my fascination takes me elsewhere.

Any advice for a not-quite-web developer? Happy 2024!