Hacker News new | ask | show | jobs
by lifeisstillgood 4357 days ago
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.