How to Become a Developer without a Degree or Boot Camp - is it Possible?
Tags: webdev, career, beginners, firstyearincode
Published: 2020-08-19 15:03:08

*Preface: This post is geared towards people interested in being __self-taught__ because boot-camps or college aren't viable options for them for whatever reason. As a self-taught developer myself, this is the path that I have experience with and can talk about confidently.*

***

Before I started my self-taught journey, I was interested in a potential career in technology. I spent a lot of time figuring out if it was possible, if I was smart enough, if anyone would hire me without a degree, if I'd make decent money, if I was too old, and on and on.

As someone coming in and looking for answers who had no background or experience in or around the industry, my ability to even find the right words when asking questions was severely lacking. So if you are that person trying to get into the technology field right now by making a career switch, I'll try to remember back to when I was you and be as clear as possible.

**Side note**: If you've read some other posts already that have put you down, I should let you know that there are many gatekeepers in this industry with fragile intellects that will tell you that you have to be 100% passionate about your work and spend 16 hours per day learning and working or you won't make it. That you have to be naturally inclined towards this work, and even then you probably won't make it. That what they do is extremely difficult and only the smartest people will be able to do what they do. These people are more interested in feeling good about themselves than in helping you. Don't let them get you down.

## You don't know what you don't know

You might be wondering how you begin getting into this field. Or maybe even what field you should get into. Or maybe even "What fields can I pick from?" As you may imagine, the technology field is pretty vast and there are tons of different paths. However, many of them are more strict with their education requirements.

I'll be straight up with you, and this may be biased since I am one, but being a **web developer** likely has the lowest barrier to entry of any software job, it doesn't require a degree almost ever, and has a reasonable timeline of learning before you become employable. I know that narrows it down from a lot of different options, but your best chance probably exists in the web world. That world on its own is pretty wide, so it isn't as limiting as you may be thinking.

Once you're a professional and have some years of experience as a web developer, you'll have a much better chance of pivoting to another software career that has more strict standards that interests you more.

This is just me personally, but web development was the most fun to learn as someone who wasn't a child prodigy writing scripts at five years old. In the beginning you are learning HTML and CSS, which are languages that are used to create a web page. When you use them, you are instantly able to see the results of what you have written in the web page, which is fun! 

#### A quick demonstration

If you'd like to do a very quick demonstration that shows you the rewarding feeling of instant visual feedback, follow along below. Otherwise feel free to skip this section.

Open a blank tab in your browser, press `F12` or `ctrl`/ `cmd`+ `shift` + `i`. A panel will open up that should look similar to the image below.

