Ask HN: Project ideas for PhD student moving to industry
Hello,
I'm finishing my PhD in CS in a couple of months and I'm applying for software engineering jobs with no luck.
I get rejected from entry level jobs for being overqualified, and from more senior jobs for lacking industrial experience.
I know C++, C, Python, a lot of algorithms and some ML, some data mining.
I pass most of the hackerrank style interviews, but then I get rejections for not having enough experience.
I have two months of writing and some other boring stuff. I can dedicate 10 hours a week for improving myself for job applications.
Any ideas? Should I do a programming project? Any suggestions? I have interested in Algorithms, security, storage systems, ML, and DM.
I appreciate your help.
15 comments
[ 5.1 ms ] story [ 44.7 ms ] threadWhen you say Bioinformatics, I assume your main skills are in Python? That is going to be a problem as a software dev unless you stick to data science/ML. Professional work requires expertise in Java (boring but necessary) and C++ (hard but efficient). Make sure you understand concurrency/parallelism/locking in your tools/languages.
Do you have any project idea in that area? Thank you for your help.
You can apply to R&D roles (search for R&D engineer, research software engineer, R&D software specialist and similar titles) which are essentially software engineering roles that require grad school.
A good idea may also be to pick a subfield that traditionally hires more educated people (science or engineering or chemistry software hires from that pool because the clients tend to be in academia).
In a given city most of the PhD-friendly industry jobs are staffed by people who still regularly see your professors at happy hour. Have you talked to your professors and alumni of your program if they know anybody's who's in industry now? Look up on LinkedIn where the people from your lab ended up. You can probably get some of these people to give you an interview that's not biased against your specific experience.
They all continued to work in academia as postdocs. I don't want to go in that path. Especially that my most recent work was in a field I don't enjoy, but I had to do it because my previous adviser had to leave university and that was the only option or else I would have wasted the previous years effort in vain.
I have lots of theoritical experience in many areas and I just need to start in a first job. And from there it would be easy. As I will be able to say I have actual industrial experience.
I want a software engineering job. I even apply for entry level jobs and I get rejected. I even got rejected several times for internships.
Assuming you do have, like, school projects, and your PhD project includes programming. Otherwise you do need projects. For C++ a good way to have projects is to talk to PhD students in other fields (physics and bio are good) and ask if they need help with their computation and modeling. Listen to them a lot as they often already use software for most important things but may have need of e.g. quickly indexing text files or targeted data visualizations. In industry, we like hearing about collaborative projects.
Some reply and I get interviewed. In most of the cases, I do very well in their technical interview. Then they would say, we are looking for a senior software engineer.
In two interviews last week, I was cut in the middle of the interview and it was ended once they discovered I'm not a senior engineer. One of them, supposedly saw my resume before hand and I did great in their online exam.
I have some projects yes, but not big enough for them.
In only one job, the requirement was an exceptional algorithmist. I'm not exceptional, but I applied anyways.
They sent me three problems. I solved two and sent them some thoughts about the third one, which was very difficult. I found several papers related. It was a publication level algorithm. Even my algorithms professor spend a day on it before giving up. I think I have some thoughts about a solution, but I needs more time than I can afford at this stage. Still waiting for their reply though.
I'm a mid-level C++ engineer -- if anything I can tell you where your current experience is compared to our requirements for junior jobs, if your resume is fine information-wise and what kind of thing may be tripping up interviewers. I've interviewed juniors and I've never told them they needed a ton of experience -- and most of our juniors have science or engineering PhDs but zero industry experience.
Is this normal? I find it humiliating to be honest.
That said, lets talk about the project idea .. here is what I suggest. Do a solid project (or three) and give a talk on it at a meet up or tech conference.
Data science/ML is stupid hot right now as an area. But the business people don't give a crap about algorithms. They want outcomes or whatnot. So, when you do a project, don't go fully deep into an algorithm or eval. Focus on a business problem (could be some trivial data analysis on open data) and write a blog post on it/do a talk. Use visualizations. use tools used in industry for this (e.g. Tableau or whatever).
Best of luck to you.
That is why I was asking for suggestions.
Thank you.