Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I took a job working as an IT guy (SQL programming, helpdesk, etc.) because I had need of a job (to pay back student loans accumulated from school).

I'm very happy to have a job, but I eventually want to be a c++ programmer. I'm studying my c++ textbooks in my spare time and starting to do some projects with my newly acquired SQL skills.

But the question that keeps rolling around in my head is "will I be a SQL programmer for the rest of my life now?"

In your experience, will spending a year or two at my current job be a detriment in getting into C++ programming?

share|improve this question

marked as duplicate by gnat, Martijn Pieters, Jalayn, GrandmasterB, MichaelT Apr 14 '13 at 16:51

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1 may be a better SE than Programmers for this kind of question though it is somewhat specific to programmers. – JB King Apr 12 '13 at 23:40
"C++ programmer" is not really a career or job description. There might have been a time some 20 years ago when it was almost one. Today, there isn't a market for people whose main asset is coding in C++. There are jobs that require C and C++, but if all you do is study C++, you are not making yourself qualified for those jobs. – Kaz Apr 13 '13 at 0:27
some cos still have c++ programmers. i know one of the biggest authentication people still use c++ in the core with a lot of java. same with drivers and embedded. its small but its there. – tgkprog Apr 13 '13 at 0:30
@tgkprog if he's concerned about getting pigeonholed I really would not recommend learning PHP. – Carson63000 Apr 13 '13 at 3:07
As others have rightly pointed out, you really shouldn't be focusing on C++ if you want to advance your career. It's not used very often and there a better ways to spend your time unless you really love C++. If you want to move into development of devices, device drivers, game development, or other low level architecture focus on C. If you want to do application development, focus on C# or Java. If you want to do web development, focus on web basics (HTML, CSS, HTTP fundamentals), Javascript, and a popular web language like PHP, Python, or Ruby. – Ben Lee Apr 13 '13 at 10:28
up vote 7 down vote accepted

Have a look at this article by Scott Ambler on Generalizing Specialists.

Short version: Yes, anything that pulls you away from programming will indirectly decrease your skill development within programming.

However, the other skills you gain may offset and complement your programming skills. Net effect is that you may be better off by taking a side-track.

In my own anecdotal evidence, a significant detour into the land of IT-not-programming has made me a much stronger programmer. I understand the context of my solutions with a much greater degree of clarity. OTOH, it certainly put a pause on my career progression as a programmer and had an impact upon my salary. All else being equal, that's becoming a fairly ephemeral observation. My path has been programmer -> IT guy -> programmer.

In your own particular case, you're not going to see a loss. "Any" IT gig is better than "No" IT gig and you can keep working yourself towards your nirvana of being a C++ programmer. Keep developing depth; understand the business model; keep working towards programming. Build your credibility as a C++ programmer and keep working towards that goal.

share|improve this answer
Thanks for the article - it helped return some perspective to my job/career search. Good programmers is not necessarily equal to 5+ years of programming experience, though I'm sure that doesn't hurt too much. :) – Rolan Apr 15 '13 at 23:51

Everything else being equal a manager is more likely to pick the guy that doesn't have the break in programming due to him having more programming years/projects under his belt.

Of course you and your experience can be better than some jaded programmer with an unbroken programming history, but if you both interview equally well, the years of experience will likely be a factor.

There are other things that will come into consideration and ways for you to try and get the job. A lower salary request is certainly one thing and some companies may be happy about that, while for others, it won't be a big consideration.

share|improve this answer
Fair enough. It's a real-world answer for a real-world situation. Thanks for the practical answer to my question. – Rolan Apr 15 '13 at 23:58

Possibly this could be a detriment though in a way it could be useful to know if programming as a career choice would suit you. For example, how well would you do if people keep asking for changes that could have you going in circles, quite literally if you get into UI stuff where you are tweaking things by doing a change, doing another change and then being asked to go back to the initial version. There are other aspects of software development that make this the kind of job that isn't for everybody.

However, I'd argue that you should still do the SQL programming job as a way to get used to development methodologies and see if database work suits you or not. Additionally, this job may lead to networking opportunities where you'll find other programmers including some that may use C++ and thus you'd be able to find where they work that could be useful.

share|improve this answer
Thanks, JB King. I've definitely been through some of those UI hoops before, and they're frustrating (also fluid, ever-changing specs fit into the same category), but being able to make something that solves a problem, or enables people to do something is pretty rewarding (and I think that's the part I love most about programming). In any case, thanks again – Rolan Apr 15 '13 at 23:54

Yes. You would have to somehow convince your next employer that you're good with C++ even though you were working on SQL etc. for sometime.

But you won't be an SQL developer for the rest of your life. Probably after 3 or 4 years you'll start to manage and guide teams for bigger projects. Same is the case if you become a C++ programmer. There is a very low chance that you stay a programmer for the rest of your life no matter what.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.