Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm 5 years out of a unrecognised university where I did Software Engineering. First job was VB.NET, one job was Python, Linux and Web development. I feel cast as a web developer.

I'd love a role doing C but no one is interested in juniors if the applicant hasn't got 3 years of C development experience already. I've done some C and a drop of open source coding but I'll never have the confidence to convince someone I know absolutely what I'm doing. Do I just spend more and more time letting life pass me by as I sit in my room on a friday night writing a C problem "for the sake of learning more C"

Basically I'm just not sure I want to continue my career if it's going to involve nothing but high level, machine abstracted, business logic and as interested as I am in low level development and enjoy reading books by Taunembaum I struggle to see how I can make the jump and I just feel life would be easier if I got a job in a cafe in Amsterdam rolling spliffs for customers.

My ideal job, being a paid member of the Fedora development team seems so far away, without anyone to pay me to learn the skills to get there, and the only way would be to literally spend weeks and weeks of my life contributing code without recognition for free and without any guarentees at the end. Not that I've contributed anything at all so far.

Are there any career paths that are logically set out so that jumping between roles is "correctly" incremental and where hard work and learning does eventually lead to the kind of places I might want to go? [ and also getting paid at the same time? ]

share|improve this question

closed as off-topic by MichaelT, GlenH7, ratchet freak, gnat, Dan Pichelman Sep 7 at 23:11

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, GlenH7, ratchet freak, gnat, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

Maybe I'm just depressed. I just blatently failed an online technical test for a C based position where the questions were insane. It wasn't even a coding challenge. Questions about DNS caching, fix an unreadable bash line, explain why I don't want to run that :(){:|:} fork bomb thing I recognised from memory. Explain ZFS and fuck loads others I can't remember. It's got me feeling the gap can't be overcome. How do you deal with that? –  Philluminati Feb 16 '11 at 21:01
That stuff is domain knowledge, not C knowledge. They were obviously looking for a Unix expert, presumably to have somebody write systems software. –  David Thornley Feb 16 '11 at 21:17

4 Answers 4

up vote 3 down vote accepted

While there may exist somewhere in the world where career paths are logically set out I haven't found them and doubt I'd ever find them but that's just my opinion on the matter. Maybe you could start a C programmer enthusiast group that could be a way to discuss some C coding challenges with others that work in the arena that you want to pursue? This is just one of many ideas that could work as a way for you to get where you want though you have to have at least a little creativity and tenacity to get there.

Part of your career is what you make of it. If you want to be a C programmer, why not apply for positions where you'd have to know some C and see if you could get in at the junior level and work your way up? While I don't mean to make this sound easy, it is certainly possible if you have the will and creativity to find a way that works.

share|improve this answer

Sell your knowledge, experience, and programming ability at interviews, not your known languages.

If you know the position is for a specific language, be honest. Tell them you have not worked with it in a professional environment, but make sure they know that you understand it, have played with it, and can easily learn the syntax. Make the point that most languages are very similar and that it is easy to translate what you would do with one language to another.

Also, be sure to brush up on the language, current design patterns, and common interview questions before the interview

share|improve this answer

Good question, not sure how much of an answer I can give.

My advice would be to keep trying to get your foot in the door. There's a better than fair chance that someone eventually will let you into a role more to your liking. Once your foot is in the door, it should be much easier to advance through the ranks to your desired end goal.

Be honest in interviews and state that while your experience is in web development your true interest lies in systems level programming. View your web dev experience as a positive. It is depth in your knowledge, what you've worked on gives you additional perspective even if the field of programming is different. Sell it that way.

Quality code that you can show employers will likely get you far. I would hope that quality code in any language and/or framework could be presented as such and help with that initial hire into the C world.

Of course, any personal projects or open source contributions you can accumulate that align with the type of projects you hope to be employed to work on will give you solid evidence that you can perform in the new language.

Best of luck! Don't get discouraged!

share|improve this answer

I've had good luck stating the skills I want to use on-the-job on my resume in an "objective" section at the top when applying to jobs. So you could put something like, "A software development position with opportunities to use and grow my C programming skills" as your objective, for example. Your cover letters could be another good place to put this information.

Then emphasize those skills and experiences in your resume and cover letter that lend themselves to programming in C or towards your ideal job.

Put this resume up everywhere. Recruiters do cold-contact sometimes. I get a fair number of cold-contacts off of LinkedIn.

Once you get into the interviews, make sure you interview the company as hard as they are interviewing you. Unless you really need work, don't take jobs that don't get you closer to being the kind of person that gets hired for your ideal job. Consider interviewing around every year or two, both to stay in practice and to make sure you aren't missing out on better opportunities. And remember that failures are the fastest way to figure out what you lack that you need for success. Take notes, laugh at yourself, move on.

People switch disciplines in their careers all the time. Just have a good explanation for the switch, and be prepared to keep moving around for a while until you find a good place to settle down. It might take a few years, so be prepared to work at it until you succeed.

share|improve this answer

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