top | item 8025226

Ask HN: What can I do in 2-3 months to secure a developer job?

17 points| compscikid | 11 years ago | reply

I graduated from my university 3 weeks ago with a Computer Science degree. Unfortunately I never really spent too much time working on side projects or getting industry experience; most time was just spent working on my coursework.

I've sent out a lot of job applications and either I've only gotten rejections back or it's been radio silence. I've applied to about 10 companies, ranging from multinational companies to smaller startups.

At this point it's getting sort of stressful not finding work. Can anyone shed some light on what I should do to maybe land a job in 2-3 months? I would say I have a strong background in Computer Science and I can definitely program. Should I work on a portfolio or something like that?

Thanks!

35 comments

order
[+] mamcx|11 years ago|reply
Some other ideas, besides the ones here:

- A lot of developers never think in "normal" business as possible employers as developers. Maybe is a USA thing, but in my country the #1 is always the NO-STARTUP/NO-TECH company. Like for example, shops, service companies, etc. The small/medium are not that into recruit developers, so is likely you could get something just telling them you are a developer.

A lot of small & medium size business want/need a developer to automated a lot of (surely boring!) stuff. If you relatives have one of that kind of company, look at there. Maybe doing light sysadmin, some users support, make some scripts here and there, make the company website/app, etc.

This is valuable learning. And you can't get this at a startup. The idea is relieve the burden of not have a job and have the leisure to pursuit without pressure.

Is not a bat career start, if you are smart about it. Plus: Is not crowded!

- Think seriously in what kind of software you truly want to make, that could be profitable. A start doing that now. I regret badly not make my own software early, for fear of get crush by large companies.

You will need a lot of time to get the skills and true knowledge to have a real product, so that is why is smart to start early and iterate for a while. Don't rush to market too early. Your first attempts will suck (likely) but time help a lot.

- Focus in learn how be a great developer. Don't stop at that. Is your plan to have your own startup? Learn how make business too. Maybe do games? Learn about that. Etc..

- Make exercise. Now is better than tomorrow.

[+] Wilduck|11 years ago|reply
Honestly, filling in your skill gaps, or creating side projects is definitely a fun way to spend a few months. If you can afford it, enjoy that time.

However, if you want to get a job, you already have the skill set you need. All you need to do is apply to a ton more than 10 places in 3 weeks. You should be getting in contact with 15-20 potential employers each day. Keep a text file or spreadsheet with notes on who you contacted each day. You should be sending out enough emails that when someone replies, you'll have to look them up in your notes to find out who they are.

If you have a CS degree, and are a reasonably competent developer, there is definitely a job out there for you right now. It's just a matter of getting in contact with the people who may want to hire you.

[+] compscikid|11 years ago|reply
Thanks for the reply. Both of what you said (filling the skills gaps and applying to more places) is great advice. I think what I'm planning on doing is a combination of both e.g. apply to 10 places per week and also build on the side and potentially join a team.
[+] rgbrgb|11 years ago|reply
First, don't feel bad. I've seen a lot of smart people have a lot of trouble finding entry level jobs lately. Luckily you are in an industry with ample opportunity.

Next, be proactive. Apply to 10 companies a day. Just think about the numbers, your conversion rate, and sending out resumes. You won't know your conversion rate until you apply to a ton of jobs. With the background you said and lack of any real experience, 95% of companies are going to want to pass because they want someone who knows framework/language X and can hit the ground running. However, that leaves 5% that are willing to train interns or even full-time hires with 0 experience. The problem is that you can't really tell which are which type of company so you've got to send resumes to everyone. After sending out 100 resumes take a step back, evaluate your approach and success rate, then get back to it.

While you're sending out resumes, spend a small portion of your time reaching out to anyone you know in the industry (including your friends from school who just got jobs) and ask them to take a look at your resume.

There's really no shortage of tech companies you can apply to, especially if you're willing to relocate. Where are you located now?

