A college education, while still valuable, isn't necessarily for everyone. For one, it's typically one of the largest expenses that you will ever have in life, and there's no guarantee that it will pan out and pay for itself in the end. According to data from CollegeBoard.org, the average tuition in the 2021-2022 range was around $10,740 for in-state and $27,560 for out of state. And if you multiply that by a number of years, things add up quickly.
Many people end up graduating with a degree, only to realize that they're better at something completely different. And that is an expensive lesson to learn.
But secondly, and maybe more importantly, it takes an immense amount of time to get a college degree these days. 4 Years may sound trivial, but truthfully, it's a good percentage of your overall life, especially when you're doing 10+ hour days running from classroom to classroom. And seeing as how most universities to this day still don't have a strong focus on web development, you might end up spending years building up debt only to realize that you didn't really get what you thought you paid for.
So is there a route that takes you from being total noob at programming into becoming a legit professional high earning web developer?
The answer is yes, but it might not be any easier than the route mentioned above. But it can definitely be more affordable and take much less time.
1. Pick a language
Before you even begin, this is where you could easily get derailed. And I've personally met many younger developers that have fallen into this trap and have never managed to make it out.
Often times new developers will spend a few months learning a single language, such as JavaScript, only to read about Python one day and completely abandon their previous studies. Then after a few months of Python, they will read about another trendy language, like Go, and focus all of their attention in that direction.
And on and on, people do this for years. They never really get decent enough at any one language in order to gain proficiency and be hired for an actual job. I've done the same myself in the past and typically, I've never really gotten beyond the "hello world" application phase when adopting a new language or framework.
And I will say now, nobody will hire you because you set up a 'restaurant booking system' in the language of your choice and posted it up on GitHub.
Because learning a single language (learning it well) takes an enormous amount of time and energy. And that's why college textbooks on programming languages such as C++, are typically over 1000 pages in length.
So pick one road, and stick with it for the long term. It might take 6 months, 1 year, 2 years or more in order to start to feel like you have a grasp on a particular coding language. But really, that's the point where you've gained enough experience to begin work on a production level enterprise application.
2. Start taking courses
Now that you have a direction that you are aiming for, it's time to pick up the right tools for the job. I don't recommend any one particular course, because every single individual has different learning requirements and preferences. But a few of the more popular options are:
- Udemy
- Coursera
- YouTube
- FreeCodeCamp
Pick the one that you aren't going to get bored of quickly and abandon it halfway through. When I was first learning C# years ago, I spent hundreds of hours watching Microsoft's video tutorials on the subject, and that's because they were very well made and for the most part, they were able to keep me engaged for hours at a time.
And FYI, Microsoft still offers fantastic learning material for developers at any stage of their career. You can check out their lessons on .NET development right over here.
I also typically recommend you pick a course that's lengthy and in-depth, even if costs a bit more. If you've just spent 20 hours hearing the same person go over variables and objects, odds are you won't want to hear somebody else go over classes and frameworks.
Consistency is going to become the most important aspect of your mastery. And that's because you have to stick with it no matter how boring it gets. Because believe me, it is going to get boring once you get into the more technically complex details.
But take your pick and shop around, because there are thousands of new courses getting created on a daily basis currently.
3. Consider a bootcamp
If you've spent a few months on a single programming language, and have binge watched various online courses, and even built out various sample projects and are still having a hard time understanding just what you are typing, then it might be time to consider something a bit more formal.
Coding bootcamps have grown in popularity during the past few years, to the point that now many Universities offer micro-degrees in various web related programming languages and they do so through short term bootcamps.
But essentially, what you get here, is what you don't get when self-learning. You get some level of accountability and structure. Accountability, because odds are somebody will be looking at and reviewing your work on a daily basis. And structure, because entire courses that have been tried and tested are usually given to students. This ensures that you don't accidentally wind up reading about things that are irrelevant to your particular career path, like JavaScript developers reading about C.
Most coding bootcamps though are not cheap. Cheaper than a formal college education, sure. But not cheaper than a dozen online courses. Which is why I placed it third on the list. Only consider a bootcamp, if you are the kind of person that for sure needs a second pair of eyes and ears on a daily basis and if you're finances allow for it.
But outside of having a more rigid curriculum, coding bootcamps are also a great place to start to build out a network. Large tech companies are even starting to source talent from the more popular coding bootcamps in order to help fill their open roles. And this is only going to get more prevalent as time continues and demand increases.
4. Work on your branding
In the corporate world, having a college degree kind of becomes your brand. But if you choose to go the route of self-taught, then you are going to need something else. And that something else, can be a number of things, including:
- A portfolio website
- A strong LinkedIn account
- Bootcamp accreditation
- Client work
- Open-source work
So in a sense, it can be just as hard as having gone through college. Except here you don't have professors walking you through the material or friends to copy work from.
You have to build your own portfolio (or get a really good template), add connections on your LinkedIn account, take decent quality business headshots, graduate from a bootcamp or get clients. And if you don't have any of those things, then you don't really have any kind of branding.
But truthfully, you don't have to do all of these things all at once in a single day. You can start working on each item in a day, but making progress on any of them will take several months of work if not years.
The biggest test when it comes to branding, is in the search results page when somebody Google's your name. If you can get one URL to show up with your actual information on it on page one, then you are indeed making progress.
For the most part, this blog has become a huge part of my personal branding. And that's mainly because it is going on strong for over 7 years now and has hundreds of articles. But it takes work.
5. Meet more people
When I used to teach for an online coding bootcamp, I would often hear many graduates talk of how they got job interviews simply by meeting other people, either in person or online. They would go to meet-ups or hackathons or fireside talks and bring their business cards along, just in case.
The biggest benefit of going to these events, is that you're pretty much only meeting people that directly work in the field that you are interested in. And there's almost always someone that is either hiring directly, or that knows of someone who is.
And that's huge, because if the lack of interviews doesn't get you, then your lack of interviewing experience definitely will. When you're just starting out, don't make the mistake of thinking that the next interview is the one for you and that if you don't get it that it's over.
Even with a college degree on hand, getting my very first coding job took over 20+ in-person interviews and countless more phone interviews. And while initially, the first batch of rejections takes a toll on your self-esteem, eventually you come to terms with the fact that it is indeed a numbers game.
So have a strategy ready, make business cards, accept those LinkedIn invites and start to grow your network right now.
Last words...
If you had asked me 15 years ago whether it would be possible to land a high paying tech job without a college degree, I would have probably leaned on the side of 'no'.
The industry was too specialized, and the internet wasn't as widespread as it is today. Most coding being done in the corporate world either involved some kind of military defense contract or some kind of in-house software that no one could afford to learn at home.
But things are way different now. And my answer has completed changed to an 'absolutely'. And I say that with confidence, as I have had dozens of my own students go on to land programming jobs at big tech firms coming directly out of a 6 month coding bootcamp.
But it's not without hard work and dedication. So if you're willing to put in the hours, and you have the patience to self-govern yourself in front of your PC, then yes you can totally go out into the world and become a professional software engineer. But you have to put in that work early and consistently to get there.