So, people often ask me for my advice when it comes to pursuing these self-taught routes as a programmer and I myself am a self-taught programmer.
I've been in the industry for three years, so today I've come up with the top five pieces of advice that I want to give to those considering this route.
I think a lot of people realize this, but when you choose to become a self-taught dev, you're still going to have to put in a lot of work comparable to the amount of work if you were at a coding boot camp, or if you were in college, the difference between college and being self-taught as you can dedicate all your time to learning code and coding principles as a self-taught programmer it's going to be your responsibility to pretty much figure out everything for yourself and this can be a challenge before a lot of people, people often ask me can I learn to code and get my first programming job in six months. Or they throw some arbitrary number out there, and I don't think the answer is as straightforward as some people hope it is.
The thing is, it's going to completely depend on the amount of effort that you're willing to put in, and how fast do you pick up on concepts. If you put in the work, I think six months is definitely possible for some people. But don't get too caught up on the timeline. The best way to figure out how long it's going to take you is just by starting by taking action, which leads me to my next point.
You pretty much have it all laid out for you. I mean, you're told what language you're going to be learning. What tech stacks you're going to be using and what projects you're going to be making as a self-taught programmer? You don't have the luxury of being told exactly where to start, so you have to figure it out for yourself, and this can be really stressful. A lot of the time you don't really know what language to start with. What tech stack to teach yourself with your kind of overloaded.
With all this different information from all these different resources from various individuals online, let me let you in on a little secret, it doesn't matter where you start learning. It doesn't matter what your first language is, it doesn't matter where your first tech stack is. Seriously, when you're seasoned dev, you should be able to hop from one language or one tech stack to another.
I've had to learn languages for previous in the past such as PHP that I literally don't have any use for it today, was it a waste of time that I picked up on PHP? Absolutely not, because it only sharpened my skills as a programmer. Some people would like to say you should start with C or C or one of those lower-level languages. So, you understand memory and pointers a little bit better, and I'd say that's generally pretty good advice.
So, I do consider myself self-taught, but I did start in university when I graduated high school (SHS) and while I was in University, I attended a coding club and I also attended. Every networking or career fair that my college offered that I was aware of anyways, getting your first programming job is definitely the hardest, especially if you're self-taught Make a LinkedIn reach out to recruiters on LinkedIn and attend tech events and tech conferences and I get with the current state of the world that it is hard to meet up with people or attend conferences, but in the meantime try to build up your online presence and again try to do some networking virtually somehow and make a plan for when things do open up so you can attend conferences and tech events in the future. So don't be afraid to put yourself out there, which leads me to my next point.
If you wait for the right moment to apply for that job to work on that side project to attend that tech conference. That moment will never come every time I've had a big change in my life, I've never felt like I was 100% ready when I had my first. Firsthand how hard it can be, to put yourself out there and spark up that conversation. But again, you just got to take that leap and put yourself in that situation and it gets so much easier the more times you do it. And also, never turns out the way you make it out to be in your head. As programmers, we tend to think of all the outcomes in a very logical pattern and this can be pretty detrimental and social circumstances. So don't think about things too deep and those social situations and just go for it. And for my final piece of advice.
Self-taught may not be for you if you're dead set on programming as a career, but you keep failing time and time again to sit down and teach yourself or stick to that curriculum you made for yourself. Or you just really struggle with doing this alone. At some point you have to sit yourself down and ask yourself the question, can I do this on my own? And if the answer is no, that's totally OK for a lot of individuals going to college or going to a coding boot camp is the best way to learn. Having that formal structure, having those teachers. There's a like-minded peer that curriculum already laid out for you. All those things are great and at some level, if you're self-taught, you need to kind of emulate these things yourself. For people transitioning out of high school. If you know right away that you want to become a software developer, I would recommend just going to college and getting that computer science degree. But for individuals who? Let’s say I already have a degree. Maybe it's not a computer science degree and they want to make a career change or just a career change. In general, I would really recommend trying to sit down and teaching yourself on your own. And if you really struggle with that again, there's no shame in going back to college or even enrolling on a coding boot camp to learn code
Anyways, that is my advice for those who are thinking about becoming a self-taught programmer. Being self-shot can be a lonely road, but it doesn't have to be. Make sure you go out of your way to network with individuals. Don't overthink things and most importantly. Just take action, you're going to get a lot of things wrong at first. That's totally OK. I mean, it's part of the process of being a dev.