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.