Hey,
I am unhappy with my current job and I seek the strategy to improve my life situation. It took me a long time to sort out my personal problems, so I am rather late to the party, but I finally feel ready and capable to try and learn something new.
I have basic knowledge of how GNU/Linux works and very limited knowledge in C++ programming. I enjoy spending my time on learning new things in that subject and I would like to use it as an advantage to earn money doing it. Yes, hobbies turned into work sometimes ruin it, but I have no better ideas at the moment.
I already figured out that costly professional courses may be a waste of time and money or at least that’s what I’ve read online. The only truly good thing is that they sometimes offer help with finding job at the end of the training, which might make things easier. I am not sure what to think about it.
Is the perspective of choosing a job in the IT field and changing a job realistic at my age and without any formal education? If so, do you have any advice for me on how to even begin the journey?
I know that I did not specify anything, but I’m trying to get an advice before I make any decisions and I will be happy to receive any suggestions.
Cheers!
Even if you were on the older side that’d still be very doable if the interest and time available is good. Late 20’s is just too young though, you are definitely not too old to try this.
My advice is after you pick a language that suits your interests (say C++ for bigger/efficient projects, or python for data science, JS for simple web stuff). Most languages nowadays have extremely similar syntax and functioning, so once you’ve learned one learning a second is much easier.
After that what worked for me and a couple peers was both doing simple puzzles from websites like Project Euler and following that language’s community preferred tutorial/book. You don’t have to actually get the puzzles solved and lots of them need some tricks, but at least it’ll get you acquainted with the language syntax and functioning. For me the starting book was “The C Programming Language” which still reads fantastically nowadays.
The main issue I’ve found for self-learned programmers is the awkward phase between knowing how to make self-contained small programs and having the know-how to participate in production scale ones. The available material out there is very sparse in this area and if you don’t reach out you could find the experience very lonely and frustrating.
I think one possible solution is to pick some open source project you already are familiar with as an user, and trying to participate in that community and help with some easier issues like bugfixes. I think that helps learn a lot of good practice just through sheer exposure and interaction, without having to pay for courses or the pressure of an actual job. For instance if you like games and C++, there’s Godot or if you like Rust and Lemmy, there is Lemmy itself.
Also don’t fall into the trap of trusting accreditation too much. Programming is mostly learned through practice and a lot of courses don’t bother teaching important things like how to build a proper workflow. I’ve seen people come out having written multiple papers on AI but that still didn’t know how to use git.
And most importantly, don’t be afraid of making mistakes and take all the time you need. Those are the most important parts of learning. Feel free to ask more questions!
This community never fails to surprise me in a positive way with contentful advice, encouragement and willingness to engage and help.
Sincerely thank you for all the tips and I will not hesitate to come back here if I’ll have more questions.
Being a programmer is a painful experience but we love it!
I’ve been in the field for 20 years and I don’t have formal education in it. For the last 5 years I started to look a bit further in theory, and I wasn’t mature enough to understand its relevancy earlier, and it isn’t truly needed in the first years.
I think my advice is to figure out if you love the painful process of programming. The feeling of knowing nothing (or very little) about the task at hand, banging your head against the wall until you do, and being proud of the little you achieve that no one else will understand. If you do, you were born a programmer, and you can use that feedback loop to never stop learning, which is really what the job is about.
If you’re not cut for programming, you can still enjoy other stuff in IT, like system health monitoring, security, etc. And it’s useful to know early that you don’t want to be in coding, you can also build a career around those.
For immediate steps, pick a simple language, go to https://adventofcode.com/ and figure a few of the exercises out until you are starting to feel confident. After that you can start thinking about bigger projects.
Let me know how it goes!
I will follow your advice, experiment a little and try to find out how I feel about the possible options. I might come back to this thread later if I have any more questions and I’m glad to be a part of such helpful and encouraging community.
Thanks for the advice and taking the time to share your view on the subject! I appreciate it a lot.
deleted by creator
I have some anecdotal info that is highly relevant, but I can’t stand typing on my phone that long. Reply to this so I’ll remember to post properly when I have a keyboard available later tonight.
Same, sure thing. Respond when you have a spare moment, please.
Yes. You still young
It is very much possible. But also keep in mind that this field and this job will be changed with AI (already has the past couple of years and even more in the last months)
Thanks for the reply. Can you elaborate on the subject or provide some resources to read?
I’m out of the loop on AI. Has that much changed besides co-pilot within the past 3 years? I haven’t heard of any cool AI tool that changed anybody’s workflow on the non-AI areas much.
It is absolutely possible. I know people that changed into programming from television production, teaching grade school, and many other things at various stages of their life.
The important thing is not getting credentialed, but actually learning how to program at a level that will get you hired. It’s probably easier to get an entry level job as a linux admin than an entry level job as a programmer. If you’re in the US, you might want to consider taking the civil service exam as that will open up a ton of low stress high stability entry level jobs that involve IT administration.
Programming you’ll need to effectively be capable of doing the equivalent of a bootcamp without going to a bootcamp. Bootcamps are expensive. If you’re part of a socially marginalized group you might be able to find free training through various organizations. Or, you can find a bootcamp equivalent training set of videos maybe. Either way, it’s an intensive path to follow. You could do it in a matter of months but you need to be programming every day for many hours, which means it at least feel like having a night job and at worst it means quitting your job and finding another way to survive while you program full-time to get your skills developed.
I don’t think bootcamps are particularly good at helping people get hired, but I’m biased because I have a great network of people that support me in the field. If you don’t have that network, a bootcamp might actually help you get connected. Your network is the second most important thing for finding jobs you love, the first most important thing is being honest with yourself and getting out of bad situations before they burn you out entirely.
Join Slack and Discord communities, attend meetups in your area, find some sort of curriculum you can follow online, and take the civil service exam (if you’re in the US) and I think you’ll be able to get where you want to go. No, you’re age and your past career do not limit you.
I very much appreciate your response. Motivating and with few interesting remarks that I will keep in mind.
I’m relieved to know that administration is accessible to me since that is my primary interest at the moment.
Unfortunately I have no privilege of quitting a job at the moment and I’m not from the US, but I have a relatively reliable strategy of saving some extra money which might give me a few months of comfort of not working full-time, so it seems doable.
Thanks.
It’s definitely possible and there actually quite a lot of sysadmins and programmers without any formal education in that field, including ones that started late. If you want to learn on the job, the most important thing is to get a job that will get you there, which means that you’re going to be working outside of your comfort zone. Some companies might be willing to put in the effort to get you up to speed if you can convince them of your interests, motivation and basic skills.
For programming it’s hard to start working with very limited knowledge, so for that one you might want to do one of those boot camps where you get paid while learning and end up with a job that you have to commit to for a year or so. Or maybe you can find a company that teaches programming in house.
For sysadmin work it already helps if you’ve got a basic understanding of GNU/Linux, because that will help you solve new problems and gain knowledge. A colleague or mentor that’s willing to teach you things goes a long way. It also helps to have a basic understanding of Bash and/or Python if your job involves scripting (which it probably does). Chances are you’ll end up using configuration management as well, such as Ansible. It helps if you know what that’s about.
You can develop skills in your free time, but in the end you’ll learn much faster when you really need them in practice, so if you’re motivated, just go for it and see if there’s a company that’s willing to invest some time.