Ask Slashdot: Finding a Job After Completing Computer Science Ph.D?
An anonymous reader writes I recently completed my PhD in computer science and hit the job market. I did not think I would have difficulty finding a job esp. with a PhD in computer science but I have had no luck so far in the four months I have been looking. Online resume submittals get no response and there is no way to contact anybody. When I do manage to get a technical interview, it is either 'not a good match' after I do the interviews or get rejected after an overly technical question like listing all the container classes in STL from the top of my head. I had worked as a C++ software developer before my PhD but in the past 6 years, software development landscape has changed quite a bit. What am I doing wrong? Has software development changed so much in the last 6 years I was in school or is my job hunting strategy completely wrong? (The PhD was on a very technical topic that has very little practical application and so working on it does not seem to count as experience.)
The site that teaches you to code well enough to get a job. Also, hide the PhD.
Many companies are going to think you won't stay or will want too much money. You can hire a PhD from India for $1500 a month.
Unfortunately, many people in the workplace do not like PhDs. With a PhD you should look at the academic world and teach there
I'm just curious on your initial motivation for a PhD? Maybe research/academic is an option?
>technical question like listing all the container classes in STL from the top of my head
Do experienced devs even know this? I've programmed in several languages and I could never give a list of functions on demand. That's what reference material is for.
You honestly dodged a bullet with that one; any company that asks for such a thing has a damaged tech culture.
You don't want prospective employers from thinking that you are intellegent now do you?
Since you didn't mention these two things, they are my suggestion. First pay a professional company to re-write your resume, I did this 3 years ago and it was night and day difference. I think I spent about $800, they also wrote a linkedin profile for me to paste there. Next research and find a good recruiting company and let them do some of the searching for you. Just know that these days the best recruiters don't charge you, they make their money from the company that hires you.
-- Slashdot, making the Left look conservative since 1997.
How about building a new (or perhaps modifying an open source) software tool that shows that you are engaged in work that there is practical application in. Barring that in your PhD thesis, that's what would turn me on if I was looking to hire brains. Are you at all considering academia?
No one wants to hire you because it's assumed you'll bail once you find a higher paying job in your field of expertise. It's why no one should ever get a PhD unless you're going to work for a university where they want you to have one.
In many cases even a masters degree makes it difficult. The key is to get a bachelors, work for a few years, then let your employer pay for your masters and go on the side. Or don't, because a master's degree is hardly worth it. Work experience is ALL that matters.
Look, the phd is not going to open very many doors in this industry. This is one of the most severe industries for devaluing advanced degrees and instead almost all value is placed on demonstrable experience.
So basically, as a PhD, you're just (in their eyes) an inexperienced programmer who has unrealistic salary fantasies.
The PhD may help you in academic circles, but in the IT industry, it just represents prime years spent on something that brings no value to the company wanting to hire you.
I had trouble finding a job in programming lately, while I live in a smaller city I was willing to move or do remote work. I started doing freelance work, and in no time I had job offers from many of the people I've done projects for. If you can prove you can do the work, and do it well, you'll have jobs lined up.
Website Just Down For Me? Find out
But then you end up with a resume gap, which might tell prospective employers that you've either A. been rejected by the employers to which you have or should have been applying, or B. been working under the table.
A few comments, in most areas of expertise expect to do 2 to 5 years of menial work, to get the much needed experience. In programming perhaps this is testing in IT it is working on a help desk. I've met a few A students that just couldn't adjust to the real work force. Experiences is the key, you need to say what your strong points are , with working with teams, Writing software to meet requirements and working well in a global environment. Unless you are an entrepreneur then you can try to make your own way. As mentioned before it is always best to get a PH.D later on after a few years in the work force.
Also from Linked In, I've had a lot of good results, even though I am not looking for a job at the current moment. Social is the way to go to meet and get call backs.
I know it's sad, but hide your PhD. Most employers are scared of PhD's for multiple reasons: (1) they don't want to pay them what their credentials demand , (2) many hiring bosses are intimidated or feel threatened to have an underling with more education than they do, and (3) they are probably hesitant to invest in someone who is so highly credentialed for fear of losing them when a sweet offer comes around. Sad, I know. But I'd go ahead and hide the PhD. (Disclaimer: I'm working on mine now)
Surely your advisor has links to industry? Where does the funding come from? Industrial consortia? Federal sources (NSF / DOE / etc). Can you look at doing a postdoc at a National Lab so you can make some contacts? If you don't, ask your advisor for help. It is the least he or she can do for you.
I don't think resume sites are good places for a newly minted PhD to look for work. You surely did some networking while you were a student. Did you present your research at some conferences? Those are the people you should be talking to about work, not filling out on-line applications. At the PhD level you find work based on a personal network, not web-based applications (although you will need to fill those out for compliance).
Because America is not a country that hires Comp Sci PhD's. In fact it NEVER was.
It's not fair, but it's probably better to just list your master's for now.
Right now they figure you won't be happy with a junior position, but you don't have the experience from them to trust you with something more senior. Once you've got a bit of experience put the PhD back on. It will help you land more senior jobs later.
It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. - Abraham Maslow
If you want to be a developer a Masters would have been better. Like one of my managers put it, I want somebody to get the job done not argue about it.
PhD's are for epeen or if you want a research job.
I'm in a totally different field, but I just finished a PhD, and I'm currently in a two-year postdoc.
Why did you get a PhD? You said you already worked as a software developer before, so it's not like you went straight through school because you didn't know what else to do. You also said your thesis was on a technical topic without practical application, so it doesn't sound like you were aiming for a non-academic job.
What kind of job did you want when you started? An academic job, then changed your mind? If so, you will have to be very intentional about selling yourself to employers. Frame the PhD as giving you experience in how to do research. It's going to be the rare employer who actually cares about what you did specifically.
It sounds like you are just firing off online job applications. Have you networked? Does anyone from your department know folks in industry? Did you apply for postdoctoral positions, research fellowships, etc.? If you are just looking at standard development positions, you are probably going to be rejected as being overqualified.
"Anyone who [rips a CD] is probably engaging in copyright infringement." - David O. Carson
You do not get a PhD in computer science to work in software engineering. You get one to work in academia. You will not be able to find a job easily. Very few companies will want to pay you a PhD salary as a software developer. You should have known this before getting your PhD. You just screwed yourself if you want to stay in the software engineering realm. However, one option if you do want to stay as a software engineer, is to list your master's instead of your PhD on your resume.
As a PHB, im sorry for your unfortunate circumstances. I've never been allowed to hire a Ph.D, and its mostly because im told it reflects poorly on me if I hire candidates with no professional experience. yes, a stupid political reason precludes me from letting you put food on the table.
another reason is that if you're looking to be a software developer, "PhD" is incredibly overqualified. I dont look for a candidate that has a decade of collegiate experience because as you put it correctly, the landscape is a moving target. That is to say, im more interested in what youve achieved yourself and learned on your own than I am about your academic pedigree. Did you implement or design something? those are also bonuses. To be blunt, I've hired Iraq vets with no college experience as python devs, and never been happier (or more under budget.)
The problem I feel is that there are more Ph.D's than there are googles and nasas. Have you tried ANL or CERN? While im certain you wont be a computer programmer alone there, I can with a fair degree of certitude say you'll have better chances.
Good people go to bed earlier.
It's funny reading this after watching a video on how the Seattle area has 6000+ unfilled jobs.
I would recommend giving Amazon, Microsoft, Google offices in the area a go.
Also as someone mentioned above, be glad you didn't get the STL job offer. That's crazy!
The PhD was on a very technical topic that has very little practical application and so working on it does not seem to count as experience.
That may be your problem right there.
Unless you find an organization (corporate research lab, academia) that actually values Ph.D.s, your Ph.D. will count against you.
just keep trying and you'll find a job eventually
If you are still interested in academics at all, check into some post docs or professorships. Otherwise, try to brush up your C++ and anything else which might look interesting and in demand. More and more I would discourage anyone from expecting any concrete advantages from advance degrees, particularly in computer applications.
Bukowski said it. I believe it. That settles it.
The question is, why are you looking for a common coding job? You need to spend a bit of money with one of the exclusive headhunters, who can find you positions with trading companies, NSA (don't snicker), and other places where an average coder could never do.
The only thing worse than a Democrat is a Republican.
After getting my PhD, I found that is was easy to get offers from other groups that already had PhD's working for them, and very hard to get offers from groups that had no PhD's. Also, I found that I enjoyed working with other PhD's more than in groups where everyone came straight out of college. I think it is just that these two groups tend to think about problems differently.
My advice: find a group that has some PhD's already.
Good luck.
Here...the best advice I can give you! Change your name to some third world sounding name...and lie about where you are from...make it sound like you are from some third world country. Oh, another lie...tell them you have "at least an H1-B visa"! There - that will get you the job!
With a theoretical PhD, if you're applying for non-research jobs, you're probably seen as overqualified and suited to the wrong mix of skills. If the years of study toward your PhD don't translate to a capability that the employer values, then they're likely to see it as irrelevant, and see you as having "The Wrong Stuff".
Try describing your PhD research in some way that's more relevant to the company you're applying to. If it's mathematical, describe it as "analytic" or "data intensive" and not "theoretic" or "provably valid". Data mining and machine learning and AI and big data are hot right now. Make your skills sexy.
And be sure to write a cover letter that's tailored to the job, the industry, and the employer. These days, mismatched or over-general applications get tossed almost immediately.
Should have taught yourself.
I don't even have a high school diploma (or GED) yet I'm a senior software architect soon to be partner of a large fast growing SaaS business.
I wouldn't hire you either. You haven't done anything. I can't go see your hobby projects online because you didn't write any.
Programmers who don't code at home for fun, plain and simply suck compared to the ones that do.
I've played with OpenGL in the my spare time, QT5, cmake, C++11 (which is now used by my decree at work), django, python stuff, the postgresql/mysql/mariadb/oracle databases. I could tell you how to fix a makefile, or a how to stage a Gentoo linux system without looking at any manual or help documentation.
That means I'm *useful* and can get things done in a variety of contexts. It's why I got my job. Passion counts 10 times more than schooling. So much so that I've downright embarrassed some recent college grads who came to interview with us. They just suck for all that schooling they supposedly have. Can't even explain move semantics in C++ or what perfect forwarding is. Let alone piece together a new application by stitching various libraries together without breaching a license.
Hell some of them couldn't tell me which is the more permissive license out of (GPL, BSD, LGPL, MIT) or tell me which one prevents static linking. You need to know that shit if you're going to work here with me, and I'm your gatekeeper. Color me not impressed with your large education that I couldn't ever afford if I wanted to. My passion brought me where I am today and unless you have some of it too, I'm going to expect correct answers out of you right away to make up for you lack of passion. Passionate people I'll deal with lessor incomming knowledge because I can teach a passionate person anything anytime and it will stick. They will even go play with it at home or write their own. That's the guy I'm going to hire.
So in short. You need to be passionate and show me all the little pet projects you've coded up at home which were not assignments from university. Show me your website or little javascript games if you write those. Whatever your passion is show me it. Show me you're doing it without someone making you. That's what I want.
1 - Thanks for the laugh. It was really unexpected and I was caught off-guard.
2 - What others said -- find head-hunters. Don't work with just one.... they will understand that you're working with multiple.... just don't get submitted to the same job by two different companies.
3 - Hide the PhD. Hide the Masters. Not sure how you would answer the question: "What have you done with the last four years?" though
4 - Start small. Hopefully you don't owe too much on that PhD, because it ain't gonna get paid off anytime soon. ***Experience Matters***
- We all paid our "dues" by starting small, working 60, 70, 80, 110+ hours a week. You should be prepared to, too. (For the past few years I've work 35 easy hours a week, 7+ weeks of vacation, earning comfortably into 6-digits.)
5 - You have the option as people have said: Academia.
6 - You have another option: Start your own company. Then you don't care what you have on your CV.
Some industry people can have a massive chip on the shoulder about degrees (not having any themselves, or not having any idea about academia).
The container class question is a case in point, an interviewer looking to hire you would ask you about data structures, programming language theory and
algorithmic complexity, not C++ esoterics.
That they asked you, meant they were perhaps intimidated and trying to put you in your place, not really looking to hire.
I have known employers that have the opposite bias too, (esp. in Silicon Valley) who specifically look for PhDs because "they can learn anything".
I am sure you can use your network, from Professors to other colleagues to find such employers. Perhaps a good professional recruiter who can understand
this can also help.
You could get a job in patent law in about half a second. Patent law firms highly value PHDs. You don't need to be a lawyer, but you might get paid like one anyway.
I don't think it's a matter of intimidation. Quite the opposite. To some folks, "PhD in CompSci" means, "I didn't have the chops to get a programming job while getting my undergraduate degree so I just stayed in school." Yeah, harsh, but that's the feeling out there. Most really good programmers don't bother with higher degrees because they're employable from the get-go.
The problem lately seems to be a focus on hot new stuff, without regard to ability or experience. You're better off with an AA and enthusiasm for websites and iOS than with a PhD or equivalent experience. I'm a fairly old school C++ guy who admits C# is way more productive where it works -- which, for me, does not include e-commerce unless I'm actively starving and WalMart isn't hiring.
I was recently out of work for 5.5 grueling months. I got several interviews (and my current gig) by submitting resumes + admittedly weak one off cover letters on Monster. That approach can take a while, especially with bigger companies, but it did work.
While I like contract work, getting it steadily has gotten much harder the last few years, enough so that it's not a great lifestyle these days. I was getting lots of agency calls (Seattle area) but they were mostly interested in buzzwords that they obviously didn't know the meaning of. That seems to have gotten worse too.
I went into a Ph.D. program right after getting my undergraduate degree but exited early with a M.S. and have been working in software development since. I disagree with much of what was said in the other comments. Specifically, I don't think your Ph.D. counts against you. It may not help you much, depending on the job, but it won't hinder you unless you start demanding an exorbitant level of compensation based on the degree. Some other thoughts on how to get a job:
1. If there are gaps in your skill set by virtue of having been in academia then try to plug them. Ideally in a way that's demonstrable on a C.V.
2. Exploit your network. Are any of the other students in your program currently working in industry? Are their teams hiring? Etc.
3. Be willing to relocate anywhere. This is just general advice; has nothing to do with the fact you have a Ph.D.
4. Consider using a tech. recruiter (or more than one).
Don't be so quick to discount all that you've done as having "very little practical application". Re-cast your rather specific academic achievements as an asset rather than a liability. Talk about your PhD work with any employer who will listen and discuss it with the enthusiasm with which you initially pursued the field. Any employer unwilling to listen and understand the merits of your work is unlikely to be a good fit for you to begin with.
A Phd is a researching degree. If you want to use that degree, you should be making very targeted applications at companies that are looking to hire people in your subfield. You should not be applying to general developer positions, you should be applying to very specific jobs you specialize in.
If all you want is a job as a developer, then you're going to get interviewed like a developer. Don't hide your phd, but don't expect it to mean anything. A Phd isn't going to help you write a webpage, or develop a standard business or phone app. The things they need aren't addressed in a phd program. They need programmers. So they're going to test that you can actually program. They're going to treat you just like any other applicant, whatever degree they have. That means starting with the "is this guy a complete fraud" test.
I've gotta ask- why did you get the Phd? If you got it because you wanted to work on a specific field, work in it. If you got it because you wanted to call yourself doctor or you thought more degrees the better, you should have done some research before spending 6 years of your life on it.
I still have more fans than freaks. WTF is wrong with you people?
Over the years, I've worked with 100+ PhD's, doing a mix of software research and enterprise solutions. Usually they're smart, frequently they're a riot to have drinks with, and almost always they are happy to let someone else do the heavy coding while they 'ideate'. Most everyone either covets their degree/salary or hates them for same. I've known many that were both pompous and ignorant and several that weren't but were treated unfairly .
For several of these reasons it's really hard to integrate a PhD into a team of 'regular programmers' - for social reasons - except as a manager. So social intelligence becomes a much bigger deal.
Good luck -my last search (for just the right startup) took 7 months. these days there's a lot of 'purple squirrel' hiring: 17 years of XYZ, in an Enterprise, with startup culture, agile processes, the latest tool ABC, plus Networking, DBA, REST, and mobile experience, blah, blah, blah ..
A great job is hard to find ...
Apply to Qualcomm - they hire many PHD & MS level people.
The PhD was on a very technical topic that has very little practical application and so working on it does not seem to count as experience
So for 6 years, you've been working on something that has very little practical application. I think I've found your problem! Like others suggested, leave the PhD off of your CV. It will only hurt you unless you are looking to join academia.
I don't think people are looking for someone with a PhD as a software developer. You're overskilled.
By the time you have a PhD, you're expected to be the guy in charge of developing cool new technology, or working in academia.
I've known one or two PhDs in comp-sci who worked in the private sector. And they've been responsible for creating and developing new technologies for a company ... and I think they'd gone back and gotten their PhD after having been there a while.
What kinds of jobs are you looking for? Because I can't imagine someone is looking for a PhD to do C++ development, and the perception may be that you're overqualified and looking for a temporary job until something better comes along.
PhDs are researchers, not code monkeys.
Back when I was a code monkey, if we got an application from a PhD we'd have tossed it. Because either you're aiming really low, only going to stick around a little while, or are going to try to rebuild everything the way you'd have done it in a perfect world. At least, that was the perception.
And that's kind of the problem with a PhD. You've spent 6 years working on something with little practical application. You now are looking for jobs which don't need a PhD, and wondering why nobody is hiring.
Whatever you'd wanted to be when you grow up, you may have taken software developer off the table.
Lost at C:>. Found at C.
I recently hired a PhD on my team who had recently graduated. I HAVE found that other teams pass these folks by because they don't want to look like idiots... but that's good for you. You don't want to work for an idiot.
I wish there was a way for me to ask for your resume here.... I'm always looking for brilliant people
As a self taught, non-degreed programmer, who also runs a business and employs some programmers. I have one simple question. What can you DO?
From the looks of it, you are over educated and have not learned practical skills in your profession. I'll get flack for saying this, but as a "Computer Science" major you're really just a programmer. Forget your degree, what programs have you worked on? What languages do you know?
Your PhD is only good for academia. In the real world, I'm going to hire the person who can get the job done. Not the person who can regurgitate what they've learned.
So my advise, find some FOSS projects, and hone your programming skills. You should really know most of the STL containers off the top of your head if you're applying for a C++ job.
When you apply for jobs, list those projects first, before your "education." When I hire someone, I typically don't even bother looking at the education section unless their past works is good.
Have you applied to Google?
...richie - It is a good day to code.
Here's the elephant in the toom: these questions are so subjective that people can't give a good answer without meeting you. Maybe you interview poorly. Maybe you don't speak clearly. Maybe you are disfigured and that intimidates people. Maybe you don't dress for the part. We can't tell from your question. I suspect those kinds of factors are the dominant factors here so you might be better off asking someone who interviewed you. That's where a recruiter comes in. They have experience sizing people up, and they know what positions are available and who is filling them.
Overall, I find Ph.D computer scientists tend to work in very specialized academic areas. Language development, artificial intelligence, and encryption come to mind. The same goes for mechanical and electrical engineers - they tend to have BS or MS degrees, and the Ph.Ds are specialized and get very high salaries but have a very small pool of positions. It would be a fascinating experiment to submit your resume without the Ph.D and see if you get a different response. If you do that, please post the results somewhere!
..several years ago, without the C++ experience. I was applying for a good 5+ months. I was fortunate to get hooked up with a research institute associated with the university for a year doing more grunt-workshy stuff while I finished up my dissertation. It gave me some experience in image processing, which IMO is one of the most in-demand fields to get into if you want to stick with industry research. That was that on top of the Ph.D that got me my current position.
In debates about Christianity, there are two groups: those looking for answers, and those looking to just ask questions.
Target your job hunt towards what you researched for your PhD or leave it off. A generic development house just wants coders and your PhD probably hurts you.
If your PhD isn't in an area of practical interest, you need to figure out your pitch for how it is applicable.
My office values PhD's in certain areas and would have candidates do a presentation based on your research/thesis.
Network at conferences appropriate to your research?
You assert without proof that your research has no practical application. Were your researching how to implement LOGO in VAX assembly language or something?
More to the point, if your research was on the cutting edge of Computer Science I assure you it has practical applications. Use some of the research skills that you gained obtaining your PhD and put them to use identifying companies that have business or research interests in line with your own. Then, using LinkedIn or conference proceedings, identify researchers and engineers with interests similar to your own and contact them. Ask to set up informational interviews. See if they "know anyone" looking for new researchers. Build a network tirelessly until you have a job.
You have a PhD. You're not a programmer anymore. Accept it and don't look for programming jobs. Most organizations that are pushing the state-of-the-art have need for PhD-level people. Find them and find your niche.
This is true to an extent. When we're interviewing candidates, many of my colleagues routinely throw out any CV that lists a Ph.D. Some even throw out those with a M.S.
I used to think it was silly, but as I interviewed more and more people, I ended up adopting the same policy. Too many academics are strong on theory, but just don't know how to do the work. When you have a lot of positions to fill, and a long list of candidates, you have to set some criteria for who to interview. It may not seem fair, but based on my experience, the candidates with advanced degrees and little or no practical experience almost always do well during the technical screenings, then fail miserably when given actual coding and architecture problems.
I have to agree: leave the Ph.D. off your CV until you have a few years of solid experience to back it up.
A degree is only half of the equation, experience is still incredibly important. You have proven you are good at studying tech, now you need to prove you are good and doing it. Aim for work that will provide valuable experience, even if the pay is awful. In 2 years your experience PLUS your degree should open up any door you come to.
(If at first you don't succeed, do it different next time!)
Just lower your salary expectations and/or tell people you have a Masters Degree with some post grad work. Then spring the Ph.d on them later when the company is trying to bid on work, you will become a valuable asset for them then - especially if the company does work for the government. Just know that even though you have a Ph.d, there is probably some 13 year old jr high school kid who can code circles around you. At the end of the day, for companies that need developers, it is all about who can do the best job, fastest, for the least amount of money, and a lot of coding work is farmed out over seas. Basically, in the commercial space you will likely have to start at the ground floor like everyone else fresh out of college... unless you start your own company - because of your Ph.d you'd have a better chance of getting government grants to help start it up. But if you choose to work for the government or in academia, your Ph.d will become more of an asset, and you will likely get brought in at a higher pay scale.
Anyway, good luck!!
Comment removed based on user account deletion
Phd's tend to be good for these types of professions: scientists, researchers, professors. If you want to make use of your advanced degree look for these types of jobs. Otherwise, you're better off leaving it off your resume.
Another vote for a resume (& cover letter) writer - my wife spent about $200 8 years ago, she sent out the new resume to four large companies with their headquarters in Seattle and within the week she had interviews at all four, and offers from all four within the month.
Any company hiring someone with a PhD is looking to fill a senior position. Typically one that would otherwise require 5 years of experience. If you can't answer questions someone with 5 years of experience in your area can answer then you aren't going to get a job in that area. Anyone with 5 years experience in software development using C++ will know the available container classes.
The benefit of getting your PhD is that you get to start out in a senior position with senior pay. You get this because you are expected to know more than an undergraduate.
Just my two cents as a guy with only a BS in computer science and 15 years experience.
It sounds like you aren't interested in academia, which frankly is probably the best fit for someone who did their dissertation on something esoteric/theory-focused. In that case, you should specifically look for industry jobs that *require* a PhD.
If a job says "master's required, PhD preferred", they are 1) just looking for a reasonably well-educated developer, and 2) going to get a bunch of applicants with MSes from diploma mills that will work for a lot less than you, and who all else equal will have more job experience since they got their degree in a year or two of online/night classes rather than six years of full-time schooling.
Industry jobs that *require* PhDs are usually some combination of research and technical management (CTOs in smaller companies, architects in larger ones), rather than down-and-dirty coding (although that's often a part of it if you are interested). That sort of job both pays well and will actually make use of your degree, versus a standard software engineer job that a talented/experienced programmer with a bachelor's can do as well or better than you.
If you can't find jobs that specifically ask for PhDs, you might live in the wrong area. Move to somewhere with a lot of research and/or big tech companies: the bay area, Seattle, Boston, southern Cal, Austin, Atlanta, etc. If you are applying for PhD-required jobs and still having no luck, you may need to bite the bullet and do a postdoc. Those are easy to find and, while they pay crap compared to a standard industry job, at least pay far better than postdocs in other fields, and the additional publications and leadership experience should leave you in a very good position to get an industry research/academic job in 2-3 years.
So you spent all the time only going to school and not working on getting at least a low level job in the field to have a foot in the door and to gain experience? That was huge mistake #1.
Because it's not experience, by the very definition of experience (as related to working).
You specialized in something with very little practical application rather than looking at the job market for what would be worth something to employers? Huge mistake #2.
Have fun paying off those huge loans I'm betting you have now.
- My favorite error message: xscreensaver, running on an old Sparc 5 w/ 8bit color: bsod: Couldn't allocate color Blue
I got hired a couple of years ago (when the market was worse) as a math PhD dropout. If you're looking for a particular sort of work, you might be out of luck. However, the company I work for (a Boston-area healthcare IT company) hires a ton of PhD's to do work they're over-qualified for. Our interviews primarily consist of sitting you down and making you write code, and it's pretty easy to get the interview. Write it well, don't come off as a complete jerk, and we make an offer. We do pay extra for that PhD, but I have no idea if it's as much as you'd want.
Point being, there's hope. Maybe not the flashiest, most exciting job at a video game company designing artificially intelligent solar-powered spaceships, but you'll find something if you just keep shooting off those resumes.
A PhD is probably valuable to the right people. When you have the skills that make you worth talking to, the easiest place to go is a recruiter. They will at least get people to talk to you. And if you are getting interview practice, you'll learn what you have to do.
I suppose I'd also suggest putting together a Github. If you put up some Angular code or something else people seek, you'll at least get something.
Democracy Now! - your daily, uncensored, corporate-free
Amazon always wants IT people - if you spend any time in the South Lake Union area (particularly in one of the Amazon cafes) you'll be approached by one of their recruiters.
No, seriously, why? I hope it's because there was a topic you're interested in. You didn't say, but it'd have to be an awfully bullshit topic to have no interest to anyone anywhere.
Obviously sending in resumes through the front door is a waste of time. Work your network.
If you just did a PhD to kill time, then you're just a C++ developer who's been out of work for six years. If your thesis had nothing to do with the job you're applying for then *FOR THEM* you're just a C++ developer who's been out of work for six years. Maybe they wanted to know if you're aware of C++11 or whatever and that's why they were asking those questions.
But, for Pete's sake, you owe it to yourself to discover who your network knows (do you do LinkedIn?) in an industry that could use your interest's knowledge, and apply it. Unless you decided that after the PhD you hate that topic (it happens) and then you're just starting over.
You should have made friends with all of the faculty at your school while you were there, and not hidden in a cave for six years. Did you do that? Ask them for favors - maybe you can return them some day. The way it works is they help you then you help then, and it's a non-zero-sum game, but somebody has to go first.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
It was related to our line of work. Don't know if this will help or not but when I'm hiring these are some things that I look for:
1. Competence and aptitude.
2. Demonstrated ability to learn and adapt quickly
3. Level of excitement about working for us and interest in what we do
4. How likely it is that you will stick around for awhile
5. What new skills can you bring to the table
6. Will you be happy with the position (related to #3 and #4)
I don't particularly like the hiring process or the time it takes to get a new employee up to speed. Therefore retaining staff is important to me and that starts with hiring people who I think will enjoy working here for a few years at least. There are other PhDs employed here so I wouldn't rule one out necessarily but it would over qualify you for any position that I'd personally be hiring for.
That's what I ask my students. Why are you getting a PhD (or in this case why did you get a PhD)? Typically it's to teach. Many US based organizations only require a Masters for their management staff...and that's not even widespread. One does not get a PhD to get a better job, especially in CS. All of the undergradute CS degrees I see, go into a MBA program. If you are a technical person, you don't need to further your technical education....you typically are driven to stay current by the fact that you are working in the field. Most people want a business degree to augment their technical knowledge. People who continue with a technical MS or PhD are looking to teach or do research. They are not looking to advance their career. I got my PhD knowing I planned on teaching adjunct...not to advance my career. I got my MBA to advance by career.
If you insist before the interview that they address you as Dr. Anonymous Coward -- you probably aren't going to get the job.
Where? What? Whom?
Has software development changed so much in the last 6 years I was in school or is my job hunting strategy completely wrong?
Hint: Great Recession.
Only government and academia value a PhD. Otherwise, as many have pointed out, your both overqualified and underexperienced.
Google, Microsoft, Apple, etc. will take you as long as you can demonstrate you know your CS fundamentals really well.
There's a sad lack of proper work for PhDs in our field. I'm in the same boat, but I am working now as a contractor.
Sure, people say that there is a glut on the market, but nobody notes that this is due to drastic cuts in research funding at all levels. Maybe that'll change and we there will be more research and academic positions.
As a practical matter, I disagree with leaving your PhD off your resume. You'll have a large gap to explain (what did you do in all those years) and it's not hard to find out that you do have a doctorate.
The best thing to do is explain that a PhD is one of the best examples that are you are self motivating, able to work on a problem diligently and independently, and that is valuable to any employer. Then, get out there and try to find a employer that gets that (in other words, is worth working for). That's hard, but that's what it'll have to be.
I'm seriously considering a hefty pay cut and trying to get a postdoc, because I do miss working on actual interesting problems. Don't discount this either.
If you have a PhD, you can play that off in one of two ways: (1) either you are generally very smart, or (2) you have expertise in a specific and valuable field.
For (2), if your field is in high demand, e.g. machine learning, computer vision, numerical optimization, etc., then just look for a job for this specific area. Big or small companies will want your talent if their business revolves around that field. Interviewers will drill you on that topic.
For (1), this is more difficult particularly if your PhD topic is general, e.g. programming language semantics or operating systems. Interviewers will drill you on hardcore programming questions because they think the number of years doing your PhD equates to professional software programming experience. I fell into this category and was drilled mercilessly by Google, Microsoft, and the like when I graduated. I also got the feeling that the interviewers were especially hard because they wanted to prove they were smarter than a PhD. Don't let that get you down, though. You worked hard for your PhD, and there is no reason you can't work as hard preparing for software engineering positions. Later in my career I landed such a job, and I owe it to focused preparation. Study the algorithms books (e.g. Cormen, et al.), master at least one programming language inside out (C++ or Java), read interview programming books (I recommend the one by Mongan, et al. as a starter), and know how to think on your feet at a whiteboard.
The reason I did a CS PhD was because I really wanted to experience that level of research work and then eventually getting the degree. I never worried about getting a job afterwards, and so I remember it as one of the happiest periods of my life. Afterwards, I was fortunate to be able to return to the job I held before starting my PhD. A few years after that, I applied to Microsoft and they took me on as a fairly junior test developer. I didn't realize how junior I was until I had been there a while. I'm still at Microsoft, now as a developer, but I'm definitely not doing any PhD-worthy work. Sometimes I get the opportunity to come up with an elegant algorithm which allows me to draw on my PhD knowledge. But the real PhD-worthy work is being done in Microsoft Research. You might like to talk to them. But if you are more interested in coding (and getting paid for it), definitely consider applying to open Microsoft product developer and/or test developer positions. In addition, if you feel that your current coding skills are not a good match, Microsoft also hires PhD folks as Program Managers. In a PM role, you get to go deep into designing a product. You may also get to refresh your coding skills, depending on the group.
Thank Obama and the US Chamber of Commerce. Obama wants to award 800,000 H1B visas, on top of 50 million illegal aliens, when studies show that the US has a large surplus of skilled IT labor. The purpose and duty of your government is to serve the interest of the citizens of this country. Your government is trying to steal your job and give it to Indian workers. Your government is trying to throw you out on the street and to aid and assist those who are stealing your jobs. If this is not the definition of treason I dont know what is. How much will it take for the American people to demand leaders who are going to cut off the immigration once and for all. We need to completely kill the H1B program and throw out all of the illegal aliens. We should resurrect every last letter of the Johnson Reed Act of 1924. I think its time to cut off all immigration and seal the borders. It is also time for us to start to defeat the anti-family, baby hating, baby killer liberals whose goal it is to destroy the US family through its affiliates in Hollywood, and as well though welfare programs, offshoring and continued attacks on the family that all of this constitutes. Back in the 50s the average family had 4 children, now we are down to below 2 children per family. We need to go back to having large families once again so we can regenerate population and have healthy population demographics once again. We need to do this by fixing our own culture and society by valueing children. Instead we have had a culture of self centeredness, materialism and greed that is immoral, that views children as a nuiscance or something that is even disposable rubbish. Who is more moral, ethicl and loving? Those who raise large families of chidlren lovingly, or those who shirk off their responsibility to their country to do so. A country cannot survive , as a distinct, unique, sovereign, independant, self sufficient people with secure borders, with broken, weak, small families.
For those in blue collar jobs, they are also a target,. Because Obama is bringing in immigrants, legal and illegal, to replace both blue collar and white collar workers, basically, there is no where to run. Basically we have a massive redistribution of wealth from Middle Class american citizens to large corporations and illegal aliens, because the illegals come in and steal American jobs, and now the American middle class is being required to subdize the illegals' welfare fraud and as well the welfare for the citizens whose jobs have been stolen.
How much will it take for american citizens to get the message. Your government hates you and is trying to do everything it can to get rid of you, to destroy your families, to drive you to extinction, to steal your jobs, and to replace you with foreign nationals? The reason that the elites who run your country just love mexicans, muslims and so on is that they are common enemies with them against you. Thats why your own elites work with and are aligned with violent organizations that represent theft of American from American citizens, such as La Raza and CAIR, which work for policies that will throw american workers onto the street so they can be replaced with third world foriegn immigrants. Its obvious that your government likes these foreign people who steal your jobs more than they like you, in fact, they have an unending hatred of you and truly your country. That is because they are globalists who want to dissolve it. So they attack its foundations, and the foundation of a society is first its families and its culture and morals.
A PhD really prepares you for a career in research/science, academia. You sound like you're looking to be a programmer (again). Did the reasons go away for which you chose to do a PhD?
Try the big players: Google, Apple, Intel, Microsoft, and so on. They hire PhDs quite happily, and you can apply what you've learned.
I've conducted a lot of interviews (in an academic setting in the humanities), and I can say that it's risky guessing what exactly the interviewer is trying to accomplish with a question. Sometimes a question is asked neither to see if someone knows the answer to the question nor to see the content of the interviewee's answer, but to see how the person handles being asked such a question. I could see someone deliberately asking a question that he know the candidate not to know the answer to just for such a purpose, though personally I would avoid doing it as it's neither nice nor useful to stress out the interviewee even more (but I might do it in a mock interview preparing someone for a real interview).
So the interviewer might be interested to see if the interviewee honestly, humbly and politely says: "Would you like me to tell you the container classes I use the most? The others I have to look up when I need them", or if the person pretends to know the answer, or rudely bristles, or tries to weasel out of the question by changing the topic (of course it might be a bonus if the interviewee actually has a great memory and knows all the container classes; but then another question might need to be asked to gauge character).
My wife had the same problem. She spent 10 years on a CS degree studying something esoteric but at that point had little to no programming ability. With my help, she still managed to get a good job and there's a few strategies you can use to help. First, you can try looking for places that value advanced education. Government jobs tend to do that because contractors get paid more. I work in EDA and they tend to value strong engineering backgrounds due to the domain. Any kind of sciency place will probably value it. Same goes for research labs and hedge funds. Second, look for places that have hired people like you. I found my wife's job by Googling "LinkedIn [city] [field]". A guy's profile came up and I saw where he worked and passed on the company names to my wife. You can also find people at local universities and see what their profiles say. She then cold emailed them, got an interview, and then a job. Turns out they only hire Phds. Third, broaden your search. May not like the idea but look for jobs that just want a Phd and don't care what kind. Intel has lots of jobs like these, for example, where they just need a smart person to do program management or operations research or something that there's simply not much research on. Fourth, aim for smaller shops. Monster and other resume farms haven't scaled. Look for smaller startups solving hard problems that don't have time or money to go out looking for people, valuing an existing connection and someone they can relate to instead. Look for cofounders wanted or other entrepreneurship groups near you. Last, laser focus your search. Find companies working in your domain of expertise and just cold email or even call them. Don't let you social anxiety get in the way. It works - really! If you're having trouble getting your resume noticed in a haystack b/c of your narrow field, just imagine how hard it is for them to. Having just the right guy walk in the door with no work is of real value to them, even if they're not currently hiring.
thats what they say, right? that getting the degree is the easy part, and the morning after when you wake up not knowing what to do with the rest of your life is the hangover.. :)
anyway, where are you looking? country, state, etc.? any specific skills? i understand you don't want to mention location and phd topic as that would be naming yourself but some information would be ... interesting :)
i did my phd some years back and while i am currently employed, looks like i will be looking soon. and interesting jobs are few, development jobs always ask for some very specific technologies that you don't have deep expertise if you didn't work in that specific industry in that area past few years, etc. so if you are able to move, maybe looking a bit farther helps. with a phd it seems there are few jobs and those are always far away. maybe if you can sell yourself as someone with abilities to learn, do research, come up with (innovative) solutions without someone giving a detailed spec, etc. some place they might like it. for example, google job ads often mention phd as a plus. but i have no idea if that matters where you are at.
anyway, interesting topic as i guess i will be there in the future. and sure, networking is the best way to do it if you can, but also depends on your local situation. and it seems the more distance you want to go, the thinner is the network. but of course, then you can look wider. if you are just yourself with no other ties, now would be a great time to go..
Places you can find a job with a CS PhD: most of the national labs, and even the NSA. If you can put in some time there, that experience + the PhD will get you some big cash from Google. Problem solved.
I am in a similar situation to you, and bagged a great job as a "senior research programmer" at a university. I work for the department of geoscience, maintaining and extending a research database. I don't make as much money as I would if I were working in industry, but: the hours are great, the benefits are top-notch, the people I work with value my knowledge and experience, including particularly my Ph.D. in computer science, and I am happy to be using all of that laboriously acquired knowledge and experience for the purpose I had originally intended: to help make the world a better place through scientific research. Here's the best part: the professors I work with were overjoyed at being able to hire me, because they have a hard time attracting qualified applicants for these kinds of positions! So here's my advice: figure out where in the country you'd like to work, and peruse the job listings at the local universities for "research programmer" jobs in various academic departments.
It appears there are some Arabs left alive in the Middle East. Be quick cause the problem might be taken care of before you can say 'Pow!"
Not everyone, but most. We have several PhDs on our staff, and we just do web development. Maybe the area you're in doesn't have much demand. Try a big city like Boston, Austin, or Atlanta.
I don't hire people based on their education. I hire based on what I think they can do for me. If you have published apps, or a public GitHub repository with interesting projects, or can show me something real and concrete that you have accomplished in the real world (doesn't have to be software), then you're worthy of further consideration.
Otherwise not. I don't care what kind of degree you have or where is it from. Degrees are the Rubles of the 21st Century.
while you were working on you phd, did you get the 3 most important things there?
CONTACTS, CONTACTS, CONTACTS!
i've been looking for a year and its only with direct contacts that will open doors
Keep applying. You will find the right match. 6 months is the amount of time it generally takes to find a position in any filed. Just don't give up applying to as many companies as possible. There are hundreds of companies out there that are looking for candidates like you but they just haven't come across your resume yet. The worst thing you can do is get an interview, then stop applying while waiting to hear back from that specific company. Do NOT leave your PhD off of your resume. That is just ludicrous. Keep reading articles in your field that interest you while you are applying. Also, play around writing simple programs, so that your coding is fluid in the interview, and you don't waste any time on simple syntax issues. Do not waste your money on a head hunter (especially if it is a consulting company that takes a portion of your salary from the actual company you end up working for). Research the companies that interest you and apply DIRECTLY through their website. Make sure you have your linkedin profile up to date, and a simple personal website that illustrates your past work/research/experience definitely helps a lot (that you link to from your resume and your linkedin profile). Do not take a job with a company that asks you dumb questions in the interview. This is the easiest way to detect bad management practices. People who ask these types of questions shouldn't be the ones interviewing you.
The overall unemployment rate among PhDs in computer science is shockingly low. Per the current Taulbee Survey (see pdf here), unemployment among fresh CS PhD graduates from surveyed institutions (266 North American ones; likely comprising the whole top 100 institutions plus 166 others) is .8%. .8% is well below the frictional unemployment rate; a PhD in CS is almost as good as a civil-service union government job in guaranteeing employment for life.
So ask yourself, what are you totally screwing up. Some previous posters have suggested that perhaps you're shooting way too low (intro programming job) for your talents. This could be the case. It could be that your degree is from a less-than-reputable institution (you didn't say, so we can't comment). You may just be messing up the basics of interviewing --- my PhD prepared me for an academic interview, but not so much for a straight industry job. Asking help from your institution's career services department on interviewing skills could help.
Regardless, there are very well collected statistics that reflect that a CS PhD is a strong benefit to gaining employment; don't blame the PhD.
Can't you ask professors or fellow students for leads?
The sort of jobs held by PhD's aren't usually the type advertised on Monster.com or Dice. (And "send in a resume in response to an ad" has always been the LEAST effective way to get a job.) They are usually found via personal contacts.
(As a random side-note, IEEE Spectrum Magazine, (and I'm guessing the ACM's magazine) DO actually advertise for PhD openings; about 50/50 academic/commercial.
If not, then why the bloody hell are you even asking this stupid question?
If you aren't from India, of course they aren't going to hire you. WTF is wrong with you, dood?
go to www.usajobs.gov, for 'occupational series' select 1550 which is computer science, search...current 17 listings, apply, wash, rinse, repeat
Apply for jobs that require or look of PHD. Sometimes having PHD in your resume can hurt you. We've hired people in the past who had the booksmarts, but didn't know jack when it came to practical work. So in our case we tend to stay away from hiring PHD's.
That is if you want to get into academia, It's slave labor for a few more years, but it's better paid slave labor. PhD implies research skills. What companies are doing research in the area of your dissertation? You can't be limited by geography.
I can't really answer your question, but I can give you my view as somebody who does a lot of technical hiring.
When you hire new people, first and foremost you want people who can get stuff done. This is a combination of skill and will. First, skill: Do you have the skills needed to get the job done? This can be technical skills, as well as things like people skills and ability to work as part of a team. Here it is really helpful to see demonstrated work output. Perhaps a little open source side project you did could demonstrate more than, say, a list of classes you took or your research output. If you can demonstrate an ability and interest to work with others, that's even better.
The second is will. Many PhDs (and I am one) start out suffering from the idea that they need to stick with their expertise. They expect to take their knowledge gained in grad school and apply it to real-world problems, and get paid doing it. It seems reasonable. But it's not how the world works. What you learned in grad school was how to solve open-ended, difficult problems, not a specific set of expertise. So you need to convey some flexibility and desire to work on broader problems. Nobody wants an elitist on their team who, say, refuses to program in anything other than some obscure Haskell variant. What people do want is a person who can solve open-ended, hard problems and without pigeonholing themselves.
The final point is that how you present yourself on your resume is crucial. You shouldn't lie (of course), but you can emphasize different things in order to communicate the above points to whomever is reading it. Good luck!
Other than jobs in academia.
Which someone must have mentioned when you started...
Stop calling him "Shirley".
Don't apply for a dev job. Assuming there was sufficient math in your PhD apply for a data science or data analyst role, which will include a fair share of programming but also mentally engaging work. Hiring managers for these roles look for people that have strong analytical skills and the ability to learn new things (proof: you have a PhD). What languages you know is secondary in these roles to how well you dig in to a problem and deliver insights.
So long, and thanks for all the Phish
Computer science isn't about programming. It's finite state automata and big O notation and stuff like that. Programming is about taking mutually exclusive requirements from two different people, neither of whom really know what they're asking for, and interpreting those into something that works well enough to keep your job. It's about writing something good enough and moving on to the next task, not about spending weeks fine-tuning your code to be as efficient as possible - well, usually anyway. What I'm getting at here is that a PhD really isn't useful for someone who wants to be a programmer. There's a lot of stuff you learn not to do when getting a bachelor's that makes it worth about 4 years of experience. After that, it's all just math.
Do not hide the PhD rather you need to find the right job match for you.
Additionally make sure you join an open source project to show you are not afraid to get your hands dirty.
Let's face it, if you apply for a job writing HTML you are going to hate it and quit within a month which is why employers hesitate to hire you in the first place. On the other hand if you can prove you can code and you apply to a company where the product is sufficiently non-trivial every company can use one thinking head for every 20 straight-out-of-undergrad programmers.
Make sure you go to the interview with some new developments (last 5-10 years) from academia that the company can use to improve their product. You should have no problem getting hired.
I don't think submitter mentioned anything about having a masters degree.
Relatively few people pick up a masters on their way to a doctorate.
Chuuch. Preach. Tabernacle.
This is a troll written up by one of the slashdot editors. Read it carefully. No real "anonymous reader" would write that shit. It's got all the ingredients: Ph.D. in compsci (and we all know those are about as bad as an MBA). Guy naively doesn't understand how programming laguages have changed. Guy writes a "poor me" story designed to troll all of you drop-out programmers with real experience.
Technology consulting companies love to include PhDs in proposals for marketing reasons as much as for actual use of the skills.
I was maybe 80% sure that I wanted to go into academia, so it's not so strange that I got a PhD. But I interviewed for both industry and academic jobs. In my case, I had extensive industry experience previously. For some academics, the industry experience seemed to be a negative, and for some industry employers, the PhD seemed to be a negative. Very few companies saw the combo as a bonus, although the list of companies that did think my background was good included Intel, AMD, and my current employer (a research university -- I went into tenure track).
I recently interviewed at AMD (because they called me, and I figured it couldn't hurt to see what my alternatives are), and they grilled me hard on programming questions. They asked me things like what do 'volatile' and 'static' keywords in C mean (I was able to quickly rattle off more than the interviewer needed to know about them), and when I went on-site, they gave me some programming problems. The key reason they like me (and are writing up an offer) is because I knew a lot about programming, had done a lot of programming (despite having been in academia for 2 years, they referred me to as a veteran from industry), and I knew a good deal about each of the topics they talked with me about (CPU architecture, GPU architecture, the 3D graphics rendering pipeline, compilers, etc.).
Key ways in which this went well for me included (a) I proved that I was a very strong software engineer with practical knowledge, skill, and efficiency, and (b) I was able to show how, for me, the PhD augmented (rather than hurt) my engineering skills. That last bit is key. For instance, I showed that I could approach a problem with creative solutions, apply a scientific approach to determine the viability of the idea, and (most importantly) explain how I can fit it into the context of a BUSINESS that wants to make money from it. Coming from academia, also I know how search for existing solutions, so I can also avoid reinventing the wheel. I can look up what people have done before and incorporate some of those ideas into a new practical solution.
So, bottom line, if you want to go into industry (and not necessarily into some big company's research wing), then you have to show that you're a real engineer who can design complex solutions to complex problems and do it efficiently. You have to know a LOT about programming. On top of that, you have to know a lot of theory (algorithms, data structures, computational complexity, etc.). And you have to show that you can think in business and product terms. You're working there to make products that will sell and make money, and you have to convince them that you're unconsciously competent at doing this very well. You need to break the stereotype that PhDs arrogantly have their heads in the clouds, can't think about practical matters, and get too easily distracted by things tangential to the job at hand.
It's only after you have burned a few years at the Googles and Facebooks of the world (apply there, they will take you) that you will realize working for someone else will only serve to further the corporate agenda. Sure, you get paid but is that enough? Sure, you will work on a 'challenging' project from time to time but is that enough?
Have a PhD here too and went through the crap you are experiencing. Eventually left the tech giants and started my own venture. I'm completely independent, I work on problems that I think are interesting and the best part is that clients are willing to pay me to do it on my terms.
Im sorry to hear about your situation. Im working on my phd in comp sci in data mining and companies are hounding me. So I dont think the phd is the problem but rather the topic. I would suggest you sell the phd as evidence youre goal driven AND accomplish your goals. Also point out that your goal is NOT to work in your research topic. Companies may think youre applying for "just a job" until you find something in your topic, then youll jump ship.
Congratulations on completing your PhD but boy do I have bad news for you... a PhD is not really a job qualification but actually supposed to be your entry into the world of academic research, so in a way you spent the last 6 years working hard towards a research career and now you are applying for a totally different kind of work. Most IT related work absolutely does not need even close to PhD-style research and data gathering, it needs people acting fast and pressing the one right button from years of practical experience so your academic research qualification of thoroughly analysing a completely unknown, really new problem is hardly ever needed.
Unfortunately this seems to be something many PhD candidates are forgetting and of course the universities will happily have you doing endless hours of very low paid work until they finally allow you your PhD and for some reason the media makes it seem as if every last one of us needs minimum two PhDs to even flip burgers but the real world works differently and it is about working experience and having a good network and a good reputation.
"Only one thing is impossible for God: To find any sense in any copyright law on the planet." - Mark Twain
You don't happen to be based in SE england? Got a CV I can look at?
Your experience is useful. The PhD put into the right context (this is where CV writing skills come in) show a complex problem solving skillset that is more useful in the more interesting dynamic environments more than the lock and key set of on trend skills.
Where your job search is actually failing is the wall of stupid HR and recruitment agency keyword searching techniques. To get around the flood of CV's non-technical people are used to screen CV's before they hit the manager actually hiring. They use key word searchs to find the skillsets, the hiring manager gets to choose from a small selection of people that can write in the right languages and use the right technologies without training.
What you have to find is a way around that barrier. Which is harder than it seems.
Fit can mean many things. DO NOT take it personally.
Do you know what social engineering the work force means ? Do you know what affirmative action is ?
They may have requirements that you will never meet and the HR must collect resumes because they must prove they interviewed someone like you when indeed they did not want to hire you in the first place. HR must check off gov boxes.
Many jobs want H1-B visas.
Many jobs want a veteran.
Or maybe someone who is single and will travel.
By checking off all the boxes on the application all you are doing is allowing the employer to discriminate. I always refuse if I can.
Grades do not matter in socialism collectivism. You must prove to be good for the collective.
I have some advice for you - but first, I want you to know where this advice is coming from so you can decide what to make of it (if you don't care, skip the rest of this paragraph). My situation is almost the opposite of yours - I have no formal qualifications in programming, yet have been seemingly quite adept at getting jobs when I want them. Since the start of my career (which was through a lucky break) I've had two periods of searching for another job, both of which have been successful in that I've received offers for companies I would have been happy to work for. This isn't a *lot* of experience, but in total I've been for, say, around a dozen interviews and received job offers for more than half of them, and my application/interview ratio is not far off. I am in the UK and generally apply for embedded positions in the north of England, from embedded Linux applications down to bare metal firmware/OS work, if that makes any difference.
The first thing I'd say is that, from what I can see, employers are mostly interested in what you can get done. Nobody cares about my lack of qualifications - or your abundance of them - but some may perceive you as being used to an ivory tower where things are never quite complete and you're always "in the middle of something", so you need to convince them that you can design, write and test* real software that solves real problems. If their problem is in your research domain then you're already most of the way there, otherwise you should do your best to include experience of real software you've written - it doesn't matter what software, just show you can deliver *something*. Put your practical experience first. This includes both your hobby projects (label them as such and they're worth ten times as much as if you'd written them for an employer) and software you wrote in your job before your PhD. Anything that involves interaction with customers/keeping them happy is also a big plus.
The bottom line is that these companies will pay money to people who can solve their problems, and their problems always involve needing to get software out the door. Show them you can do that, and you're in.
The second thing is to be personable and friendly. I've met some people who seem to think that employers expect programmers to be super-nerds - they lean towards emulating Sheldon Cooper. Companies don't want a bunch of Sheldons working for them (can you imagine that? I wouldn't work there...), they want a bunch of regular folks who can get along with each other, communicate well and write kick-ass software along the way. In fact, during my first job hunt I was quite confused as to why so many recruitment agents were so eager to talk to me on the phone (don't they know how to use e-mail?) until one of them pointed out that speaking to someone, even for a minute to say you're about to send them an e-mail, lets them know if a person is pleasant to talk to and can communicate. They've told me there are people they wouldn't even put forward because they seemed too nerdy, despite their credentials. So don't try and be a super-nerd; being affable is equally as important as knowing your shit.
And last, I don't know what answers you give to questions like "name all the STL containers" - that's a dumb fucking question and the best-case scenario is that the company is shit-testing you to see if you'll call them on it and say "of course not, bitches" - but in general you should be absolutely, brutally honest about what you don't know. An answer that starts off with "I don't think I could name them all, but I guess some that come to mind are..." is several orders of magnitude** better than one that ends with "...um, I think that's all of them?".
* That's the single most important word in this whole rant. Seriously.
** Not an exaggeration.
Have you applied to Google?
This. Google hires a large number of PhDs for bog-standard non-research software engineering roles. (Have you read google.com/about/careers/students?) Any of their large well-known competitors in any field are likely to do so as well.
disclaimer: I work at Tesla. If you have a solid stats background to go with that Comp-Sci diploma, there's a very good chance there are a few positions of interest to you. My team has 4 PhDs on it (or more?) with varying backgrounds. The organization I'm part of is very data-driven and data is the centerpiece of our engineering ambitions. It's a tough set of interviews; we want only the best. Good luck!
Or IBM... I tried applying as a Master's in Comp Sci and never heard back. Word through the grapevine is they like having PhD's.
My view is the following.
1. Your resume needs to be read with a 10 second scan. That scan needs to hit the bullet items for the job for which you are applying.
2. If with a PhD you are seriously applying for developer/programmer positions and you dont have at least 10 years of real-world developer experience, then drop the PhD for those positions, no one will hire you for what they view will be a temporary job for you no matter if that is your preferred job.
3. Your resume needs to demonstrate why you are valuable. Did you save a previous company from losing millions or make them millions? You need to show what you did for others in the past that made them better so that prospective employers have an idea that you will make them better too.
4. Less is more. Do you really need to list every operating system going back to DOS 2.11. Give the meta data that is useful. Craft your resume such that the prospective hiring manager is willing to ask questions. So your resume needs to get past the 10 second HR scan and the 2 minute hiring manager review. That's where the items that cause questions in the mind of the hiring manager matter. No questions that get them stuck on your resume, then they just pass over the resume.
Lastly, since you have a PhD, your target market for jobs in computer science is going to be either govt positions or contractors working for govt. Typically, positions are listed that ask for a PhD or a masters degree plus experience. The PhD says you are willing to do the hard work. The hard work these days for a PhD are either mgmt positions or research and development. You are just not going to find the average programmer with at master's degree, much less a PhD. there is just a certain level of arrogance within companies when it comes to people with PhDs. I dont know why and I dont care why. It is just an observation.
I got my BS in CS many years ago. I decided maybe more education was for me especially since my employer would pay for it. Well it turned out that I took post-graduate classes and determined that if I wanted a masters degree or PhD, it would not be in computer science. The stuff that I was learning would not propel me into the top tiers of the world of computer programming. Sacrifice would do that. Sacrifice your life for 5+ years for a wall street firm or equivalent and make $500k/yr, but your on call constantly, constantly having to prove yourself to stay at the top of the game, no family life, ie why even have a place to live, you live at the office. You use the gym at the office, your use the showers there, you have a closet in your office, probably a sofa too. Oh I digress...
The point is, you need to customize your resume to the target you are seeking. Omit what is not useful, include what is useful. Yes, a 6 year gap on your resume needs to be explained, but you explain it at the interview, on the resume you indicate that you attended college or university from start to finish. That explains the gap for control freaks in HR. Let them ask you in person what degree you got. You just indicate the GPA assuming that it is good GPA as it will be relevant. Perhaps you do have a paragraph about the Thesis paper or program that you crafted. Make it sound relevant no matter how much you think it isnt. If you cant do that, then perhaps your PhD was a waste as you didnt learn practical real-world skills. If you find that the PhD (6 years) still seems to be preventing you from getting even a followup phone interview, then omit the dates of your prevous jobs, list how long your worked them, but no dates. Perhaps pull the PhD out of the jobs section and just include it in the education section of your resume.
Name: XXX XXXXX
Objective: XXXXX X X X X X XX XXX X
Education: PhD (6 years, 3.89 GPA)
Jobs:
4.5 years, City, ST, C++ Programmer, Performed full SDLC from requirements to maintenance on multiple projects using CM to manage process and version control for auditing. My biggest achievement saved tens of millions of dollars because I had th
The statement below is FALSE
The statement above is TRUE
Clearly they must have one if you got PhD. If they don't, you overpaid for your degree. And quite frankly, you should have had a job lined up a semester or two prior to finishing your PhD. That would be the prime time for you to get a job with Intel or IBM, getting paid a lot and maybe even using what you learned.
I think you just did it wrong.
That might be your problem.
The economy sucks. It headed down bigtime in the last 6 months. Millenials are really upbeat about stuff that made us cringe & the media is trying to get politicians elected. It's not reality. Open source projects & hobbies: everyone's doing them. Everyone's a maker. They don't score points like 20 years ago.
Most of the people who try to get into software engineering are ending up going somewhere else. Would say it's grown from a niche to something as common as retail. There are far more people who know how to do it. Everyone knows how to make a website or can look it up. Only a tiny few are actually getting the $140,000 jobs on the job boards. It's become the new music business.
PhD's are the new bachelor's degree....yes....i hate it, but it's true.
Don't "hide" your PhD, highlight the work you did to get it!!!
Herein lies a problem: Most PhD graduates did nothing more than elaborate book reports to get their degree...no new research or project. This is often not the PhD student's fault...they do what their program tells them *or* they realize they need more concrete real world work products but their professors oppose them!
Academia is insane right now...especially PhD programs. It's anarchy.
To the question asker: Don't hide your PhD, but understand that you need to show **what you did to get it**
To anyone contemplating a PhD: Don't even think about it unless the program makes you do a capstone research project
Thank you Dave Raggett
WTF did you get a PhD for if you are just going to apply for programming jobs?? A PhD is for research and academia not software development.
That reads both ways:
a) You've gotten the highest formal accreditation anyone in the field can have. That means you're able to get into jobs that others can't.
b) The flipside is, that, all-in-all, those jobs are wide and far between, at least on global scale.
Think of the PhD as the last cog to get the machine working. The other cogs still have to be there. You have to move in to an area where PhDs are sought after and where they have their place. The webshop in a 30000 people town is not where you want to put your rank to use - you have to leave that "comfort-zone" behind. If you haven't built a network yet, you better get starting now. Or maybe you *have* built a network, but aren't aware of it. What are your college buddies doing? Is there no vector there to get into a field?
Mix the C++ experience in when pointing out your PhD. I all honesty, you'd be stupid if you don't combine your pratical C++ skills with your academic PhD-stuff from here on out. There is tons of neat stuff all over the planet. Scientific work, embedded, big data, financial (obscene amounts of money to be made in those last two).
And if you don't know what you want to do and where you want to do it, go apply for an internship at Google or some other famous scary company. No joke. Go there. Who knows, maybe you're a team-lead in 6 months on some new Android lib they're cooking up. If they ask you why you want to intern with a PhD, say you don't know what you want but you'd like to find out. That's how I got my job in the gaming industry. I had my back against the wall and started applying for jobs all over the country. BAM - 4 weeks later inet gamedev paradise with a very neat project that went on for two years and was specifically designed to burn massive sums of money. Or at least so it felt. The reference I got out of that job is worth a masters degree and serves me till this very day.
Or maybe you want to get more into algorythms and DB stuff - go find a company or scientific project that deals with such problems and ask to join - if only as an intern for a few weeks.
And someone else pointed it out already too: ... People want to see and talk to the people they're supposed to work with - that goes especially if your not a designated expert in a field.
Get a professional company to write your resume and a recruiter or an agent to help you find a job. That, or just call and ask to talk to the PM of the job for hire because you "want to find out if it makes sense to apply". Your application will most likely end up in the stack or bin with all the others, only it will be on top, because your a PhD.
And last but not least - if you are an expert or want to become one, there's another two options:
Freelance or own company. Think about it.
Good luck.
We suffer more in our imagination than in reality. - Seneca
Go to meetup.com events you moron and you'll be talking with the people who hire people like you directly -- you'll bypass HR and agents entirely and it'll give you the opportunity to talk about how you spent the last seven years or so kissing the ass of your advisor and writing a few papers that maybe ten or twenty people really gave a toss about.
Then you might have a chance...
How does anyone see your resume - any links?
I want something a little more dense ...
You already have that. It's holding your mouse.
It little behooves the best of us to comment on the rest of us.
Motivation notwithstanding, I would also suggest that you consider consulting.
That totally won't work.
Consulting requires selling, and they've already demonstrated an inability to sell the one product that they're intimately familiar with, and that it's currently their *only* job to sell right now, which is themselves to an employer.
If you can't sell yourself to an employer, how much harder is it going to be to sell your services into the much smaller services market, if you are incapable of selling in the first place?
disclaimer. usual and i could be wrong. going for PhD on fellowship LONG TIME AGO. MOM got sick, so i only got B.S. big themes 1.)think global - 94% of Korean Corp have CEO with PhD or above. In the USA, Nose - book ofr head - book or ?? prefers you to have a Harvard dropout with low tech skillsets. 2.)learn Haskell or FP in one month. Tie it into Javascript or Purescript or google go or C++, etc. 3.)think global, but ACT LOCAL. That's how I got my first career started. 4.)Spielberg , famous movie director just moves onto the movie campus and audaciously sets up shop. Chess club INSIDE the HQ at Wall Street BIG CORP as way of getting past the gates? 5.)Ok so you got no background at military, intelligence, etc. Read the books. JOIN THE IMPROVISATIONAL COMEDY TROUPE on the streets. Similar approach strategy by Cirrque du Soleil. 6.)this is a sample - and yes I have done the marathon(s) INVITE YOURSELF TO THE PARTY. Crunchfit - so what if you wear glasses and are fat. KEEP CIRCULATING and keep sales pitching even to the ladies. Yes, my good girlfriend is at GS, Big Bank in HR. IShe is not going to go through the social networks and linked-in or 'channels.' She just describes him and tells you where his favorite bar is. One you dazzle him with your genius, you are in. 8.)REDACTED 9.)the REAL job now is to explain Doctorate level QUANTUM PHYSICS to elementary school level. I call this simplification or 22nd grade - 11th grade (hi skool) or delta 11. Others call it dumb down. 12.)HOW DO YOU CHOOSE JOB OFFERS? classification of employeers 1.)we need the paper or PhD - NO 2.)we need a body who does C++ and the PhD counts ONLY for work years - NO 3.)we need the EXACT amount of years of experience, for example DART, new lang - 10 years. LOL, that is a joke. DART is need and it is impossible to have 10 years experience except for the HR department, which requires you to lie on the resume. 4.)we need smarts - MAYBE, there will always be someone smarter than you. but if you relocate to MONTANA, in the wilds at a data center, you may like it there. 5.)we hire for potential. Your DOCTORATE WAS NOT on a safe topic. IT WAS BLEEDING EDGE SCIENCE. we hire you because you have TRAIL BLAZER potential. the BEST job hire companies are FOR POTENTIAL. Sure, some training at SAS or REDACTED or IBM is needed. PhD or doctorate CREATES new paradigms, right? 10.)be ready to take the Subway food job like the recent New Hampshire MacArthur fellow did for a while. Read the article - some adjunct professors are on FOOD STAMPS. Welcome to America - the job market. 11.)P.S. Hang out at the ADVERTISING and copywriting or even local comedy STAND UP writers group. The REAL job is to make your DISSERTATION sexy, fun and ENTERTAINING. Ask for help. note: that is NOT the stand up comedian, unless he writes all his JOKES. IT IS THE WRITER or DIRECTOR that counts. paradigm shift - YOUR DOCTORATE is a movie script. example - co founders of google were turned down at least 45 times. The Map Reduce algorithm has many weaknesses and flaws. There is no business model to make money from google search. insert at least ten other basic facts. 32.)BE PREPARED to answer the question how come the Professor or Chair of Department did not 'ARRANGE FOR job track' or even interviews at the C top management level, etc.???? Some professors are busy. Some are in esoteric areas and REALLY ARE CLUELESS AS TO REAL WORLD JOBS. Others are just busy, personal problems, whatever. Favorite job story. This TV host Caesar of the 'Dog whisperer' fame has job obstacles. 1.)illegal with no papers 2.)can't speak English 3.)likes working with mean dogs that bite 4.)not afraid of dog cutting hair 'BEAUTY SALON' because HE IS EFFECTIVE and no body else can do his job. 5.)has no secrets. everything is OPEN SOURCE on camera. he teaches his technique. BUT NO BODY CAN COPY HIS GENIUS.
When I look at your resume ("you" meaning a potential candidate for a software engineer or EE position) the first thing I look for is experience: have you been recently doing the kind of stuff I expect you to do? Your education and other credentials are something I might expect you to list further down in your resume, not at the top; I disagree with those who suggest you hide the PhD, just don't put it at the top, otherwise I would think you're looking for a research position.
Some companies want a "scientist" type role with specialization in a particular area, say, physics or aerospace. But that never applies to computer science - CS doesn't really qualify you for a software engineering position, it just means you've studied the theory in depth.
In Europe a degree is a prerequisite for a high-end software engineering job, not so much in the US; I'd say perhaps 10% of companies in the private sector in the US actually require a degree, and most of those are in defense or in regulated industries such as medical devices or writing software for nuclear power plants. I'm aware of this because I lack even a bachelor's degree but have not had trouble finding well-paying software engineering jobs in the US.
Think about what the recruiter is looking for, assuming the recruiter is a technical manager or another software engineer; I want to know that you can do the job and hit the ground running. If it's an entry-level position with low salary, putting the PhD up there will indicate that your salary expectations are likely to be much higher. If it's not an entry-level position, the hiring manager will want to see in the first 5 seconds or so that you are already experienced in doing the job he or she is looking for.
Also job boards have become next to useless other than getting you on mailing lists for "URGENT JOB OPENING in Boise Idaho for person with 10+ years experience, pays up to $25/hr..." Some companies are still advertising jobs there but most good positions are hired through recruiters. Start with updating your resume and slant it toward experience rather than credentials. It's always good to spend time talking to recruiters once you've gotten the sense they're not the bottom-feeders who are looking for butts to fill seats. That's called networking...
The other thing that works against you is not being currently employed. It sounds really stupid but that's the reality: if you are already employed you are more desireable, if you are out of work some employers think it means there may be something wrong with you. Find a startup you'd like to work for then work on an open source project that requires the skills they want, then market your skills based on open source experience (with commits and projects on Github / SourceForge etc)
I agree that portfolio og gpl software on github is way better than a PHD in interviews and to show them cool you have been working on.
According to Mark Zuckerberg, people like you don't exist. Which is why he absolutely needs the H1Bs to bring in all the offshore resources.
With a PhD in Computer Science you are now qualified to apply for a job at a university to teach Computer Science at the undergrad level.
Academia.
There are plenty of universities looking for PhD's in STEM areas. Pay is okay, very stable. It's a pretty sweet gig.
I completed my PhD in EE/CS 4 years ago. Right after submission, I was unemployed for 6 months and during which time, I applied for 1000+ positions. Only on my 3rd interview, I was offered a junior dev position with minimum compensation in a SME.
Initially, things were good. I paid my bills and was doing many things I couldn't do as as a grad student i.e. going on holiday, fine dining, drinking binges. Work wise, I enjoyed the first year or so learning and coding new languages/platforms.
After a while, I woke up to the fact that my firm has deep problems in terms of work flow and project management. Almost 90% of the web projects we completed in last 3 years were failures. Perhaps I was too naive, I fed them back to the management and highlighted that the problem is with our SDLC and some incompetencies in mid-layer management and tech people. This did not rhyme well, I was kicked out from dev team and transferred to a different department; and my promotion was denied while every other fresh grad was promoted before me.
Overall my experience is, PhD can work against you. For a start, bosses are always intimidated with your superior intellectual brain and over the top communication skills (and don't forget, most bosses will be at your age too). Other aspect is, rest of your co-workers been there or has cut-teeth in corporate politics, so in an event of political power-struggle, quite literally you don't know what to do. Also most firms has no idea what to do with a PhD qualified human resource, let alone having a boss who can manage one. Lastly, not being mastered in some technologies (like Java) can be a disadvantage.
As of today, I'm feeling quite dejected and unappreciated at my firm. Lately I am looking for a new job (preferably something outside IT). I don't know what the future holds for me. As much as I regret taking up above position, on the hindsight, I landed on that position during recession years and helped me to sail through those critical years.
With a PhD in Computer Science you should have zero problems finding a 6-figure salary job. There's something wrong here.
1) You should have a list of people who can refer you from, grad school friends who have gone to industry, to professors who you have collaborated with or did projects with. Anyone who is familiar with your great work. If you don't have people who can do this, it really begs the question of what you've done wrong. Were your projects no good, or are you caustic and impossible to work with? Think hard on this one.
2) Despite what anyone else tells you. It's your golden ticket. Own it. Pride yourself in what you've done during that PhD and relate it to what you are capable of doing going forward.
3) "Overly technical question" about something as standard as the STL? It sounds like you need to beef up on your programming skills.
- PhD @ Google
1 - Contact your university's career placement office. Get real chummy with them. Be very, very polite. they want you to get a good job, so you can afford to donate to the alumni associations.
2 - Contact your alumni associations, all of them. Get really, really chummy with them, until they realize you aren't donating any time soon. You want to go to events, meet fellow graduates that have been out there for a while and have opportunities, and you want them to remember you favorably.
3 - Find professional associations and get involved. Near first,then further away. Again, be real chummy, be a good guy, keep it simple, and admit you are looking for opportunities. NOT WORK. NOT A JOB. an OPPORTUNITY. New terminology.
4 - Find a job club in your area, possibly at the local Job Service or Employment Security office. You will be slumming with healthcare workers, salesmen, and laid-off union workers. They will teach you things you do not know, like how to actually write a resume, make an elevator speech, and interview.
5 - Above all, stay active, exercise, eat well, sleep. Keep yourself in shape, mentally and physically, to nail the next interview and hit the ground running.
Now, about that interview question. Me, I would have responded with "Wow, it's been a long time since freshman Computer Science, but let me see... I remember vector, pair, list, gee, I had to use valarray for a test, but it's been a while since I had to recite those. I've spent more time in {fill in your favorite high-level language here, unless it's VB6} for the past two years, but C is something like riding a bicycle. I don't remember every trick, but I can code whatever I need to, even if it means looking something up to jog my memory and get past a problem. What sort of C++ or C# work do you do here?"
Take the question, demonstrate familiarity with the subject, a partial answer with acknowledgment that you are not a walking encyclopedia, and then turn it around and ask about the apparent basis for the question - do they need a C++ guy, are they just scared you slept through that class, and can you both think on your feet and are interested in the requirements, how you will fit in, what's the real criteria here?
There are only three questions to be asked: Can you do the job? Will you do the job? And will you fit in?
Have ready answers to those.
deleting the extra space after periods so i can stay relevant, yeah.
That's the question every employer is asking themselves about you.
They may not ask you directly but that's what they're trying to find out so you need to be able to answer it.
Keep in mind that the things that you are best at providing may not be the things that all or most companies need.
Start by figuring out what you can bring to the table and then look for companies that need that.
In my experience the thing that a PhD shows is that you can successfully complete a research project on your own. If you want to leverage that then you need to find a company that is trying to get research done. This doesn't need to be academic type research but it really only makes sense to hire research experts if you're doing something new.
While many programming jobs require you to be smart you don't necessarily need to be able to find new ways of doing things. In fact, finding a new way of doing something is usually pretty stupid since chances are pretty good that someone else already figured out a way to do whatever it is well enough that it's not worth wasting time finding a new way to do it.
But sometimes there isn't a good solution to a problem and if you find a company that is trying to solve a problem like that they'll be more likely to want to hire someone with a track record of being able to solve problems that they can't look up the answer to.
The biggest mistake that people make is trying to use your degrees to get you the job and not your skills and value that you can give.
I find the more degrees people shoot about the poorer the fit they are. Too much ego. Too much contention amongst others. etc.
Try being the programmer that you were and use the PHD as a secondary card. Don't even mention it in an interview unless the interviewer brings it up.
If you're looking for a job coding with a PhD, you're looking for the wrong kind of job. Sure, I would expect you to be able to write code. Our PhD's write code all the time. That is, however, not their primary function. They're managing design. They're directing R&D projects. You should be targeting something that more closely matches your PhD area, interests and management.
I was unemployed for about 6 months at the beginning of the down-turn 3-4 years ago.
I submitted maybe 10 resumes a day through Dice/HotJobs, etc. I live in Silicon Valley and have 30+ years as a chip designer. I learned a few things through the process.
1) Submitting your resume seems pointless. I NEVER received a call from that process.
2) Use your network of friends. I finally DID get a call from someone I'd worked with 15 years before and received a 2 month contract position that got me back into the job market. I maintained these relationships/contacts through LinkedIn.
3) I had kept my resume unsearchable because I was technically "furloughed" and my original company was still paying my family health insurance. I didn't want to loose that. As soon as I had the contractor position I formally terminated my relationship with my previous employer and was free to advertise. I got two interviews and one job offer within about a week of making the resume searchable on Dice.
4) Use/abuse head-hunters.They know where the jobs are!
Steve
Have you compiled your kernel today??
I graduated with a CS degree (undergrad) and got so many job offers that i had to keep turning them down (even after i chose a job). i think it really comes down to what kind of projects you've done and how good you are at interviews. The issue i see is that for CS, a phd really doesnt do you any good at all. people without a phd can do just as much in this field as those who do, so know that when you go into interviews so you dont come off like a prick.
I do think you should be able to list all major STL container classes when interviewing for a C++ programming position. This is akin to being able to read, as you would not even know what to search for otherwise.
I then ask candidates about the data structures the containers represent: memory layout and consumption, optimal usage, etc. Note, this is not about having to remember N overloads of the insert() member function, but rather about knowing what the container does and how to use it optimally.
The US Government hires PhD's left and right and so do many of the DC think tanks.
I like the general direction of this. It may be a better strategy than hiding the PhD.
One thing is that IT is extraordinarily applied in the marketplace. Prospective employers may not like the "theoretical, not practical" aspect of the advanced degree. It could be perceived as a dilettante's pursuit. Employer's don't want someone who will rewrite an entire software stack when it wasn't asked for, wasn't needed, and other important and required work was left undone. If they think you're that kind of person then you are in trouble in your job search.
Here's another way you could cast that advanced degree, if it's really as theoretical and not functional as you say. Tell the interviewer something along the lines of "I really had an itch to scratch and now I'm satisfied." That let's them know that you aren't stuck in airy-fairy theoretical land. You can focus on your employer's priorities and get things done.
Also, this fits in nicely with the stereotypical view of IT folks as being driven, technical, and curious. It's not PC but it will be reassuring to a prospective employer.
Look for those that need security clearances and US citizens. They like PhDs because they know how to toe the line, and have the budget for them.
Market why you went for your Ph.D. and what you can contribute to whatever job. Why did you do it? I went for it because I loved the challenge and loved learning all the hard theory that I missed in my engineering-oriented undergraduate degree -- so I filled out my underlying knowledge and improved my skills & abilities in the process.
Also be aware that just because you have a Ph.D. doesn't mean you'll get paid anywhere near what you think you're worth or be immediately slotted into a team/project leadership position -- be willing to work for a reasonable salary unless you also have seriously current and elite skills. Meanwhile, dig into a major open-source distributed development project and make yourself useful -- you could contribute valuable knowledge to important large projects, and get your somewhat-dated skills up to par as well.
Another fool who thought people would be impressed by their PhD.
Get over yourself. Nobody outside of the research world gives a shit. In fact, most companies will avoid interviewing or hiring you because you're going to expect higher pay for your education while having spent less time learning the craft of programming than someone who got into the job market after their BSc. (or equivalent.)
I do not fail; I succeed at finding out what does not work.
Really it's a matter of who you know not what you know. I lost my job as a PhD chemist when I turned 50. Since I liked programming I spent a couple of weeks learning SQL and HTML and started looking for jobs. Any kind of software dev job. I found something at a crummy little web shop for poor pay. I was there for a couple of years. Worked like a dog learning wed related technologies. When the shop folded up I had a number of good contacts and people were calling looking to hire me for much better positions. In a couple of more years I was a lead with several folks working for me.
Employers LOVE hiring someone that somebody in their shop can vouch for. It makes sense too. You can[t tell squat from a resume.
This submitter seems like a troll having a go at people with PHD's.
There's a lot of things at play.
Companies claim to care about your degree, but they don't. They have problems and they want it solved now. So practical skills counts more than that degree. If you can code, demonstrate it via code/github, you will get hired. You can learn and become great, but companies don't want to train/spend money on people. You have PhD, so via degree alone, you should be paid well enough, companies don't want to pay well enough, you are what they will call over qualified. Don't shoot for any job, narrow down, and do a quick catch up to whatever field you want to work in. If you want to do web dev for instance, focus on one language, php or python or ruby, learn a framework, build something. If you want to write C, learn how to do embedded programming for instance, if you want to do mobile, pick iOS or Android. Another way to go will be through a contracting/consulting company, they can charge more for you because of your PhD. They might not pay well, but at least you can get "real world" experience.
------ Curiosity killed the cat. {satisfaction brought it back | it didn't die ignorant | lack of it is killing mankind
To repeat an old joke...
We all know what BS means.
MS? Just More of the Same.
PhD? More of the Same, just Piled higher and Deeper!
I have no degree of any sort (but lots of education, as I took seriously the old addage "Never let school get in the way of your education!"), but I have spent a 30+ year career as senior and principal systems software engineer and architect for a number major tech companies. Experience is what people are looking for, so emphasize your experience in your resume/CV, not your high-faluting degrees. FWIW, I am 66 years old, and just took a new position as Lead Technical Architect for a Fortune 50 company.
"Do you want fries with that?"
Fuck me, you expect to start midway up the ladder after a six year break??
Get real.
Political debates have me rolling my eyes so much I think I got optical whiplash. I should sue. - Foamy The Squirrel
Don't listen to any of these numbskulls on here. I've been in software development for about 15 years, I've interviewed tons of people, including PhDs. Don't hide your PhD, but realize that most PhDs are crap coders. Unless you know you are a really good coder, which it sounds like you're not, don't go for coding jobs unless your PhD and master's research are directly applicable to the job, making it more of a selling point. Honestly, nobody wants PhD coders except for research purposes, so you should focus on that market. You probably have a ton of knowledge about specific topics that regular coders don't, so you should play to that advantage. I'm not sure what your focus was, but industries with lots of R&D might be good choices.. Medical, government, military.. Jobs where your thinking skills and knowledge will be an asset, rather than just your coding skills or experience which sounds a little lacking at this point. Also, recognize that most interviewers are egotistical dickholes who like to use interviews to make themselves appear super smart. Play along with that and use it to your advantage. For instance, if you don't know the answer to a question, don't just say "I don't know." but rather play to their ego and be like "Wow. That's a really good question. It seems like I could learn a lot from you. I don't know the answer but maybe you can help me figure it out real quick..". Humility...
If you are seeking a career outside of academia you need to have some projects under your belt that you can use as reference for interviews. Tell them about what projects you worked in school. Tell them about the challenges you faced and the successes and failures you encountered. Contribute to some open source projects using languages you are interested in working in. No one is going to hire an unproven candidate, especially not for the salary that a Ph.D is going to command. Think about what the employer is seeking and mold yourself to fit that deacription. Companies don't think about YOUR needs, they are thinking about their own. You must make the case that you can provide value as a resource to them.
Rather it's a frequent consolation prize.
e.g. Sorry you accidently fucked a committee members daughter and never called her again. Even sorrier they made the connection. Please accept your masters on the way out.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Especially Beltway bandits. They consider adding PhDs to the pile of CVs for proposals as a +5 modifier to their award rolls.
MAC | A polar bear is a cartesian bear after a coordinate transform.
I thought that's what PhDs are mostly for.
Chewbacon
The Bible is like Wikipedia: written by a bunch of people and verifiable by questionable sources.
1) U.S.A. Citizen
2) Caucasian
3) Male
Fit any of the combined and you are OUT.
It is just a matter of IRS rules and U.S.A. Federal Gubermint Demographics that you are black-listed.
To defeat the 3-Strikes You Are Out Rule:
1) Change nationality
2) Change Race
3) Change Gender.
Yes those, any one and all together COSTS $$$$$$ !
So, best bet is to first jettison the U.S.A. for a few years, at least until Obama is out of office then return and try again.
Sorry.
>Relatively few people pick up a masters on their way to a doctorate.
Highly dependent upon field. In mine (economics), the masters is a sidestep. In others, its the norm.
And at some schools, there is a payment to the school for each master's awarded, so they're handed out along the way . . /
hawk
Holy shit!!! This is an example of what was all frigging wrong with Occupy Wall Street!
You got a Ph.D. In computer science which means your wrote a thesis on a (hopefully) advanced topic in (hopefully) minute details with (hopefully) verified references and research.
During the 1-2 years you spent writing that thesis, did you even once consider what you'll do next?
When you write a Ph.D. thesis, you do it :
A) because you already has a research position or professorship lined up and plan on staying permanently planted at the school.
B) you received funding for your research from an organization who intends to employ you afterwards
C) you have evaluated the job market and lined up a research project that would start a bidding war of your elite skills.
If you didn't do any if these, why didn't you just go to an art school, run up $200,000 in loans and learn to play chopsticks on a banjo?
You have a Ph.D. that claims you're now among the intellectual elite... And the first thing you do is make a total jackass out of yourself.
A computer science degree is supposed to say something about your ability to solve complex problems. Here's one... Figure out how to get a damn job. Do research and if you have to work at McDonalds in the mean time.
You should immediately apply to Apple, Google, Microsoft, Faceboock. etc all of whom have recently certified to the US government that they need more H1B visas because they cannot find qualified Americans to employ...
The trait of a PhD that is most marketable in industry is project management. As a grad student you had to see through your project all the way to its end. You should be selling that part of your training in your applications. If you wanted to do 9-5 programming, you probably should have gone for a Master's instead.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
With all your knowledge from your PhD start a software company... Don't work ever for anybody else!
I don't think submitter mentioned anything about having a masters degree.
Relatively few people pick up a masters on their way to a doctorate.
Umm. Where I studied (Europe) having finished a master was the pre-requisite to be accepted to a PhD programme.
A copy of your MSc diploma had to be submitted in the application process, and shown on the interviews (actually nobody checked my original at the interviews, but still).
I think you are aiming too high. Try for some junior position at first, while you get comfortable with the new stuff. Also, read about what you are applying for. No company in the World would hire a C++ Developer that doesn't know containers.
Have you tried any of the local Mcdonalds?
Troll is not a replacement for I disagree.
If you can't answer a trivial question like listing the C++ basic containers, then you certainly can't code at all.
If you put C++ on your resumé, people will expect that you do know it, at least to some degree, and will test your basic knowledge and skills.
I have personally hired several PhDs. Most of them can't code, the important aspect is being aware of it. You hire a PhD because of what he was able to do during his thesis. The ones that can't get hired probably just have done unremarkable work.
In my country there are government incentives to hire PhDs, too, so that helps. Look for R&D job postings.
A Ph.d will help you within the academic community and oddly the path reverses itself in a way. If you are working as a professor teaching computer science at a known university you may get some great job offers in private industry. They like to paint credentials on doors and in their literature to give the appearance of deep knowledge and abilities within their companies. They can brag that they stole Dr. So and So from Georgia Tech or M.I.T. and it really does impress investors or customers. You end up consulting on programming issues within a product as well as in effect being part of a sales staff. Often a title like V.P. is part of the package with the usual promise of perhaps being president of the firm one day.
Perhaps you should read a bit of this if youre having trouble getting interviews
http://www.amazon.com/Cracking-Coding-Interview-Fourth-Edition/dp/145157827X
http://raytheon.si/
There are a decent number of PhD people. OTOH, non-degreed people are hired too. Having people with fancy degrees kind of makes the customer happy.
Or NASA?
Or any place that writes database software (i.e. Oracle, pick any NoSQL company)?
Or any place that needs people who can do weather modelling?
Or any place that needs people who can do HPC (i.e. computational science; a little redundant from the question above)?
Or any place that needs software "architects", not developers?
With a Phd (not to be confused with Phb as they only get master's degrees) there's no need to slug it out in the trenches with us mere mortals who often find Knuth difficult to follow.
Wow, you are a Grade A prick. You embarrass recent college graduates because they don't know C11 features like perfect forwarding or move semantics? That has nothing to do with whether they are a capable programmer who can hit the ground running, or have any relevant subject-matter expertise such as networking, databases, big data, OS internals, etc. You are embarrassing people simply based on whether they've kept up with the bleeding edge of semantic sugar in a language which already has more syntax than anyone who is not writing standard libraries will ever use. Do you think there is a college class where students learn to be C11 language lawyers? Hint: there's not. The C11 language may not have even existed at the time they took their classes based on C++.
Seems like you also have a stick up your ass about education. Those people are lucky not to end up working for you whether they realize it or not.
actually not really true - patent agent eligibility is based on the undergraduate degree - someone who doesn't have a qualifying undergraduate degree will need to pass the FE exam. and being a patent agent is FUCKING BORING.
Most feel they can hand wave through their technical interviews by citing some abstraction that while possibly correct doesn't actually solve the problem presented. If you are interviewing for a software position, hand waving doesn't write code.
Many others feel the technical questions are beneath them and refuse to answer very basic questions that are used to simply weed out the vast sea of know nothings.
If you fall into either of these camps, you have a problem. Your response to the STL question hints you may be suffering from the latter problem.
The question about the STL containers is not "overly technical". It's just stupid.
If you have a PhD from Stanford, Berkeley, MIT, CalTech, or maybe CMU/Harvard, you'll have no problem getting a job in Silicon Valley. If it's from somewhere else, or you are looking somewhere else, well, that's a bit harder.
I'm late to the party, but I was in a similar situation as yours - Ph.D. in an area in which I couldn't get an industry job, and I actually had no industry experience (no internships or prior experience).
The three tips I'd give (based on my experience that finally helped me land a job) are as follows:
1. Use contacts. Don't try to do it on your own; seriously. With the level of automated resume filtering and keywoard matching, it would be hard to get your resume read by anyone without going through contacts; especially when your area of research is quite esoteric.
2. Market knowledge, not information. You learnt about algorithms and data structures; not worked on how to improve the memory requirements of a simulated annealing solver by 20 MB. Poepole management? Supervised undergraduates.
3. Demonstrate willingness and capability of learning. If you can't convince someone that you can deal with abstractions and transfer knowledge/experience from one domain to the other, why on earth would they hire a Ph.D? The only reason to hire you is that you should be able to address the problems that will arise in several years, not just what they face today.
As an addendum - if you are extremely picky about the industry, make sure you have at least one or two papers related to the industry.
I hate to say this - but all the PhD our company ever hired, all fail - because PhD folks can't seems to code
Just leave those PhDs candidate out of my group !!
You get a PhD to become a professor. If you wanted a technical job, you should have stuck with a simple degree...or masters if you must. Internship or OSS is a huge plus. Sorry that the universities sold you a dream.
Come work for me...
Now go fix me a turkey pot pie my Phd wielding bitch!
First of all, a diploma says you graduated college, with a focus on computers. A technical certification says "I actually know how to use this piece of equipment and I am certified by the people who make it that I know what I'm doing". If you were a manager, which would you hire?
If you are going to be doing real work, you need experience or technical certification. Saying "I know 'everything' about everything " in IT is horrible. It's far better to be a true master at one thing than a jack of all trades (but even that has it's place). Right now, you basically have nothing from what it appears. I think the question you should ask your self is "what COULD I actually do for a company?" If it's hard to answer that, fix that question, and you will have a job quite fast.
TLDR: Get actual certifications. A CCNA or even a CCENT if you are going networking or a Windows Server 2012 R2 (70-410) if you are doing the windows route, and then go from there. Sure there are tons of unix/linux certifications out there, but every true big business is going to need networking and windows guys. Best of luck to you man, and get those damn certs or some xp under your belt.
I dropped out of a PhD program and all I got was this lousy t-shirt.
Actually, no, I bought this lousy t-shirt on Amazon. Looks like I didn't get shit after all.
Chuuch. Preach. Tabernacle.
I guess that's one more instance where Europe and USA differ.
I've been enrolled in two different masters programs (Electrical Engineering and Computer Engineering) where nobody was planning on staying for a doctorate. I've also been enrolled in one doctoral program (Computer Science) where nobody had gotten a masters. My roommate, who got an MS in physics, decided to continue on for a PhD in the same field; having the MS is only shaving one year off the five years he's expecting to spend on the PhD. As an intentional 'perpetual student', he figured the negligible overlap between the MS and the PhD would extend his academic 'career' by a number of years.
Chuuch. Preach. Tabernacle.
When I hire a Ph.D., I'm looking for someone who can define a research direction and put together (and manage) a team to work towards it. Knowing how to code is essential, but their time is expected to be spent in writing and reviewing papers, presenting results and chasing after funding. If your CV highlights your Ph.D. and your cover letter tells me you're looking for a coding position, then I'm not sure where you fit in. Do you want to do the work of a developer but get paid like a Ph.D.? How are you going to fit in with people who have more experience but fewer credentials? And why should I bring you in for a developer position when I have a pile of applications where folks have done professional development for the last six years?
As an aside: if you're a Ph.D. student, your advisor should have sat you down by year three and discussed where you want to be working after graduation. Your work from that point should be targeted towards your future employers; that should influences the conferences you attend, where you publish, and even the members of your Ph.D. committee. Your summer internships are your real job interviews.
Have you applied to the big five: Apple, Facebook, Google, IBM, Microsoft? Unlikely most companies all of those companies basically have an unlimited number of PhD slots they are trying to fill. They can afford for a new hire with a PhD to initially perform at the same level as someone with only a BS degree while betting that the PhD will allow greater long term growth. They can teach an employee to code best, faster, etc but they aren't very good at teaching someone with only a BS degree the raw quantity of knowledge someone gains through years of graduate study.
The other big use for PhD is in government contracting where a company can charge more for someone with a PhD, even if they perform no better than someone without a PhD. Since most government contractors get a cut of the overall contract award they want the most expensive employees they can find and justify working on a particular contract.
Look for a research job. There are still some companies out there that have a labs organization.
The Financial Industry gobbles up techies. In New York you'll have no problems finding a job if you have Java or C++ & maybe Python, and you'll be paid much more than other parts of the country (but you'll be living in less space). The Financial Industry won't frown on PHDs either.
If you aren't strong in any of those languages you need to become strong in at least one. Learn RDBMS (SQL) too if you don't have it. NoSQL DBs can help too but it is still less widely used/needed than traditional RDBMS. I suggest you build something to both increase your knowledge and show to employers in your downtime.
When I was in the position to do hiring, I eventually started actively excluding people with masters+ degrees because they invariably knew less about real world coding than a junior developer but wanted 3 times the pay. Are you this person? If you think you might be, drop your degree off your resume and accept a job as a junior developer somewhere. Or write a cover letter explaining that you have a PhD but feel this didn't prepare you for real world coding so you are seeking a junior position in the hopes of proving yourself.
Network. Go to career fairs. Meet the hiring manager. He needs talented software engineers. Teach yourself more modern technologies and get certified. I'm not usually a big fan of certifications as they don't usually show that someone knows how to program in a general sense, but your degree shows that.
I have a pretty ridiculous professional network. (Not bragging really. When you have done in-demand technologies and looked for jobs, the network comes to you.) Message me me and I can add you and perhaps even give you some introductions to recruiters.
http://yetanotherpoliticalrant.blogspot.com
Most employers don't care about credentials, they care about capabilities. Demonstrate that, and you're good. Adopt an open-source project, or just choose something that's interesting and potentially useful, and build it. Then, instead of a resume for your new employer to look over, you can direct them to the Java-backed web application pet project you've spent the past six months building (or whatever).
--- wad
A friend of my started his own business right after obtaining a PhD in CompSci. He is a software consultant now and is doing development projects for 3 small companies. When resources are scarce enough for companies to look for consultants (or flex-workers), they don't fuss about someone having a PhD. In fact, some even see it as a testimony that the consultant has very deep knowledge and is very smart. Also at least as important: you'll bypass a large part of the HR department in the hiring process.
He works about 40 hrs/week (typical for regular employees here on this side of the planet) and has never been out of work since he started 3 years ago. He never really had to look for customers since IT development is in high demand here. I don't believe he's ever been told that he was overqualified either.
(I have a PhD (in mathematics if you really want to talk theory) and have worked both in academia and as a consultant to industry both actively programming and giving mathematical advice).
Firstly congratulations on your PhD, its a great achievement. Do not loose sight of that! The process of doing a PhD has given you a new way of looking at the world, but also made you a more defined person. The latter is important because many large general purpose hiring processes are looking for people to quickly train and mold. You already have your own ideas. This can be a little disruptive in a large scale programming team!
On the other hand the skills you did develop are things that few companies can create in house. They took you six years, no company can loose employees for that length of time. Have confidence in that.
These factors make your search both harder and more interesting. You might not be generally interesting but there are people desperate for you.
Some more concrete advice:
1) Have confidence in what you learnt and how you developed. Avoid saying dismissive things about your thesis topic. Try to find a way of talking about it that it humble but positive. Don't hide the PhD but don't push it forward either. As a piece of paper it has marginal value, as a training and experience it can be wonderful. If asked about it talk about and identify what you gained from the process.
2) Take note of all the comments here about "getting things done". It is true that some PhDs have got lost in theory, they actually struggle even in academia. Don't be one of them. Work out how to show that in interview. For example talk about your enthusiasm to get back to "real programming".
3) Network, network, network, and use your PhD as a good test of where to spend energy. If people have a positive reaction to it make sure to follow up. Again emphasising your practical skills and experience before academia.
Good luck!
My trajectory was PhD from Top 3 school -> tenure at a high research activity university -> scientist at large tech. company.
A few bits of advice from my experience and watching many students:
1. You don't code as well as you think you do. Get one of those coding interview books and prepare yourself for interviews.
2. There had to be something useful you learned in your less relevant PhD. Focus on that in your search and look for jobs that need those skills. For example, did you learn to do some data analysis? Can you look for jobs that leverage those data analysis skills?
3. I'm seeing that most CS PhD's are ending up as software engineers. I hear many stories about PhD's at Google writing billing systems. Accept it and prepare yourself as well as possible for standard software engineering jobs. If you happened to get your degree in a area that's hot right now (machine learning, computer vision, speech, etc.), you are more likely to find a job that uses your specific talent, otherwise consider your degree a really enlightening, fun 6 years, but be flexible about the future of your career.
I highly recommend reading the following books (both from the same author):
Both are available online (amazon etc) in hard copy and digital.
If you only have time for one, read the former, and peruse the latter. If you find that you are getting interviews but failing to get through the technical questions, you will definitely want to read all of "How To Crack..."
Employers (especially the big name ones) aren't looking for you to get the right answer when they ask you something, and they aren't looking to see that you have great memorization skills either. They want to see your thought process. How do you approach a problem? Can you debug your code? Do you think about what you're writing before you jump in and start making assumptions? Do you ask questions to eliminate ambiguity? Are you cold and focused only on the work at hand, or are you bright, interested, and pleasant to be around (Culture fit)? This is what the interview process is about.
Maybe you aren't saying the right things on your resume. Maybe you aren't highlighting your projects, and you are only highlighting your skills (does your resume read more like a job description than a list of accomplishments?.. Start there).
Some of the other comments mention networking, and that you should have been looking for your job since your freshman year - interning, making connections, and seeing where you are a good fit. The job search doesn't start graduation day. These mistakes could really put you behind the curve. Hopefully you have a good network established that you can tap into. Ask your professors, your old classmates (Have they been hired? Where? What are they doing? How did they make it past the HR nazis? Take a look at their resumes and see why you're not getting any callbacks), talk to recruiters and job placement specialists that your school may have. You have resources all around you that you have built up over the years - utilize them!
PhD in industry here, I interview a candidate a week.
I'll keep it simple. Every time that you didn't feel like you did well in an interview question, go home and study to get better at those questions.
Unless you're applying to a research lab, realize that you're applying to jobs that you're probably underqualified for. Your PhD says that you haven't been making production quality code for a few years.
E.g. Learn the damn stl containers. It takes a fucking weekend. They have very similar APIs and are mostly sensible. Just because you finished a PhD doesn't mean that you're done learning, much the opposite.
Care about electronic freedom? Consider donating to the EFF!
Change the PHD to a Masters Degree on Paper, technically you have one by virtue of the PHD. And then resubmit the resumes. Its what I had to do to get a job
after I had my PHD. Or become an academic and teach. No Company wants high powered, big salary degrees. You reach a certain point in your career that you out pace your pay scale and become a big layoff target. I brought the PHD to relevance about 6 months after I had the job, it may seem like subterfuge, but all is fair in the job hunt. Were my employers upset by my choice, not really. Good Luck
After teaching electrical engineering at universities (you, too should consider some adjunct professor part-time teaching) I moved into industry. I sought out positions that needed my quantitative skills versus my skills in theoretical topics. My EE doctorate is related to stochastic queueing theory and the mathematics was what I knew could be parlayed into other areas. I landed a position in a quality control department working on design for manufacturability aspects of a SONET add-drop multiplexer project. So my day was basically crunching numbers. Tedious indeed.
While attending a project review of the add-drop mux development the instability of the laser electro-optical interface was delaying the project month after month. I chatted up the project manager and he agreed to let me peek over the shoulder of the engineer designing the interface. After a week of review of the design it was clear to me that the designer did not understand the mathematics of PLL stability and I was able to recommend some changes to the design that resolved the stability issue of the electro-optical interface. Within another month I was transferred out of the QA department to the actual design team. From there, it was on to Motorola, Intel, etc. At Intel I managed an R&D lab full of PhDs, often hired by me not to leverage the specifics of their PhD but for the fact that their doctorate meant that they could take punishment, were able to synthesize a wide body of knowledge into something coherent, and had a degree of mental discipline that could be shaped for the needs of my lab.
Look for areas that your doctoral studies can be leveraged in other domains. Grab the position even if it pays poorly. Excel at your job and the rest will take are of itself.
-- I fear explanations explanatory of things explained.
Put your PhD under hobbies, thus you are not hiding it and not presenting yourself as expecting reward for it.
Do not underestimate the power of the Dark side
Well, first you need to get an H1B Visa...
Oh wait, you are an American citizen? Yeah.... well.... sorry, but someone with a PhD from a university in Mumbai is more likely to get the job you're applying for. And when they get that job, they'll send the majority of that money back home. But if we don't let companies like Microsoft and Facebook have all the H1Bs they want, they'll move their operations off-shore. They'll say anything to convince people that H1Bs are somehow good for the economy and create more American jobs than they cost, but the truth is U.S. software houses simply want the work done as inexpensively as possible, and you're basically advertising, with your PhD, that you're expensive and you don't even have real-world experience yet.
My advice: drop the PhD until you have several years of experience.
*** *** You're just jealous 'cause the voices talk to me... ***
To many people see PhD as being to specialized. You need to find some one (company, person, research firm) that you can solve THEIR problem, economically, in a way they can understand, then they will fulfill your need (a paycheck).
Sometimes we learn so much we can't see the forest for the trees.
... "When you pry the source from my cold dead hands."
Ph.D. is not a professional degree, it is a research degree, as you well know :)
Part of your traction problem (and the very sad set of responses here) derives from the fact that most "programmers" are not researchers but plumbers [no offense to plumbers; I mean directing information flow from point A to point B]. If you went for a Ph.D. you are perceived as not wanting to be a plumber. When I hire a Ph.D. I expect them to be a researcher, grant/proposal writer, and idea person. I need to feel comfortable sending them to conferences and customer meetings without supervision. This is qualitatively and quantitatively different from when I hire a 'coder.' My interviews are correspondingly different. I pay more attention to professional demeanor, person skills, language and writing.
If you are applying for jobs where you are getting questions like "list the STL container classes" -- it looks like you applied for serious coder focused jobs. 'Sit in a cube and build me some templates.' Look elsewhere--they don't need the research and thinking skills you developed, and those skills are probably a liability in the particular job they are staffing. There are correspondingly fewer jobs at the top research posts, but correspondingly less competition. At the lower level, you will be presumed to only be applying as a stop-gap (read: over qualified) or because you are a 3rd rate research (read: dead weight).
Thankfully, my shop is pretty flat, so the difference between the two blends. If the Ph.D. wants to sit in a room and code, in the end I don't stop them. If a B.S. turns out to be a great writer/researcher, they'll end up shifting in that direction.
For you - focus on jobs that want what you can offer: _R_&D, academic labs (including government affiliated research institutions), technology policy. Far fewer jobs to choose from, but you are far less likely to be a complete mismatch. 'Coders' are a dime-a-dozen from an HR perspective, and a CS Ph.D. joining the rat race doesn't make much sense--it is like an Mech. Eng. Ph.D applying for a job as a draftsman. The first thing that the recruiter is going to ask themselves is "Why would he/she even want this job?" -- that is not something that you want them to think upon seeing your resume.