I’ve recently started the arduous process of finding a new job and have encountered quite a struggle in the process so after having read Paul Graham’s article on immigration, I decided to write this article to weigh in with my lay knowledge, anecdotes, and personal knowledge.
First, let me reiterate what Paul said. Basically, he spoke about opening up immigration in order to facilitate an influx of GREAT developers.
I often see the topic of shortage of coders. In fact, there’s a popular myth that for every five development jobs, there’s only one qualified developer. So let me discuss these “shortages” and my solution to widening the pool of applicants.
What’s interesting is how much companies discuss this problem. From my perspective, there are enough good developers; however, the ratio doesn’t allow for companies to have proper leverage over developers. The developers unfortunately cannot be easily bullied nor threatened with firing. They can easily become indispensable. And that’s a problem for companies. So why not fix this issue with a bigger market of developers? It would incentivise developers to compete rather than companies. Great for companies, not so great for developers.
Note: I honestly do think that there need to be more great developers.
At first glance, the hiring world is full of opportunities for people like me. In fact, I applied for nearly 20 jobs in the past month. All of them pay well, have great benefits, some of them would even pay for additional education and give me a month and a half of time off from the start.
It’s crazy, it’s luxurious, and its insane. I like it. But after a few minutes on the phone, the dreaded question comes up. Either I bring it up or the hiring manager does.
“Do you allow remote work?” Or the converse question “are you in the area or will you relocate?” The answer to both questions is usually a resounding “no”.
It’s surprising really. With companies offering benefits such as:
- flexible schedule
- bi annual week long trips to conferences and/or vacations (yes, vacations, you heard it right)
- free beer
- tons of money
- dry cleaning
- expense accounts
Remote work seems somehow impossible. I just can’t wrap my head around it. I’m moving in two months so finding a job is a priority but I can neither look for positions here nor there.
In fact, out of the 20 companies I spoke to, none have ever considered the possibility. One actually told me they’d fly me up to their headquarters twice a week. Twice a week! How crazy is that? That’s ~$600 extra a week just to have me attend a couple of meetings I could easily attend via hangouts, Skype or whatever else. That’s nearly extra $30 000 in just flight tickets for me to attend a couple of meetings a week. Plus hotel and expenses. And by far, it’s not the most outrageous thing I’ve heard (it is, but I like to always keep the mystery of possibly more outrageous behavior).
My mind was blown at the lengths companies will go to have you at least somewhat in-house.
So where are all those great jobs now? And I know I’m not the only one in this situation with the inability to move somewhere random.
For instance, there’s a town, a booming town 500 miles away from me. But it’s about 1-2 hours from any major city. It has over a 100 development jobs, in fact, it’s the equivalent of a mining town but for tech people. It has barely any infrastructure for families or even anything fun to do yet it requires everyone to be on site.
Who’d want to move there? You’d sacrifice your entire life to work “on site”. Ridiculous.
And the story goes on. I’ve talked to companies that have searched for candidates for months, roles that I’d fit perfectly but I’d have to move across the country to somewhere I don’t want to live. I was seriously considered numerous times with the hiring manager (or whoever I spoke to) pleading with his superiors. The result: Remote work? Out of the question.
On top of that, most of the jobs ARE in the bay area or in NYC. Both very expensive areas where that 6 figure salary will amount to no great luxury. Especially compared to living in other cities on that salary. I’m in Houston, TX right now. Getting that premium Bay senior engineer salary over here will grant you a mansion and a team of servants while over there, you’ll get a decent 1br apartment.
So, to summarize the situation: jobs are available in big expensive cities, companies feel like they have to select from a small candidate pool that’s already too tight, and companies won’t budge on Remote work.
Strangely enough, I’ve encountered a great deal of companies that required in-house full-time; however, they also employed long-term contractors, some for even several years. It begs the question, Why?
The obvious solution would be for developers to become full-time contractors but being a contractor has its detractors and not everyone is up for it. There’s tax work, there’s invoicing, and there’s the possibility of late payments, and the work can be highly unstable. Contractors are the first ones to get cut when a company doesn’t do well. It’s why they’re contractors, and not salaried.
There are plenty of other reasons as well. For me, personally, it has to do with getting a house. A Contractor is like the black plague among lenders. Unless you’ve been contracting for years in the same area and want to buy in that area, you just can’t get a fair mortgage. I know, I’ve tried.
For others, there’s the hassle of saving up for time off, and the lack of benefits. All of a sudden, 40 hours a week is work but additional 10 hours a week is necessary just to sort out finances, benefits, and everything that HR and an employer is usually responsible for.
But back to my story.
And it’s not like no one is doing Remote. Both Tumblr and Github do remote work, even Microsoft which likes to capitalize on it by selling the Surface as the perfect remote work computer. Github prides itself on its remote infrastructure. And what’s interesting is that unlike 5 years ago, today, we have ALL the necessary tools to allow people to work remotely. Especially for a job like web development and programming.
So what would you need? Easy:
- chatting app that everyone uses. Even companies that don’t do remote have an “official” one. At my last job, we had AIM. At my current job, we use Hipchat, at another job, I used Skype, and so on.
- conference technology. Which is pretty much a laptop with a webcam and Google Hangouts. That’s pretty much all that’s needed.
- using your email. Again, all companies use email already.
- project management app. A little beside the point, but again, it works perfectly for a remote team and actually for in-house team as well.
- code and asset repositories for easy sharing
- good communication skills.
- willingness to do this.
Most of these are already essential for working in-house to begin with. I can’t imagine a company bigger than a 4-people startup able to operate without a PM app or email, or even a chat app. On top of that, any company that uses web development should already have an off-site code repository setup. So the change to infrastructure, from a programmer’s point of view, is not big at all.
At one of my previous jobs, we had half the team off-site, and another portion of the team at a separate office. Whenever developers came down to town, we were able to do some in-person training, socializing, etc. which allowed us to also have important in-person meetings; however, most of them were possible to be done remotely (in my opinion).
Is there anything extra that can help foster a remote environment? Sure:
- A VPN with access to sensitive data. This could easily hold assets.
- A file-sharing service. Dropbox has a brilliant business plan.
- Face-to-face meetings with webcams on a regular basis.
- quarterly in-person meetings.
- modularize work.
So I’ve talked about how companies are rigid in their remote policies. Let’s talk about developers. While it is true that most developers reside in big cities, it’s mainly because of the job availability. There are plenty of developers that live outside of that area.
Funnily enough, there was an interesting discussion on Reddit, on
/r/webdev about a year ago about salaries. There were developers all over the country who were paid, for a lack of words, “shit money”. I mean, there were developers getting paid barely above minimum wage! Crazy, right?
The reason for that was their location. They lived in semi-rural areas and small cities. Ones that had 1-2 dev shops if that. Some worked fully freelance with a difficulty finding work, while others took whatever wage they took. There was a guy who got paid $10/hour while making 3 full WP sites a week (before burning out). There were plenty of other developers that got paid sub-$30K and they’d jump at the chance of making $100K or even $60K remotely without having to move across the country.
Even people living in other large cities would be interested. Who wouldn’t jump at the chance of working from home and for more prestigious companies than you can find in some random place?
Let’s take my earlier example, the town that’s 600 miles away, is a booming town for startups but it pretty much sucks if you want to live there (I know because I researched it). These startups and companies would benefit from the influx of new candidates, the pool would widen to include a large number of developers that otherwise would not consider working with them.
Again, so the pool would expand, considerably.
But this is all circumstantial. I don’t have statistics or data to support my opinions.
That tiny little violin
In the big picture view, developers have it easy and so do the companies. Developers get paid well and companies profit from the work of developers in large magnitudes.
All in all, both sides are comfortable; however, there seems to be something missing and it’s very apparent. Whether it’s the number of developers or the job availability in non-central cities/towns, remote work could solve these issues and equalize the availability of developers and the competition of companies.
The down side? Small dev shops could be seriously hurt by this. Like I said, there are small dev shops that can afford ~50K or less/year to pay a developer, and for good reasons. Plus, ~50K in those areas may be more worth it and may provide a solid income. But then again, small dev shops can always snag clients from all over the country.
So what about immigrants?
Lastly, let me attack Paul’s essay directly, bit by bit:
But if you talk to startups, you find practically every one over a certain size has gone through legal contortions to get programmers into the US.
I’d love to see how many of these startups openly advertised remote work? Or tried to outbid cities that have a much lower average for developer pay?
“We’d hire 30 tomorrow morning.”
Great! So why don’t you widen your search outside of Silicon Valley?
But seriously, I agree with Paul, mostly. I’m an immigrant myself though I got here through different means. When I got here, I never dreamed of being a developer and now that I am and find myself developing tools that other people use and benefit from, I’d like to think that I’m helping that “great developer” ratio into the positive.
I’m talking out of my ass
All in all, I’m talking out of my ass. I don’t have any evidence or data to support my case other than what I’ve witnessed and experienced. If you’ve ever looked for full-time remote work, I’m sure you’ll agree that it’s a bitch and it honestly doesn’t have to be and it could allow a much greater versatility among startups and companies that get into “bidding wars”.
Half the time companies can’t even justify requiring in-house development (other than age-old policy or an excuse like “synergy”), the other half the time they try to get you to move to bumfucknowhere or just somewhere you don’t want to go.
If you’re in my situation, I’ve got a couple of pieces of advice for you:
- Check out stackoverflow’s remote jobs board, out of all the time I’ve been looking for work, this is by far the best job board for remote work.
- If you don’t need a loan any time soon, or proof of employment, or whatever, try Contract work. It’s satisfying, it’s wonderful, it pays well. If you do get into it, make sure to learn about all of your “unaccounted expenses” (time off, benefits, etc.) and be prepared.
If you know a company that’s hiring, feel free to shoot me an email firstname.lastname@example.org.