Where do I focus my learning for employment?

First I apologize if this doesn't go in this forum, it is my first time here. Please bear in mind I am not trying to take any shortcuts or anything of the sort, I fully understand the long term work necessary and intend on becoming as fluent in C++ as I can.

I am currently in school pursuing my BS in IT while working full-time+ and have a wife and three kids. As you can imagine, my free time I can devote to learning C++ isn't what I would like it to be(maybe an hour a day Mon-Fri, none on weekends). With the goal of changing careers (before school is finished if possible), what do I need to be more focused on? I guess one way to phrase the question would be something along the lines of "to get a job today, what's the minimum I need to know?" I learn so much better by doing but an hour a day just isn't as much time as my old brain needs. Yes, I know finding a job without a degree will be harder but in this pursuit, I would greatly appreciate any direction towards skills that make an entry level candidate more attractive.

Thank you guys very much.
closed account (1vf9z8AR)
Look before hearing me know that I am in college so no job experience for now,

but according to my knowledge gathered from seniors getting a job as a programmer is really tough especially if you want high paid ones. The best graduates with really good coding skills( like 6 stars on codechef, winner of international competitions) are getting decent packages.

Also 1 hour/day is not sufficient for anything.
Yeah, I wish I had at least another hour every day. Maybe one day. I'm making progress but nowhere near what I would like. I still struggle with a lot but I'm getting there. I still have two years of school left so I suppose there's time to learn. It's just not ideal.
Top few things you will need to do that isn't in most coursework:

learn to use libraries in your code. Most code shops buy or use free 3rd party libraries extensively.

learn to debug (with a debugger and also without, and defensively).
why without a debugger? Running your stub/testing/driver program and spewing out the results is 100000 times faster than step-step-step looking at watch windows etc. You can spew the output to a file and search it and be done before you got to loop iteration #5 with the debugging tool. The tools are awesome but not always efficient. Defensively? That means various things like putting in debugging code that can be activated with a compiler switch or saving run time info to a log file or even bouncing some diagnostic info to a spare hardware port or network connection etc.


learn to work with partial programs. Often you will be working on a huge project with several developers, and need to run your own code with their piece missing.


learn to use revision control software (check in / check out style)

learn a mix of technologies. Code a web page, talk to a device over a usb port, draw some graphics on the screen, have a client/server networked project, do something with a mixed language project, generate some xml with your c++ that is sent to yet another program, etc.

People are going to expect it of you, so learn it: IT support. Learn how to install software, configure computers, fix a Linux box or windows machine that has something wonky going on. Learn to script/batch program, shell commands, and the very basic system admin stuff. Everything expects that someone with a computer degree can install hardware or fix drivers and all that. It isn't usually your job to do it, until it is because the guy who is supposed to do that is away or its your own or co-worker's machine and waiting 5 hours to get it fixed is not as useful as fixing it yourself in 10 min, etc...

While it may be cheating at school, grabbing code off the web to do stuff is efficient and effective. Just have to have a threshold on whether it works or not and how much energy you can put into making it work, but for very small examples you can often grab a few lines of code from official documentation or good sites much faster than recreating it. Larger examples or full programs .. depends on what you are doing. But the code is out there, and re-writing something that worked but is in old style C or C++ or even java or something is still faster than reinventing it.
Last edited on
Excellent information, thank you. I'm still learning such of that is still out of my reach but I'm getting there. I will definitely try to get my debug game stronger once I get a handle on the language more.
It's fun but frustrating right now, it seems every new thing I want to add to the program I'm working on is something new I have to learn so it takes me a couple days of more reading than coding. Feels like it's slowing progress because see things I learned I have to double check a few days later because I haven't used,it. But it suppose that's just the process. I feel a sense of accomplishment which at least keeps,it from becoming TOO frustrating.

Thank you again!
Topic archived. No new replies allowed.