I’m a little over half done my CS degree. I love programming, Linux, etc. I am considering getting CompTIA A+ and Linux+ this summer with pirated Udemy courses. I do coding projects too, like I am almost done my homebrew NDS game, threw together a Tkinter pomodoro app last week, and in the past I made a command line program that computes a readability score on a body of text. Finally, I am participating in 100 days of leetcode problems together with my CS club. So I’ve done a lot to move towards coding professionally.
The question is what kind of career should I go for to suite my goals in life. I would like to be able to own a place to live in Quebec (don’t live there yet) whether it is in MTL or a rural area, not sure what I want yet. So software dev. gets a point for higher income, I think, plus it’s what I’ve studied for, mostly. But it’s important to me too that I have free time outside of work and so can participate in social movements. Would working in helpdesk allow a better or worse WLB? Would it be more likely to be unionized and thus a better place from which to participate in tech labour struggle? I’d really like to achieve fluency in French and Chinese (currently a beginner and intermediate learner respectively) eventually, and maybe the IT world would have me talk to people more. Is it easier to break into than software, like, so much easier that it would be worth changing course, or just doing IT as a stepping stone for my first co-op (internship program in Canada) or two?
Interested in others thoughts on how to proceed here.
For the meantime I think I’ll start the A+ course because it can’t hurt, and keep working on my DS game, cuz it’s almost done.
I don’t even know if I want to do either of those professions, I could see myself teaching English too, to Francophones and Chinese especially as I want to learn those languages…
I usually say that the lazy dev is the ultimate generic knowledge worker. If you don’t know how to solve a problem, get a lazy dev to do it to figure the path of least resistance. A skilled lazy dev will optimize for solving the most problems with the least manual work and code.
It’s very hard to become a lazy dev though. You need to learn a lot about everything, to find the ideal touch point for the light solution, to design the simplest system. But the structured way devs learn to think, apply so well to so many different contexts, if you’re open to explore that.
So… Aim for the lazy dev knowledge. Start from dev and learn about anything you find interesting that touches your current work. Then again, then again, then again. That should put you in a comfortable position to negotiate for the work you’d like to do, and for the salary and conditions you’d like to have, given the breadth and value of your knowledge.
But also, don’t wait for it to build the study and social routines you’d like to have. :)