Being self taught in 2023
Tags: beginners, career, learning
Published: 2023-04-13 13:19:17

For my first post here on DEV, I wanted to give my perspective into what it’s like being a self taught developer today. It’s absolutely a viable career path, but it’s not without its challenges.

For some background, I bounced around majors at a local university in my early-to-mid 20’s, but didn’t feel super passionate about anything. I started taking some CS classes and pretty quickly decided that was the path for me. However I had my first kid on the way, I didn’t want to spend 2-3 more years on a degree, and it seemed like there were plenty of good resources out there to figure this stuff out by myself. So I went for it. 

I quickly learned a lot of coding principles, but struggled finding meaningful ways to apply what I’d learned. Web Developers were in high demand in my area then, so I took a short coding bootcamp course to get up to speed on webdev specifically. Shortly after that, I landed a job at a dev shop using python and AngularJS (or whatever they ended up calling Angular v1). I’ve had 4 positions since then and can comfortably call myself a senior dev at this point.

## So what have I learned?
Like I said, you can absolutely make a career of software development without a formal degree. But there are trade offs. Here are some of the things I wish I knew when I started almost a decade ago:

### You’re at a disadvantage
This goes without saying, but if you’re self taught and competing with college grads for positions, it’s an uphill battle. You need something that sets you apart. That can be an impressive GitHub repo or personal projects, open-source contributions, social media presence, blog posts, etc. Even if you really are the most qualified candidate, on paper your resume is likely still going to be less attractive without something along those lines.

### There will be embarrassing gaps in your knowledge
Whether it’s fancy maths, the OSI Model, Big O notation, or one of a million other things (those are just 3 of mine), there are going to be things you feel inferior for not knowing. You’ll likely focus on practical, applicable areas of study which will be all you need 98% of the time. But those more theoretical and academic subjects _do_ come up. And you’ll feel like an imposter. And it’s okay. Here’s 3 reasons why:
1. You can learn that stuff on the job. You taught yourself how to write instructions to make rocks do math. You can figure out some of this other stuff too.
2. College grads don’t know everything either. I know it sounds crazy, but even folks with university degrees get impostor syndrome. It might be about different stuff, it might not. It might even be about you. But no one knows enough to have 0 perceptible gaps in their knowledge.
3. Most people like answering questions! It’s just human psychology, but most of us feel pretty great when someone asks us a question we have the answer to. So just ask people stuff! If someone looks down on you because of what you haven’t learned, that’s not somebody who’s opinion is worth much.

### Take job requirements with a grain of salt
Many job postings will say they require a degree. Some will accept “equivalent experience”. Don’t be deterred by these requirements. If you feel you are qualified, can perform the duties of the job, and meet other requirements satisfactorily, just apply! Write a cover letter detailing why you are a good candidate regardless of educational background. Don’t feel like you have to skip job applications strictly because of education requirements. I have been told by multiple managers that those requirements are often more HR boilerplate than anything. If you want the job and can do it, go for it.

### Don’t expect a FAANG (MAANG?) position right away
A few people at my coding bootcamp thought that they would be able to get jobs at Twitter, Amazon, Reddit, Microsoft, Facebook, etc. right out of the program. While it’s not technically impossible, I wouldn’t invest too much time into pursuing those positions right away. Their education requirements are more likely to be actual _requirements_. If working at a massively successful tech giant is your dream, it’s probably going to take a lot of work to get there, and a college degree may genuinely be your best/only option. That being said, none of my 4 jobs so far have been at huge companies, and at this point I’m not sure I’d ever want to work for one. There is - at least for me - a real sense of satisfaction in being one of a small handful of developers responsible for your company’s entire product. It’s not going to be for everybody, but I would strongly encourage getting some time in working at dev shops or startups. It builds character. Probably.
<hr/>
These are a few of the insights I’ve had as a self taught senior dev. It’s pretty neat to be in an industry that largely cares more about somebody’s ability to do the job than whether or not they have a fancy piece of paper with their name on it that they got from a university. If you’re just getting started and are on the fence about getting a degree or not, I’m not going to tell you you should or shouldn’t. But I will say that you _can_, and you can be quite successful and happy doing so.