An article was published yesterday in one of Austin's local papers about Austin's tech talent shortage. I was job hunting just a couple months ago and get a lot of calls from recruiters and hear about friends' companies who are hiring and I think it's pretty damned accurate. And by accurate I mean that it points out how fucking ridiculous some of these companies are being. Flying out to SF to try and steal engineers away but not being willing to match their salaries? Seriously?
Dear Austin companies: It doesn't matter whether you think developers are a commodity. You can't treat them that way. You don't get to set their market value - the market does that. You can't compensate them with pool tables and tacos. You can't ask them to spend an extra 20 hours a week making up for your shitty management decisions or commuting to some isolated office park that was cheaper to rent than something on a goddamned bus route. There is a give and take and nobody's obligated to come work for you. Balance is necessary in all business relationships, even relationships with less business-savvy nerds.
money doesn't matter until it's not thereOne of the most damning quotes in the article is, "I'm not going to pay the California wages, which can be 30 percent higher." I've had a large number of bosses who believed for some reason that the chance to contribute to what they were building should be more important to me than my compensation for doing so. That's fucking ridiculous. If I'm making you rich, you pay me to do so. You're the one getting the big payoff at the end, not me.
Austin companies should be thinking in terms of how much further a California salary will stretch here and using that as a negotiating tool when they offer talented engineers what they're already making - minimum - to relocate. If those engineers are relocating from the damned Yukon, same thing, because I can fucking guarantee you that if they're open to relocating they've got an offer from somebody in SF, too. A higher salary is going to cost you less than hiring shitty people or not hiring anyone. There are a gazillion blog posts about this from people who actually run software companies, not bratty engineers, so, hey, don't take my word for it. But if you think you should get some kind of discount cause your business is based in a town that's figured out how to put scrambled eggs in tortillas, better disabuse yourself of that shit.
your office is not magical productivity landThere's nothing that makes me sadder than talking to an awesome company about a job, knowing that they want me to move to San Francisco or drive to north-goddamned-Austin every single day and I'm not gonna do that. Is that stubborn? Yes. But I have a challenging housing situation I can't get out of and commuting goes against the way I choose to live my life. If it was just me, that'd be one thing, but it isn't. Lots of people can't move, or don't believe that spending two hours on the freeway every day is a healthy lifestyle. But guess what! We don't expect you to move your whole office to wherever it is we happen to live - we're generally happy to telecommute!
If I could relocate, Austin sure as hell wouldn't be my first choice. I moved here when I did because my ex-husband and I had blown most of our savings on our wedding but were desperate to get out of Seattle, and I knew the lower cost of living here would make it possible for me to support both of us if he couldn't find a job for a while. If I'd been single, more confident in my skills, and sans wedding debt I would have moved to San Francisco or New York. Austin's lovely, but I like being able to get a decent bowl of ramen. And take public transit. Of course I've since fallen a little bit in love, but when I moved here everything was brown and ugly and covered in strip malls and I had to keep reminding myself of the spectre of Seasonal Affective Disorder waiting for me if I turned tail and went home. Anyway, it's not objectively everyone's cup of tea. Maybe somebody wants to live in middle-of-nowhere fucking Montana all River Runs Through It. Maybe they're the best Python dev the world's ever seen. You don't know.
There's a popular theory that people are most productive when they all sit together in big echoey rooms at communal tables with no dividers between workspaces. I think that's horseshit. The only people who are "productive" in those settings, in my experience, are the type of management people who feel compelled to come over and interrupt you in person rather than send you a fucking email you can look at once you're done tracking down a bug six levels of callbacks deep. YOU KNOW? If your company lacks the tools to communicate remotely, it's highly probable it can't communicate at all. As for exposing devs to their peers, I agree it's a pleasure to work next to other JavaScripters, but I also see better peer interaction between people who don't work for the same companies every day on IRC than I have in any office I've ever been compelled to go to.
Companies who don't demand that engineers come to them have power right now. Over the past two years I've switched jobs a number of times and have interviewed a shitload. I'm not the best, but I'm good, and I've only been turned down twice. Guess what both companies had in common? If you think your company is getting the shit end of the supply and demand plunger, try opening your hiring up to remote employees.
do something interestingThis is harder. There are a lot of companies using the latest, hottest technologies that probably won't exist in a year. There are lots that do pretty boring shit, are tied to legacy code, but are stable and responsible. This is an Austin-wide problem, but also a problem for individual companies to solve. To attract technical talent, a city just has to have cool technology happening somewhere. It just does. Nothing is exciting when all you and your friends have to talk about is the best jQuery plugins to use in building a fly-by-night groupon clone. People get excited when one of their peers is implementing Node in production or switching over to NoSQL or whatever. It makes nerds feel competitive, it makes them more engaged because they don't want to be left out of playing with the latest coolest thing, so they go home and put something on github if they can't do it at work. But if all the companies in town are focused on money first and technology never, too many "tech" conversations are about funding and other business-y shit which gets really boring, at least for this engineer.
If your company makes something entirely uninteresting, that's fine. We need useful software to fill niches, or our whole industry suffers. If you make a boring thing, there are two things you can do to still attract good talent. First, if you don't need a senior dev, don't hire one. Hire a junior person, give them the chance to architect small changes to the system, help them grow as an engineer. If you do need a senior person, hire them, but carve out 10% or 20% time for them to do open source stuff or personal projects or whatever. And don't get all butthurt about paying them to do things that "don't create value". You probably use open source software. Your devs' skillsets need the support of a larger community to stay current. And bored developers quit producing and, well, quit. If you can't make your product interesting, that doesn't mean you can't make your engineers' jobs interesting, and you'll benefit indirectly.
It's hard not to read an article like this one and feel smug, but it's also hard not to feel frustrated. At the end of the day, we're workers. We're some of the only workers in this economy with any control over our professional lives, who don't have to live in fear of unemployment. It shouldn't be possible for companies to bleed talented people dry in exchange for the minimum possible compensation and bullshit perks like foosball tables, yet somehow it is.
A former boss of mine is quoted in that article, and I know he's one of the good ones, and treats his engineers as respected employees who play a huge role in the success of his company. There's an opportunity in this for executives like that, clearly, because so many more bring only a mediocre idea and a pile of VC cash to the table and expect to pick up developers as though we were all standing around idle on the corner outside Fry's. There's no more sense in competing with those people for bargain-basement talent than there is in working for them, and I think it's pretty easy to avoid having to do so for companies who can be a little more flexible.