![Developer Tools Inspector Panel](https://i.imgur.com/ukd5DLf.png)

Copy the entire content of the box here:

```html
<html>
<head>
<style>
    @keyframes rainbow {
        0% { color: red; }
        20% { color: orange; }
        40% { color: yellow; }
        60% { color: green; }
        80% { color: blue; }
        100% { color: purple; }
    }
</style>
</head>
<body>
    <h1>This is a header!</h1>
    <p>This is the body text that I can make <b>bold</b> or <i>italic</i> or <span style="color:red">red</span> or <span style="text-decoration:underline;font-size:2rem;font-weight:black;font-family:monospace;animation: rainbow infinite 2s linear;">anything I want</span>.</p>
</body>
</html>
```

On your new tab, right-click `<html>` that the red box is highlighting in the above image and click "Edit as HTML". **Replace** the content of the editable box that opens with the content you copied above. Press `ctrl` + `enter` to confirm the changes. Instant feedback!

## How long will it take?

Hopefully you're getting a little excited about the idea of this career. Then right after that you're probably hearing all of the negativity and doubts in your head, such as "Yeah cool, but how long is this going to take—years?" Well, it depends quite a bit on your level of dedication and learning abilities.

Learning is a complicated, non-linear activity. When I first started trying to learn web development, I quit on at least three different occasions because of frustration from trying to learn various concepts. But I always ended up coming back, and each time I was a little more resilient to that frustration. Those times I quit put significant gaps between my learning and made it take longer for me. I wasn't perfectly consistent, although I did have a boring job that allowed me to put in quite a few hours on those days without much distraction. I also probably didn't do the most effective learning strategies. A big part of the learning at first will be about yourself and how you learn best.

Given that information and if I remember correctly, it took me about a year to get to a point where I was able to get my first part-time job. Even with my lack of structure and the gaps without learning, that's not a bad timetable, especially when compared to someone spending four years (minimum) in college.

## Am I well-suited for this?

Let's first dispel the black and white thinking that some people are born for this and others are not. Nobody is born to do this because typing code on a computer is not part of our evolutionary development, so that makes no sense. More realistically, what you have is people that will initially pick this up faster than others. Those that pick it up more quickly will feel like they are good at it and be excited to keep going. Those that get frustrated earlier will be more likely to drop out and chalk it up to genetics or whatever. 

This isn't to say that we are all equal or the same, because we aren't. Personality differences will definitely play a role here. If you are someone with high extroversion, nurturing, and agreeableness, you are probably geared towards working with people more directly and won't be satisfied with this type of work.

You hopefully know enough about yourself to know if this type of work is compatible with your personality. If you don't, I would consider doing some reflection about what other interests you've had throughout your life and if this career makes sense for you or if you're more enticed by money.

Keep in mind that this job doesn't have to be you in a dark room for eight hours per day typing code alone. That's what I wanted it to be when I first started because I'm naturally introverted—however, as I've grown in this career, some of the most rewarding things for me now are collaborating with my team and exchanging knowledge and learning from fellow developers.

Let me also say that if your motivation right now is only money, *that's actually okay* (at least initially). But it cannot be your only motivation for a long period of time. If you aren't developing any enjoyment for the craft over time, you won't be able to keep yourself motivated to keep going. That's a good thing—don't waste your time on something you really have no love for. 

This career does require some dedication. Like many careers, you have to spend a lot of time building up knowledge, dealing with frustration while you try to understand a concept, getting stuck and breaking through walls, and doing some less-desirable parts of the job that come with the territory (like fixing obscure bugs in crappy, old, legacy code).

If you find that the sucky parts of the job are worth doing for the fun and exciting parts, then you're in the right place.

## Other common questions

#### How much money can I make?

It depends on your area, your field, your years of experience, your skill level, etc. etc. At my first job I only made $32k/year in New Jersey, but this was my foot-in-the-door position that allowed me to get professional experience and springboard into some serious money very quickly.

It is well-known and common in this field to move jobs every couple of years in order to gain significant pay increases. That doesn't mean it's always the right choice given your situation, but it is definitely a reliable strategy. For example, you can get a first job at $32k and gain two years of experience, then apply for a new job, demand $60k+, and get it. Then in your next job ask for $90k and get it. This is compared to staying at the same company for six years and getting marginal wage increases depending on how much they value you, but it depends on the company. The good ones will have paths for you to grow through the ranks and make pay jumps.

#### Am I smart enough?

This is a pointless question rooted in **imposter syndrome**. I'm five years into my career and I still deal with it myself. Spending time thinking about this is a waste of your time and energy. Practice a little stoicism and stop worrying about something out of your control. Your time is better spent getting started on learning and seeing if you enjoy it or not.

#### Don't I need a degree?

A person with a degree is going to be looked at more favorably than someone without given everything else is the same. A degree represents their dedication, four years of learning and experience, and minimum knowledge of certain topics to an employer. That shouldn't scare you. A year of domain-specific learning about the position you are pursuing will put you in a good place to apply for jobs with your own proof of knowledge.

#### Aren't I too old?

Ageism is a real thing. It can be a problem at slimy companies that expect their employees to work more than 40 hours for free because younger people are less likely to have outside obligations like a family. It can also be a problem if you expect to be paid more because you're older and your younger counterpart is willing to be paid less. Otherwise, there's nothing disqualifying you from making the switch.

## Resources for getting started

The best thing you can do is jump right into learning! If you want to get your feet wet into some web development, it is universal that you will need to learn HTML, CSS, and JavaScript. I don't think you should rely too heavily on any single resource for learning as a self-taught person because that leaves you open to blind spots. So I'll dump a bunch of resources of different types that I've used over time.

- [Codecademy](https://www.codecademy.com/learn/paths/web-development) - This is where I started. It holds your hand quite a bit (at least back when I used it), so make sure you break out of it at some point and start working on things independently from the website.
- [The Web Developer Bootcamp (Udemy)](https://www.udemy.com/share/101W9CAkETdlpUTHo=/) - A great course that will help you set up a development environment on your own computer, learn the important concepts, and then get you building full-fledged projects.
- [Mozilla Developer Network (MDN)](https://developer.mozilla.org/en-US/docs/Learn) - This is a website that you can use as a reference whenever you need to remember how to do something or want to learn the basics of the web, such as [how the web works](https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/How_the_Web_works).
- [Free Code Camp](https://www.freecodecamp.org/)  - Similar to codecademy. A free, guided course to teach you web development front to back.
- [The Odin Project](https://www.theodinproject.com/) - Yet another guided course that gives you options on which stack of technology you want to learn.
- [Stack Overflow](https://stackoverflow.com/) - This is the place that's often going to show up at the top of your search results when searching your code-related questions. It's a great place to get those answers that will help you move along. Learning to use a search engine well is an important part of being a developer!
- [A collection of resources](https://github.com/bmorelli25/Become-A-Full-Stack-Web-Developer/) - This is an extensive list of resources another person has come up with. Some of the ones I shared above are also on this list. It's a couple of years old now so some resources on it may be outdated, but use your discretion.

I think this should be enough options to help you hit the ground running head first into your new career! Let me know if you have any questions and I can answer them directly. If I get a lot, I can write another post that expands on this one.

Give it a try and see if you like it—you don't have to take a huge risk to find out if it's for you. This could turn out to be the beginning of a very lucrative and fulfilling career. I wish you the best of luck on your journey, and I hope to see you out there!

***

*P.S.: Once you're getting started in your career, look out for my posts about how to have a successful career as a developer. They'll be coming soon!*