One more tip: My friend who had next to no experience got a job at Google as a contractor through a 3rd party company. He gets very solid pay and access to all of Google's lux facilities/food and he didn't even have to do a technical interview. I think they do this because if you suck they can basically fire you anytime.

Good Luck!

[+] d3gamer|11 years ago|reply
> My friend who had next to no experience got a job at Google as a contractor through a 3rd party company. He gets very solid pay and access to all of Google's lux facilities/food and he didn't even have to do a technical interview. I think they do this because if you suck they can basically fire you anytime.

Yup. Not a lot of people know this, but a significant percentage of people at Google are contractors (red badges). One of my friends is currently working there as a contracted web developer. He said that while working there is awesome, the turnover in the contractor ranks is very high and there is not a lot of support for newbies. It is pretty much a sink-or-swim environment. Outside of "codelabs", there isn't much documentation of their internal tools so my friend has to constantly read the source code to figure out how to use something.

[+] angrymouse|11 years ago|reply
Something worthwhile is matching the types of jobs you want in the future as well as now and creating a list of the experience or skills they want.

After that, look at what you are lacking or need to learn to fill in those gaps. Create a list of projects and just jump in. Make a blog/journal to track your development for your own sake as well as a good resource to point at. Often grads have lots of good solid skills.

Also worthwhile getting a friend to look at your CV. It might not be highlighting the right skills. Similarly, have a base template but ensure you tailor it to each company and job post (I'm sure you do that but is an easy mistake).

A nice tool (UK job posting only but good none the less) is http://www.itjobswatch.co.uk/ which lets you see what is trending and important in IT job posting. Have you got what is the new hotness?

Make sure you create a compelling cover letter for your CV. Place I work they just hired 3 new people, a bad or boring cover letter killed the chances of many amongst the hundreds of applicants.

Job hunting can be hard. I remember finishing my Masters, having a newborn to look after and no other income coming in and pressure on me to get a job. Took longer than I wanted but I got there and I am sure you will too!

[+] compscikid|11 years ago|reply
Thanks for the advice. I really like the idea of figuring out where my skill gaps are and then working to fill those.
[+] benjaminwai|11 years ago|reply
In my experience, companies tend to look for what you have done rather than what you simply know from a degree. Couple of suggestions maybe -

- To start with, identify any specific individual or team projects from your courses and highlight them on your CV, instead of just listing the classes.

- Look for small coding projects - talk to friends, family and neighbors, see if they know someone who might need help. It could be something as simple as helping a local club or mom & pop store to set up their first web page - start from there.

- While searching, on the side pick an area of technology and get familiar with it. For example - if you are not hands-on familiar with various databases: download MongoDB, see if you can configure it, get it running, and build a sample project with it. Then maybe download MySQL, get it running as well and figure out the difference. You could look into web servers, CMS, AWS, mobile apps, and all kind of things.

All these little bits you learnt and did will come in handy on your CV and, more so, if you do land an interview.

[+] jflowers45|11 years ago|reply
Building a portfolio of projects that you care about seems like the best way to go.

Here's an old thread talking about side project ideas you may find useful:

https://news.ycombinator.com/item?id=5234692

[+] compscikid|11 years ago|reply
Thanks for the link. Definitely looks interesting.

So what would be the process here? I build up a portfolio of 2-3 projects, and then I link them on my resume. Would HR and recruiters bother to look through them? I guess I'm wondering what a company like Google would do considering they probably get 20,000 applications a week. Would their recruiter even take the time to click through my apps even though I have no industry experience?

[+] Edmond|11 years ago|reply
It would be hard to land a dev job if you have nothing to suggest you can be productive on day one.

I'll suggest you start looking at other IT jobs where training is available. Tech support type jobs are a great way to break into the industry while getting your dev skills to a marketable level.

A 2-3 months goal is not a healthy way to approach it; you wouldn't ask "what can I do to be a competent doctor or lawyer in the next 2-3 months", the same goes for any profession. Software development isn't a magic bag of tricks, it is a skill set that you build up over time.

[+] bradhe|11 years ago|reply
A lot of people are going to say "side porejcts," which are great after you get your foot in the door...but your problem is you can't even find the door.

1. Network. 2. Show initiative, be proactive. 3. Be persistent.

Find a few companies you want to work for and see if you can figure out how to take one of the hiring managers out for a coffee or whatever. Tell them you are interested in the company and want to learn about their team and the projects they work on.

If you don't get hired for that company/team/whatever you will likely get to nted in the right direction.

[+] mcardleliam|11 years ago|reply
How does he show initiative? A couple of reasons people work on side projects are to gain experience and show initiative. While I'd agree that 1, 2, and 3 are good things....I would also say that side projects are a way to achieve #2.
[+] compscikid|11 years ago|reply
I'm guessing this would only work for startups, right? Should I go about finding the hiring managers through something like LinkedIn?
[+] dustinbrownman|11 years ago|reply
All the advice so far is great. The only thing I'll add is that applying to 10 companies is not enough. I work with one of these coding bootcamps and what we've found is finding a job has less to do with technical expertise and more with persistence. The students who applied to the most places got the most offers sooner.

That said, this finding a job process is hard, and tech companies are notoriously bad at knowing how to bring on new junior-level people. Keep at it, and good luck to you!

[+] gobengo|11 years ago|reply
I looked at it as a numbers game. I think you should invest the most time in the next week just applying to more than 10 places. It's not glamorous, but if you apply to every single startup out there, you'll at least end up with some options.

for more information: http://web.livefyre.com/jobs

[+] mateo411|11 years ago|reply
What programming languages do you know and like?

1.Figure out what language or community you are interested in and go to a Meetup? Usually there are people who are hiring.

2. Find a side project and put it on github. This might take a little longer, but when somebody is going to ask you your experience, you say that you've completed your degree and you can point them to your github account.

Good luck!

[+] grayclhn|11 years ago|reply
1. You didn't say where you're living right now. If you're still in the city where you went to university, you might want to try talking to your professors, explain your situation, and ask them if they have any projects you could work on for free. Even if they don't, they might have suggestions for projects that they'd be willing to advise you while you worked on the project (e.g. meet semi-regularly with you and offer feedback.)

This will be harder to pull off if your self-assessment is inaccurate :). Start with classes where you got As or really clicked with the prof, then work your way down. Whenever you talk to someone, ask if he or she knows other people who would be a good fit for your interests and who you could also talk to. If they mention someone you don't know personally, ask to be introduced by email. The usual job search/networking stuff. (As long as you're not obnoxious about it, this isn't pushy --- most people will be happy to send an email that will make it easier for you to talk to someone else but might forget to offer unless you bring it up specifically.)

