Source:: Realistic expectations of getting a Web Dev job without a CS degree : webdev

Topic

Can I become a self-taught web developer? ebomb

Is this a good topic?

Complete this checklist before writing your ebomb

  • What’s the specific pain your Ebomb is addressing?
  • Could you point to an example of that pain in your watering holes?
  • Is your topic specific and to the point?
    • If a topic requires explaining a lot of other things to make your point, get more specific, so your Ebomb doesn’t wander.
  • What fix will this topic give your audience?
    • Decide the “win” first and work backwards from there.
    • No fix, no Ebomb.

Content

tl;dr

  • You get hired by building credibility.
  • Fastest way: do real work (freelancing)
  • Slow way: collect credentials (degrees, certificates), do personal projects, and learn to solve data structure and algorithm puzzles
  • The right way: go the freelancing route unless something about your goal prevents you from getting to it this way

Can I compete as a self-taught developer?

The great thing about learning web development is that the resources are all out there online for free (or cheap). You can build an entire education’s worth of resources for nothing at all, or you can get some really high-quality self-led courses for very little money.

But what about all the competition for those entry-level jobs? They’re tough to get, especially if you have no way to prove you have the skills. Can you really compete if you’re just self-taught.

The short answer is yes, but the more important questions is “how?”

Expectations Versus Reality

How you think it’s going to work: you go do… something to learn to be a web developer. Then, you apply for jobs and someone hires you. Or they don’t.

How it actually works: you go learn web development. Then, you try to assemble the largest, most credible pile of evidence you can to show that you can do the work. There are a million factors – many of them sub-conscious – that will go into making a decision on a full-time role or a freelance gig, but a big chunk of it comes down to which candidate has built the biggest and most credible pile of evidence.

Building Credibility

The Interview Prep Path

The way a lot of people try to build credibility is to show up with a fancy degree or some combination of self-teaching/bootcamp plus the ability to solve impractical algorithm challenges plus an impressive portfolio. (Sometimes, they leave out the portfolio and algorithm solving parts and don’t make it very far down the path.) These are the arbitrary hoops that have been set in front of you thanks to a glut of bootcamps turning out a glut of entry-level devs. If you want to go through a traditional interview process, this is the path you’re on.

The Real-World Experience Path

The fastest and most effective way to build credibility is to do real work. Do work for yourself. Do work for others. Capture the positive results of your work, and show them to the companies you want to hire you. This beats any kind of degree, any bootcamp, and any level of performance on a technical interview. If I can show one company that I made the last company an extra $100,000 every year with the solution I built them, they don’t even care if I graduated high school.

Which is best?

If you’re looking for a fast and cheap way to get a career started, take the real-world experience path. It will allow you to start making money sooner while building your experience, adding more onto your pile of evidence.

Only take the interview prep path if it’s the only way to achieve your goals. This probably means you’ve bundled the traditional job interview process up into your goal (which you should maybe re-evaluate) or that you’ve defined your goal in a very rigid way (e.g., I’m going to work in X department at Google or Y department at Amazon). You lose lots of time on this path and you have less leverage than if you can come in with a massive pile of credibility that proves your worth (or even better if they’re approaching you instead).

If you want to read more about this approach, check out my article on the inverted career path for developers.

Cutting Room Floor

You have two distinct paths to choose from, and, for my money and time, one is vastly superior to the other… but it’s not entirely black and white. Ask yourself these questions:

How do you define my end goal?

and more to the point, how rigid are you in your definition of your goal? Have you already decided you’re going to go to MIT, graduate with at least a 3.85 GPA, have an internship as Netflix where you learn all you can about scaling software, get a job offer from Google where you work on the Google Home team, and buy a house in the suburbs and commute to the office? If you can stack the dominoes to make all that happen, you’re way better than me. It’s not impossible. I’m sure there are people who make that happen, but I’m not ready to bet on all those outcomes for myself. If this is you, you’re on the interview prep path.

If you define your end goal loosely and by the end point alone, you have the flexibility to choose either path. This is what I did, and a lot of that was a function of where I was coming from. I was in a career making peanuts and doing unfulfilling work. I liked web development, so the entirety of my goal was this: “I want to be a professional web developer.” I didn’t define how. I didn’t define where. I didn’t put myself on a strict timeline for when this needed to happen.

By having this flexibility, I was able to experiment with how to get there. I ended up, entirely by accident, landing on the real-world experience path. I didn’t really choose this path – it chose me because I couldn’t get anyone to hire me – but I did recognize and reap the benefits of it after the fact.

Do I have support?

What are your relationships like? Do you have people in your life who are supportive of your experimenting? Do you feel like you’re drowning in all the expectations of your family and friends?