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.
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.
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 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).
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
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
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.
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.
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.
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?
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.
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
Tell them you were in rehab for heroin addiction for those six years. It's more acceptable.
"12 days clean, praise Jesus!"
He's looking for a job in IT, not running for Mayor of Toronto.
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.
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).
It's nice to know that Zuckerberg still reads slashdot.
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
What? Sorry about that, you rambled on for a bit and I stopped paying attention. Something about Obama and some conspiracy or something.
That might be your problem.
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.
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.
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??
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.