2. At the same time, think about what sort of work you want to do. Then start learning more about that area and try to become part of that "community." Are there relevant conferences you could go to? Do you have friends who know people in the field? (This is a rhetorical question; you probably do, even if you don't know it.) Ask to be introduced, and then ask those people how to get started in the field. Don't be pushy about it, and try to make it clear that you're not asking anyone for a job. AND don't ask people for jobs! You'll get a lot more out of these conversations if everyone views them as "conversations" and not "job interviews."

2b. If you don't know what sort of work you want to do, maybe do a version of those steps, but aimed at learning about lots of different aspects of development.

3. I would strongly discourage you from spending 2-3 months working on your own on side-projects. It's too easy to fool yourself, and it's likely that you'll be back in the same place after 2-3 months spent unproductively. But, if you have friends in a similar position, and if working with a former professors isn't possible, it could be useful to work on a project with those friends. You're likely to learn more about "work" that way than working on your own, and you're more likely to get something interesting done in a manageable time frame.

[+] alinajaf|11 years ago|reply
Hi there, I get this line of questioning a lot from new programmers in my local Ruby community so I wrote a little book about it getting your first programmer job. You can get it for free here: happybearsoftware.com/kickstart-your-developer-career
[+] compscikid|11 years ago|reply
Thanks for the link. I just downloaded the book and subscribed. Seems really interesting.
[+] blatherard|11 years ago|reply
A lot depends on your situation:

- Do you live in an area with many opportunities?

- Are you willing to relocate?

- How well-regarded is your school / department?

- How have you applied to the jobs you've applied to?

- What kind of work are you particularly interested in and prepared for?

- Does your school provide any placement help?

[+] compscikid|11 years ago|reply
- I'm about 500 miles away from SF in southern california - Definitely willing to relocate - School is a top 25-30 I believe - Applied using their online systems - Hard to say what kind of work I'm interested in because I haven't really done too much outside of academia. I took a databases and web applications class and those were definitely enjoyable. - Unfortunately not. It's a big university and individuals tend to get lost in the crowd
[+] rbrcurtis|11 years ago|reply
You _need_ to do side projects, and put them on github. As a hiring manager, I'm telling you that people who have a github account with side projects automatically move to the top of the pile.
[+] justifier|11 years ago|reply
great suggestions already.. just a possible addition i'd suggest:

put together a public repo of your coursework, you could even guise it as side projects by personalising the work

surely your coursework had some practical andor mathematical algo exercises that can show your understanding of and interest in programming

[+] petersouth|11 years ago|reply
check your local city/county governments - governmentjobs.com - they got good benefits and I always see these type of jobs sitting for months. I don't think they give a damn if you have any side projects - just that you have CS degree.
[+] pcarolan|11 years ago|reply
Go to a code school, you'll meet people and learn the basics. And it's super fun.
[+] lifeisstillgood|11 years ago|reply
I had a similar question from a taxi driver (CS grad!) in Greece last month and have been putting together an ever-expanding advice column. I will publish it soon but most of it is as follows

1. The world is changing in some fundamental and unavoidable ways.

2. This includes hiring. Previously the broadcast mentality was the only economically sane approach. Now not so much.

3. Build a specialism 4. Build a peer and mentor network 5. Build a pipeline of "sales" 6. Build a corporation mindset, not an employee. 7. Build a financial cushion 8. Build a professional approach

Specialism. Specialisms can be domain (banking, energy), technology (Java, lisp, mobile) At your stage in your career this is less important than broad development experience at a good software house.

Peers and mentors. The oft cited approach is to find a largeish OSS project in an area you care about (do not do games / graphics unless you will sell your grandma to get into the industry) - and contribute slowly, focusing on getting high quality code, with tests and documentation in atomic commits. Listen to the older wiser heads, and keep active on the IM channels. Slowly you will find people you connect with and do not be afraid to ask "smart questions"

Pipeline of sales - this is the bit you are specifically asking about bu it is part and parcel of the whole. A pipeline is work that is lined up to commence she the current gig ends. Even if you are a full time employee, you should be thinking like this. Firstly identify the twenty (yes there will be twenty) best software houses in the industry / specialism you care about. Let's say you love the MooC idea. Look at the folks offering Moocs - coursera, udacity, khan, and the folks offering services to those Moocs (can't remember right now but include rice university, Oxbridge, open university) About a days googling and reading journalism on the area will give you a brief overview. I bet there is even a datamonitor report out there on this.

