So everything I’ve read and listened to about being a self taught programmer, and the pit falls that many fall subject to says to pick what career you want and then learn those technologies. They say if they could do it over again they would pick the career they wanted and then focus on those skills, but the problem is I have no idea what I want to do in programming.
All I know is that I love solving problems and digging through issues to figure out why things are not working. I love writing and fixing code. So literally anything in the field of software development sounds amazing to me.
So my question is how do I decide what path to follow? Is there a large resource of job descriptions that I can read to tell me what I may be best suited for? How can I know what to learn if I don’t know what I want to do?
Any help or guidance would be greatly appreciated. I’m trying to go about the self taught route as efficiently as possible and I don’t want to waste time learning something that won’t help me in my future career.
In software development “you are what you learn”.
That is, every field, every job requires its own set of unique software development skill-set(s). Anticipating what that is, means anticipating what job you will one day have which I think is quite hard! (if not impossible).
They used to advise young people to pick a person who is currently doing the job of your dreams. Find out what skill-set they are using and study that. But by the time you’re done with that, the job will have changed!
So this is a hard question to answer. Still, I see no other way forward.
Pick a job that you’d like to do for a company that you’d like to work for. Figure out its qualifications (you can email the company to ask but be clear you are only asking as an education exercise), study those things.
Cross your fingers and hope that you have enough curiosity about technology to keep you in the game as things change.
Try everything, concentrated on the skills you like. Rinse Repeat.
It is hard, but you’ll find that you like some languages, methods, stacks, etc more than others. you’ll always have to learn more but you’re path will be much easier. That won’t mean you won’t have to use tech you don’t like, but, hopefully you’ll get to program in what you like to do.
For example…I’m currently an Email dev. I love it but want to do more. This week, in that pursuit, I got learn I hate XSLT. Can I do it now: yes. Do I want to again: no. So I will try to move towards projects and jobs that use XML but not XSLT.
Most folks do not end up doing the roles they originally intended to do. Often times they have to take what they can get (production support ) and then work towards that developer role. It can take months or even years.
I started out when I got lucky with an IT job at corporate after working in customer service. I thought this was my chance to show my programming skills but quickly realize it was a process and data entry job. It took two years of quitting my job, doing a coding bootcamp, and taking on a support job before I could write a single line of code for money.
but that is exactly what a software developer does! So just pick any job posting listed in your favorite company and learn the skills listed. For eg. here’s a job listing for a junior software dev listed in IBM Canada
Find a job listing (or a person who is working your dream job) and just study the things they say are needed.
Part of that is thinking a job of one type gets you to another. And you’re right, it doesn’t. I’m not saying it does. As a dev already, I was given an opportunity to take on a project to expand my skills. I hated it. Lesson learned. If a job description says xslt. I’ll probably skip it.