Very well written article, I always enjoy reading stuff from the intersection of writers and coders. What I found startling was how different my experience has been to that of the author's at the start of the article.
I've put up with some horrific jobs paying miserable money in some of the most uninspiring industrial parks you could imagine. I've taken work in dingy Victorian offices so cold that I've had to program through thick gloves. I've accepted commutes taking up to three hours and incorporating four different kinds of transport. More than once I've spent 18 hours on Saturday and Sunday circulating my CV to every job opening and recruiter even slightly relevant to web development.
Reverse interviews? People clamouring to have coffee with me? Beer constantly close to hand?? These are unheard of things. Conditions are definitely better for me now but my skills certainly don't mark me out as a celebrity. Maybe the financial bubble of the dot-com era has been replaced by a cultural bubble, one that I'm definitely not part of.
It's particular to the New York startup scene. There is a lot of money sloshing around and startups have a different hiring strategy than in Silicon Valley. It's quick to hire, quick to fire. I've had six figure offers without even going through a real interview. This leads to a lot of churn. One place I worked at ran through three almost entirely different engineering teams in 18 months. It will be interesting to read if the author of this article still has the same job in the fall.
Silicon Valley is a bit different. There is usually a gauntlet of multi-day interviews even for the lowliest position at a startup nobody has heard of. It's even more of a gauntlet at the large, established companies. I've heard of someone doing 10 days of interviews at amazon.com, and they are a company most want to avoid. Companies are very afraid of hiring the wrong person.
As you have noted, most everywhere else the developer is made to feel lucky to work at a folding table in an unheated area next to the men's room.
Not necessarily true. I think if you aren't in those tech places (beyond SV and NYC, there are other hotbeds too), you have to get known amongst a tech community and this is where social shines. I've been open sourcing software fairly frequently lately and was contacted by potential future bosses at three very well-known companies for software engineer roles, two in California and one smack-dab in Manhattan. I've also been leveraging things like Show HN and putting stuff in appropriate subreddits to get an initial jump. Once you break the trending barrier in your language of choice on Github, it's practically smooth sailing. Getting on the most-starred today (just on Objective-C) has resulted in two extra days of blog posts, tweets and mentions from all over the internet that I didn't even solicit at all. Two of my open-sourced repositories ended up trending number one overall on Github for a day each. I think if you make stuff that helps coders, and position it correctly on sites that care about that, then it's easier to get noticed and technical directors are more willing to consider you for a job (why wouldn't they hire someone that makes their team more productive).
I have a BA in Art with a minor in Advertising. If I can get noticed using these tactics, then surely people with CS or EE degrees can too.
Given your educational background, I think it could be argued that you are better prepared to do this type of personal promotion than others who have a purely technical background. In most cases, raw technical talent isn't as important (thought technical folks usually think it's all that matters) as being able to do the job at hand and being able to convince others that you can do that job.
Good for you for realizing that "marketing" doesn't have to be a dirty word and hopefully others can learn from your example.
True. People shouldn't shy away from personal promotion, just do it at appropriate times and in appropriate places. I hated advertising in school, but thought it was the only way I could make money with a graphic design degree. Turns out coding with a graphic design degree is a lot more rewarding (for me at least, I'm a builder by nature).
I did 10 interviews at Amazon, for a freaking sales job. 3 on the phone and then they flew me from DC to Seattle for a 7 more interviews in one day. After all that I didn't get an offer.
If you work in finance (City or Canary Wharf) you might get that treatment from recruiters. See, as a contractor, you are going to make a lot of money and a part of it is going directly to the recruiting agency so you're definitely going to get some free coffees.
I imagine you could have that too in Shoreditch if you're like the special one.
The problem is that it's hard to show your real skill level (especially on back-end work) so getting access to these better jobs is 90% how you market yourself and where you are (New York and Silicon Valley rents are horrid, but worth every penny in comparison to 95% of places) and only 10% based on your skill level (much less unrealized potential).
You don't have to be a celebrity, but you have to be some combination of accessible and validated.
The good news is that marketing yourself is actually a lot easier than programming. You don't need a natural social acumen to do it. I know this because I'm pretty good at it and certainly do not have natural social talents.
If you want to experience "reverse interviews", you have to be in a technology hub.
That said, the dynamic is not as engineer-favorable as people make it out to be. Sure, a good engineer can get 5 in-bound contacts from recruiters per week-- again, that has more to do with self-marketing than skill level-- but most of those don't mean anything. Most often, it's just an invitation to send a resume into the normal process.
Here's how I got people contacting me for jobs in the Valley and NYC. And not recruiters either, potential bosses.
1.) have a Github account, and release open-source software that helps coders be better at what they do. Basically release tools of sorts.
2.) Make the documentation for those tools absolutely stellar. Look at the .raw for the readmes of the various Github repositories you like and love. Emulate some of the stylistic choices to improve your documentation.
3.) Make a Show HN. Or, whenever your software can help a situation you notice in the comments here, promote it. Don't be afraid to do this, because this promotion is absolutely necessary.
4.) Post to the subreddit of the language that your software is for, but don't be commercial about it. You have to be honest. So write like you're talking to a friend. This is easier if you're talking out loud as you write.
==============
Doing these things will add eyes to your projects. People can see your nicely documented code, see your screenshots, and can imagine how this will help their coding. This is GOOD. If you can make the front page of HN or the frontpage of the subreddit for your language, you're in business. Basically you want to be trending on Github for the language of your choice (top 5 starred today is what you're aiming for). That is the hardest part, but from that point, it's a piece of cake. If you're trending on Github, there WILL be blog posts written about your repo, there WILL be unsolicited tweets about it, and you WILL get good feedback about your coding. The eyes on your repo have now exponentially gone up - and your coding is in front of a lot of people.
The thing is, technical directors like productive coders. If your repo/tool makes ALL coders more productive, then they will love you. It's as simple as that. You know the whole 10x engineer hoopla that's thrown around on here? You'd be doing that for other people. A multiplier of multipliers. If you do that, people will be in contact with you. Just stick with it.
I've put up with some horrific jobs paying miserable money in some of the most uninspiring industrial parks you could imagine. I've taken work in dingy Victorian offices so cold that I've had to program through thick gloves. I've accepted commutes taking up to three hours and incorporating four different kinds of transport. More than once I've spent 18 hours on Saturday and Sunday circulating my CV to every job opening and recruiter even slightly relevant to web development.
Reverse interviews? People clamouring to have coffee with me? Beer constantly close to hand?? These are unheard of things. Conditions are definitely better for me now but my skills certainly don't mark me out as a celebrity. Maybe the financial bubble of the dot-com era has been replaced by a cultural bubble, one that I'm definitely not part of.