Now you have a list of twenty companies that do software in MOOC area. Hit their websites, LinkedIn and Twitter feeds - find the developers and Dev leads in these companies. Find those that look interesting - yes interesting. This is mostly a matter of taste and fit so go with your gut here.

If they are in town offer to take them for a coffee saying "hi, I am a recent CS grad and looking to work in the MooC industry, would love to get your views / insight into the industry and workin practises in exchange for a coffee."

If they are not in town - exactly the same, only offer to send them enough bitcoins for a latte and do the chat over Skype whilst supping

At this point you are a mile ahead of the competition, but not home and dry. Always ask "if there are any opportunities going at their place of work, then do let me know". Don't push, don't mention you are desperate, and never ever ever lie. If you don't like Moocs find something you do care about - computer vision monitoring of traffic ? Medical devices ?

Now actually approach those companies that have jobs advertised - and approach them through HR as normal, But mention when calling HR (always always call to confirm "they got my email") you had coffee with xxx.

You will stick out in people's memory here. And that's 90% of the game.

Extend your runway. This is hard - work stacking shelves or coding for local small businesses. Doing this in and around a jobhunt is never easy - but at minimum make every lunchtime count.

Assume you will be doing this for six months - it took me two years of upgrading jobs to go from redundant to 200k - and lunchtimes is the key

