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 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.
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
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
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.
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.
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.
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).
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?
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.
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 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
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.
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
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)
If you insist before the interview that they address you as Dr. Anonymous Coward -- you probably aren't going to get the job.
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.
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.
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..
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!"
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.
It's nice to know that Zuckerberg still reads slashdot.
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?
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...
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
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.
What? Sorry about that, you rambled on for a bit and I stopped paying attention. Something about Obama and some conspiracy or something.
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.
on top of 50 million illegal aliens
Offtopic, unless you're suggesting that Mexicans are taking over the software development industry.
The rest of your post is comical. You should be posting in the comments section of Fox News' website, not on slashdot.
Chuuch. Preach. Tabernacle.
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.
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.
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.
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!
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
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
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
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?
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)
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.
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.
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.
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.
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.
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.
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
"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
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.
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.
>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.
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.
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.
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.
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.
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.
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.
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.
I suggest that to get rid of globalists people vote them out of office. A globalist is easy to spot in their support for illegal immigration, amnesty for illegals, and H1B program. Vote out representatives unless they pledge to deport all illegals, and unless they pledge to abolish H1B visas, and unless they pledge to shut down immigration, seal the borders, and re-enact the 1924 Johnson Reed Act and the Naturalization Act of 1790.
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.
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
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!
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."