Take the 2-minute tour ×

I'm a EE major who has been working as a software engineer for the past 4 years. Nearly all of the programming that I do at work is in C++. Like a lot of other members here, I'm afraid of being pigeon-holed in a particular area in this industry.

I'm thinking about changing jobs to a new area, such as web or mobile. But because I don't have a CS degree OR web/mobile experience, I'm concerned that prospective employers will have a problem with hiring me--especially since I would not be applying for an entry-level job.

I read in another thread that C++ developers are seen as a cut above other devs. Is this true, and would it compensate for my lack of experience in the relevant technologies? What should someone in my position do to improve my chances?

share|improve this question
Start working on your own or existed free software projects so that they can see your contributions/experience. That's the best proof that you can give them. –  faif Mar 27 '11 at 15:54
Do not undervalue C++, but do read the three of the Scott Meyer's books. Every employer has their own set of subjective preferences. If I were hiring, then seeing a good handle on C++ and Lisp-family language would tell me that this person can pick up Java, .Net, Python, etc. very quickly. SQL is another language that you just have to know. Not sure how much this helps. EE is good enough. Heck, I would hire a math or linguistics major too given that they know the right stuff. I am not in position to hire though :) but I have conducted interviews before. –  Job Mar 27 '11 at 16:11
add comment

1 Answer

up vote 5 down vote accepted

Objective-C is not that far from plain C and sports many OO concepts that you already know. Familiarize yourself with it, write a couple of toy iPhone/iPad apps, or even a real app that would be admitted into AppStore. If a prospective employer can install your app right during the interview and see it work, your chances grow — of course, if the app works correctly.

Also, I can't believe that being into software development you didn't play with technologies other than C++. Look around, maybe your interest in some hot tech you only know superficially (Java, Ruby, Python, C#) or even some 'hairy' tech (Haskell, Erlang, whatnot) is desirable, along with knowledge of C++. This will let you grow steadily in the other tech while leveraging your C++ experience. Most interesting jobs usually want you to tackle heterogenous systems with many inter-technology edges.

As for 'cut above others' — if you've mastered C++, which is huge, complex, and abstract and counter-intuitive, you'll have much easier time learning other technologies, that are slimmer and/or simpler. Also, your hard-gained knowledge of algorithms, data structures, code structure, etc will be reused. With many things, like Ruby on Rails, you can become productive in a week.

share|improve this answer
add comment

Your Answer