Keep working this - maybe a conference if you can afford it. And even after you get a job, keep looking around, making social contacts and OSS contacts.

This is something I call developer contact management - it's an interesting area.

Anyway

6. Finance. Don't be a schmuck. Save, invest, clear credit cards. You can't do much of this, but read the motley fool, put aside 10% if you ever can and come back to this in three years

7. Think like a one person corporation. What value do you offer to a business - what's your USP? If you had to do one thing that would transform your perception in any company it is oddly - documentation . Make auto generated docs like pythons sphinx your friend - writing about what you did and why will always end up with you writing sentences like "this approach will save the company 5% on xxx yearly" - and matplotlib makes useful graphs

Be professional Never lie (except in salary negotiations and only then about why you aren't telling them a number first. Read patio11's excellent essay on this) Always be looking to improve your work, not cut others down Find a good software house (oddly international Banks are now mostly global software houses), and or good mentors Focus on the best practises in OSS world - they are mostly world class - things like mandatory tests, mandatory code reviews and good developer comms.

Tl;dr

- buy coffee for devs in a dozen of more companies in an area you care about. (Can't find a dozen companies - try harder, they are there) - apply to them direct through usual channels, but keep back channels open. This is not sneaky - this is developer contact management. Be open. - improve your professionalism - clean code, good tests, peer reviewed and communicated respectfully. Read uncle bobs Clean Coder (with R on end)

- keep on doing it. At some point in five years you will find people respecting your opinion and track record. Then look up "imposter syndrome" and stop worrying

- have fun.

[+] hivhacks|11 years ago|reply
"Unfortunately I never really spent too much time working on side projects"

This tells me as someone who graduated cs 10+ years ago that you have no real interest in computers and took it just for the job/to be trendy. Personally I would not hire you.

That said he's some actual advice. Now that your a recent graduate a company can hire you full time and get subsidized a large chunk of your pay. This will only last 6m-1yr, so make it count (do a good job, meet people which is usually how you get jobs at other companies, work overtime (boo!) and at least pretend to care about whatever time wasting project they put you on).

Theres a lot more advice I can give, but meh.

[+] munimkazia|11 years ago|reply
I think it is unfair to assume that he is not "interested in computers" because he has no side project. As I recall, engineering coursework is pretty intensive as it is and some students try to prioritize that infront of anything else.

And secondly, not everyone has a good idea to take initiative for a side project.

[+] hivhacks|11 years ago|reply
oh yeah and ignore all the stupid advice to "start a blog" and "journal your development" etc garbage from the social-hacker-marketing-idiots that infect HN like a plague spreading their opinionated FUD everywhere.

Unless your a skilled and seasoned dev this can only hurt you. Seriously, I speak from experience as someone who has looked through many resumes and portfolios.

For better or worse you chose the CS path, not a diploma and not a code.joke.org. You are on the right path, where as most jobs didn't ask for a CS degree before most do now. The landscape is LITTERED with hacks and posers who all seem to have amazing resumes full of amazing synergy, but it's all poop. People will tell you your dumb for taking 4-5 years to get a legit degree and make no mistake, the people saying that have none of their own...