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 currently a Ph.D. student in Biomedical Engineering with a concentration in computational biology and am starting to think about what I want to do after graduate school. I feel like I've accumulated a lot of programming skills while in grad school, but taken a very non-traditional path to learning all this stuff. I'm wondering whether I would have an easy time getting hired as a programmer and could fall back on that if I can't find a good job directly in my field, and if so whether I would qualify for a more prestigious position than "code monkey".

Things I Have Going For Me

  • Approximately 4 years of experience programming as part of my research.
  • I believe I have a solid enough grasp of the fundamentals that I could pick up new languages and technologies pretty fast, and could demonstrate this in an interview.
  • Good math and statistics skills.
  • An extensive portfolio of open source work (and the knowledge that working on these projects implies):

    1. I wrote a statistics library in D, mostly from scratch.
    2. I wrote a parallelism library (parallel map, reduce, foreach, task parallelism, pipelining, etc.) that is currently in review for adoption by the D standard library.
    3. I wrote a 2D plotting library for D against the GTK Cairo backend. I currently use it for most of the figures I make for my research.
    4. I've contributed several major performance optimizations to the D garbage collector. (Most of these were low-hanging fruit, but it still shows my knowledge of low-level issues like memory management, pointers and bit twiddling.)
    5. I've contributed lots of miscellaneous bug fixes to the D standard library and could show the change logs to prove it. (This demonstrates my ability read other people's code.)

Things I Have Going Against Me

  • Most of my programming experience is in D and Python. I have very little to virtually no experience in the more established, "enterprise-y" languages like Java, C# and C++, though I have learned a decent amount about these languages from small, one-off projects and discussions about language design in the D community.

  • In general I have absolutely no knowledge of "enterprise-y" technlogies. I've never used a framework before, possibly because most reusable code for scientific work and for D tends to call itself a "library" instead.

  • I have virtually no formal computer science/software engineering training. Almost all of my knowledge comes from talking to programming geek friends, reading blogs, forums, StackOverflow, etc.

  • I have zero professional experience with the official title of "developer", "software engineer", or something similar.

share|improve this question
Programmers.SE is not a résumé critiquing service. –  user8 Mar 9 '11 at 2:35
@Mark Trapp: no one said it was. Which doesn't mean you cannot ask résumé critiquing related questions. This question and their respective answers can be helpful to many others, including myself. –  jsoldi Mar 9 '11 at 5:52
add comment

closed as primarily opinion-based by MichaelT, GlenH7, Doc Brown, Kilian Foth, Dan Pichelman Jul 3 '13 at 17:38

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

7 Answers

Without repeating and +1 to what ammoQ said. employers are interested primarily

  1. Can you get the job done?
  2. Do you have a high Return On Investment?

Rest of the things are just plus points . I have seen my colleagues who have no formal programming education but are excellent programmers with a very logical mind and outstanding critical thinking ,way better than others with cs degrees. Things you listed as going against you are definitely the points employers would capitalize on to negotiate your pay, other than that there is really nothing going against you .

share|improve this answer
Not sure about the 'do you come cheap' part - something more like 'are you good value for your cost' –  Kirk Broadhurst Mar 9 '11 at 6:40
I don't like to think of myself as 'cheap', but better value. There are plenty of $20/hr programmers around but I like to think it will be cheaper and more effective to hire me than to hire three of those guys. –  Kirk Broadhurst Mar 9 '11 at 23:27
add comment

First of all, I wouldn't worry too much about having a degree in something other than CS. I've worked with a lot of programmers who have degrees in other fields and it's not usually an issue. Most companies just want to see a degree in something as a way to prove that you have learned how to learn, and that you can follow through with something (further, more cynical reasons omitted), etc. Very few programming jobs have you doing actual computer science day-to-day anyway.

Second, you mention "enterprise-y" languages, frameworks, etc. While I'm sure if you spent some time spinning up with Java or C# you'd be able to get an enterprise position, don't forget that not all development jobs are enterprise development. There are a lot of jobs out there doing scientific computing in general, and biological and biomedical computing specifically, that you might find yourself more suited for. Your degree would probably be more relevant for those jobs, and you might find yourself having an easier time of getting hired since they often prefer developers with a background in the field you'd be developing software for (I interviewed with a company not too long ago that was looking for a developer, but specifically were trying to find someone with a masters or PhD in biology or a related field).

share|improve this answer
Right. I'd love to get a job in the biotech field. That's kinda the point of getting my Ph.D. I'm looking to see how much I can fall back on general programming skills if I can't find such a job. –  dsimcha Mar 9 '11 at 4:59
add comment

It seems to me that this is going to depend a bit upon where you want to work as opposed to what sort work you want to do. The bio tech sector is quite hot right now and in that field it's not unusual for people to have a PhD in one field and be writing software in support of a given research project and having cross knowledge of different areas is almost mandatory for some of the jobs.

Likewise, some companies will look at you if you give them a portfolio of code you have written up front so that they can see you know what you are doing. However, this is an area where the PhD might hurt you as they might only want to offer you an entry level position and not want to offer it if they think you will turn it done because the money would also be entry level.

The best thing you can do is just get out there and start applying for jobs and have a solid cover letter that details what you have done. This might be enough to get you interviews at which point you can judge where your weaknesses might be based upon what the interviewers say.

share|improve this answer
add comment

The fact that you have experience and a good track record of deliverables mean companies will want you. The thing that you should be worrying is whether the company is a good place to work and whether it will be an advancement for your career. You shouldn't be worrying whether you are qualified for the job or whether you can get the job.

Just go ahead and try to get the job. During the process evaluate whether it will move your forward. Things to consider for your career may include whether it allows more learning opportunity, more network opportunity, more money or simply more enjoyable work.

share|improve this answer
add comment

I never had any problem getting a job based on my open source projects, which admittedly are not more complex then what you describe you did.

share|improve this answer
add comment

It seems to me that you are still falling for the "other people know what they are doing, but I don't" fallacy. Your experience is surely good enough to get you a job, but you should not act like you are not good enough.

share|improve this answer
+100 if I could. I learned this lesson during the process of applying for my very first graduate position (more accurately after, when I was told of the quality of the other grads, etc). Always bear in mind that 80%+ of people applying for programming jobs aren't anywhere near 100% versed in the technologies mentioned in the ad description. –  Bobby Tables Mar 9 '11 at 1:33
+1, don't sell yourself short. Having an untraditional learning path is just a step away from being a 'specialist'. For you, this would be especially true for say a programing position on a medical project. –  Garet Claborn Mar 9 '11 at 5:09
This is true but his primary proficiency is in D. Not many places are going to hire you without some knowledge in their preferred technology. Unfortunately OPs skills are very niche. –  Kirk Broadhurst Mar 9 '11 at 6:39
add comment

If you can split that post up relevantly into a cover letter and resume, you wouldn't have trouble getting a job.

share|improve this answer
They may hold that Phd against you. Also no one what to hire someone who is only doing this a backup.. so keep that hush, hush. –  Morons Mar 9 '11 at 0:51
Would omitting a Ph.D be considered a lie? Is under-representing your credentials as bad as over-representing them? –  jmort253 Mar 9 '11 at 2:24
You may be able to omit the phd but what are you going to tell them you've been doing for the last few years? –  JeffO Mar 9 '11 at 2:54
@jmort253, PhD is not a criminal record, it is ok to omit it if it is irrelevant to the position you're applying to. –  SK-logic Mar 9 '11 at 11:06
add comment

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