If the Programmer Won't Go To Silicon Valley, Should SV Go To the Programmer?
theodp writes: "If 95% of great programmers aren't in the U.S.," Matt Mullenweg advises in How Paul Graham Is Wrong (a rejoinder to Graham's Let the Other 95% of Great Programmers In), "and an even higher percentage not in the Bay Area, set up your company to take advantage of that fact as a strength, not a weakness. Use WordPress and P2, use Slack, use G+ Hangouts, use Skype, use any of the amazing technology that allows us to collaborate as effectively online as previous generations of company did offline. Let people live someplace remarkable instead of paying $2,800 a month for a mediocre one bedroom rental in San Francisco. Or don't, and let companies like Automattic and Github hire the best and brightest and let them live and work wherever they like." Microsoft and Google — which hawk the very tools to facilitate remote work that Mullenweg cites — have shuttered remote offices filled with top talent even as they cry the talent sky is falling. So, is "being stubborn on keeping a company culture that requires people to be physically co-located," as Mullenweg puts it, a big part of tech's 'talent shortage' problem?"
Chris Pepper also recently posted another reasoned rebuttal to Graham's post.
Also, stop being anal about degrees, credit scores, old convictions, age, and health.
There's no programmer shortage. That's utter BS.
There's just a hiring pathology.
I've fallen off your lawn, and I can't get up.
SV makes up only a small percentage of software dev firms. They're located all over the place. Instead of going to work in SV, why not work in Irvine? Santa Monica? Denver? Seattle? Phoenix? Huntsville? Hoffman Estates? etc etc etc?
And that's not even getting into the fact that many software dev firms allow you to work remotely. Who cares about working at Microsoft or Google if you can work at ADP or Northrop and live much cheaper?
The problem with the latter approach, is that programmers spend time when they arent working, thinking about the problem they are being paid to work on when they are working.
EG, they may have the sudden epiphany while playing super mario brothers, that they have failed to have while sititng in their cublcle, trying so very hard to push that solution out under great duress from their manager.
Or, as archimedes had his epiphanies-- In the tub.
This is not a new thing, and creative problem solving REQUIRES downtime to be effective. The people that insist "You arent applying yourself all the way, therefor I will ding you on your reviews!" are a problem, not a solution.
I can think of a few reasons why some software development companies oppose telecommuting.
Sometimes, an air gap can be the most effective form of information security. By 1985, Atari was already adding electronically locked doors; see posts about "building access" in Jed Margolin's inter-office memos from 1985. And for years, Nintendo required that authorized game developers operate out of a "secure office facility", explicitly excluding a home office. (Source: WarioWorld.com, the home of Nintendo's software development support group) This caused a bit of drama when Nintendo refused to sell a DS devkit to Robert Pelloni's home-based studio and Pelloni ran to the news media. (Nintendo relaxed this a bit in 2011, possibly to meet a threat of competition from iOS, Android, and OUYA.)
In addition, a lot of people still live in areas where affordable, reliable, high-speed, low-latency Internet access needed for telecommuting is unavailable.
Finally, the dynamics of interrupting another team member for a quick answer to a quick question differ between working in person and working remotely.
No matter what your industry is, some PHB is going to get into a position where they feel out of control and unproductive if they can't get instant gratification popping in on their people to micro-manage them. In-person meetings are a must for these people.
I was just talking to some people yesterday about the popular trend in offices to build open floor-plans in lieu of the traditional cubicles and dividers.
Even Google embraced the open floor-plan concept, yet I can't find much evidence from people working in such an environment that they find it an improvement?
Basically, people are remodeling in this style because it's viewed as more trendy and insightful. Never mind the fact that the old way was probably done for good reasons and to solve real problems. (Open floor-plan offices have serious problems with noises, distractions and a lack of appropriate places to go make a phone call with a client or vendor. They remove the privacy of the individual worker, causing everyone around to see every little thing you do. Duck out for a smoke break or to use the rest-room? Everyone immediately sees how long you're not occupying your seat and can make judgements on your behavior.
Same thing with this argument of using remote, "work from home" employees vs. making people come in to a central office. There are, IMO, many good reasons to expect your employees to be physically present in a central workplace each day. (Companies like Yahoo, who tried letting people work from home, decided to ban the practice when it turned out to be a failure for them.) Truthfully, I love having the ability to work from home in my own job - but I do computer support and systems administration work. Realistically, I usually wind up coming in to the office and only working from home about one day each week. In my situation, I'm (thankfully) given permission to make judgement calls about when it's most sensible for me to come in, vs. stay home. If I expect it will be a day of nothing but phone calls, helping users via remote access to their machine, and working with cloud based services we use? Then sure, I can do it from home. Many other times though, I'm expecting a package to arrive with a part to replace for somebody, or I'm just able to provide people a better level of service if I can look at an issue hands-on with them. (Remote control software is all but useless if you're trying to figure out why they're having monitor issues, for example. It may look fine on YOUR remote session screen even if their display is going bad.)
I know a number of our creative workers putting together marketing proposals and the like do better work when they're in a group together, in-person. We've given them plenty of tools to collaborate remotely, and sometimes they do. But there are still lots of limitations with the technology, including internet bandwidth issues for some people, meaning their video keeps breaking up or their audio gets choppy on a conference call. And ultimately, you can't celebrate with co-workers for a job well done by remotely taking them out for dinner or a few drinks, either.
I've become more and more convinced that the best solution is a mix of allowing SOME work from home or remote, and SOME expectation of coming in, in person. You won't be able to keep "best in breed" software development going with a scattered workforce who only collaborates video video chat, IM, email or phone calls.
No, they want you there so that they can talk to you, have face to face meetings with you, and have casual chats. Because all of these things are where actual decisions get made. Having one half hour Skype chat a day, in the 1-2 hours that you're online at the same time just does not cut it for getting everyone pulling in the same direction.
It's easy to cooperate with people who are awake and working at the same time as you. Managing projects up and down the US east coast was easy from Toronto.
If you have people in San Francisco that start 3 hours later, you have to intentionally organize for that time difference. Some people here worked late hours (including at least one night-owl friend who liked to come in at noon), while others cursed the absence of their colleagues. Still other gloried in the absence, and said things like "I get three uninterrupted hours of work!"
If QA was in Ireland (or India, or both) then people learned to hand off discrete chunks, and get the results in the morning. With people across either the Atlantic or Pacific, you get one meeting a day, so make the best of it!
One group did time-critical diagnoses, and had three shifts running: Singapore, Grenoble and San Francisco. They passed the same bug around the world, working continually on it until they got done.
Working in multiple timezones can work well, but only if you plan for it.
If you don't plan for it, you'd better keep your business in the zone you're in.
davecb@spamcop.net
No, they want you there because they are incompetent at managing, so they've got to have endless meetings and interrupt you all the time to justify their existence. The whole "management is giving people a task, the tools they need to solve it, and making sure nobody else gets in the way" mentality is GONE.
We complain about "hover parents", but micromanagers (or "hovermanagers) are just as toxic.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
No. Reciprocal loyalty is dead.
If you work in SV, you can likely walk away from a tech job you can't stand and have another tech job inside a week. Some people can do it the same day.
If you work in Omaha Nebraska, you can walk away from a tech job you can't stand and have another job inside a week. At Pizza Hut.
There's a huge benefit to the worker to being able to switch loyalties quickly in an industry which is notoriously disloyal to their workers; some people's notification comes in the form of them coming back from a trip and finding that their badge no longer opens the door.
There are also economic factors. First, it's very east to relocate from San Francisco to Omaha, because it's an economic downslope. It's very hard to migrate from Omaha to ... well, anywhere ... because it's an economic upslope. The equity in your house or condo will convert out nicely, going one direction, and will end very poorly going in the other.
Finally, there are the social aspects; I'm not just talking about nightlife, or the bar scene, or sexuality issues, I'm talking about having a group of friends and acquaintances with whom you can maintain face to face contact, who are able to help you out in a job search, which simply doesn't exist, if you're looking for a tech job, but don't live in a tech Mecca. It's just not going to happen. So when your company is disloyal to you (read: let go, RIF'ed, laid off, temporarily cut back, or any of the other euphemisms), there's no reciprocity.
Gone are the days you could move to Southern Utah, go to work for Browning Arms, and write IBM 360 assembly code happily until you hit retirement age, and then collect your pension for the remainder of your life, in happy retirement. Even IBM has moved to a cash-balance pension plan, instead of a fully funded pension plan. Jobs for life are a thing of the past. And relocation, when it happens, is generally a long term thing. IF jobs don't last as long as the relocation does, and there are no alternatives: no thank you.
I recently attended a talk by Joel Spolsky, of "Joel on Software" and "Stack Overflow" fame, who made exactly the same point as TFS. He said they were routinely hiring people to work remotely at Stack Overflow and using remote technology such as Skype in order to get the best and the brightest - presumably also at the best price, though he didn't actually say that. He suggested this as a future trend that companies were eventually going to adapt to.
Ironically, he gave that talk at a company that concentrates as many engineers as possible in one location. Oh, and he gave his talk onsite, not via Skype. Go figure.
Little guys like Indie video game companies can't afford studios. They make video games with an artist in one state, and a programmer in another state. The teams can get big, but they get successful software done. Telecommuting saves people tens of grand a year, and I'd take a job for 20-30 grand less a year if I could telecommute. That's the price of gas, time to commute and big time savings on housing. Meetings are even more productive than in face meetings because you both share computers with things like gotomeeting or join.me. You get communication via voice, and can share copy/paste buffers and write code together which is productive unlike face to face meetings where no actual code normally gets done.
Don't criticize telecommuting if you haven't done it yet. I know it is different(and people are afraid of change), but it is superior in many ways.
God spoke to me
Light-touch bossing (the best kind, based on employee reports) is harder with distance.
Technical supervision is easy. "I need a bubble sort added to the library by Tuesday. Bob, that's yours." Tuesday comes. It's there or it's not. Then look at the code. The merge sort used didn't match the requirements, or the bubble sort is recursive in an unstable way, or other problems. Whether the person is next to you or 10,000 miles away, you can evaluate the objective results of most tasks, and then take action.
measure how much they're applying themselves and how much time they actually spend working.
If your main concern is keeping your employees "busy" rather than productive, then you are doing it wrong. I don't care whether someone is spending 8 hours a day sitting at their computer staring at it, or 2 hours. If they do the same work, it's all good. The corporate mentality these days punishes fast workers. Do 8 hours in two? Then you either need to get another 24 hours worth of work to keep you busy, or spend more time trying to look busy than being busy. Both of those are bad (as implemented by most corporations).
Learn to love Alaska
I've had experience working with people remotely, and my experience has been that the problems scale with distance. Specifically, it's easiest to work with someone in your own office, a little harder to work with someone across the hall, harder still to work with someone across the country, and *quite* hard to work with someone across the ocean. By the time you get that far away, timezones become a major problem, and IT systems don't always work well.
From a business point of view, you have to look at the cost versus the benefits. I once worked with a group of people from India who reportedly cost 1/4 of what we cost. But we did some metrics that showed we were 6x as productive, so we actually cost less overall than them. The main reason we were more productive was that our local group was highly experienced in the specialized technology we were developing, whereas the folks in India were brand new to it. Also, the folks in India ran into numerous network and server problems that slowed them down. Evidently, nobody in The Big Corporation realized that they needed to spend money on IT, since this experiment was supposed to be about "cost savings".
Given time, the IT problems might have gotten ironed out, and the Indians might have developed the necessary experience. However, the India group had so much turnover that they never became experienced in that technology as a group. In contrast, we had some Indian folks who worked with us locally, stuck around (at least until they got their Green Cards), and were ultimately as productive as the rest of us.
The USA if full of talent that can't get employed because the cost of credentials in terms of time and money is much too high. Kids that excel in programming while in public school are told that after 12 years of a public education, they now need to slog through years of college and build a mountain of debt before they can apply their talent.
But without credentials, SV won't even look at you -- and they are mostly legally prevented from doing so .
Lots of foreign labor have the credentials, though, in part because their educational system is cheaper, less time consuming, and frankly less demanding of their students.
If SV will take a little time and reach out to high schools, they'll find tons of talent.
Of better, if they can create a credentialing body, they can more easily avoid legal pitfalls.
" is "being stubborn on keeping a company culture that requires people to be physically co-located," as Mullenweg puts it, a big part of tech's 'talent shortage' problem?""
Yes.
Opinion:=TMyOpinion.Create(Me);
No. Reciprocal loyalty is dead.
Exactly. Be loyal to people but never to corporations. The corporation will never be loyal back: it will lay you off as soon as it benefits the bottom line.
"First they came for the slanderers and i said nothing."
While ago I worked for a venture-backed company. The code was an awful steaming pile of dog shit. But a few modules were much higher quality than the rest. Logical design, solid implementation, good comments, full test coverage, etc. The programmer who wrote them had only worked for the company a few months before he was canned - apparently management thought he sucked balls.
No, 95% of great programmers are not in the U.S. But they ARE in high-educated, Western countries.
We're talking about actual programmers, BTW, not copy-and-paste artists.
Bosses would never go for it, because it will mean paying overtime - LOTS of overtime. They keep their jobs only as long as they can get the maximum effort from their underlings for the minimum expense.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
There's a huge difference between "interrupting yourself" after you've completed a section of code, and someone else interrupting you while you're in the middle of it. Taking a break helps.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
If all these immigrants are so beneficial to me, I want a citizen's dividend to prove it and I do _not_ want my citizenship's equity diluted by making "voting share holders" out of these immigrants.
Oh, you can't provide that for me?
Take your immigration propaganda and shove it.
Seastead this.
Nearly everyone I know in the Bay Area leaves for better pay, not "boredom" as you claim. The larger companies in the Bay area, and the elephant in the room I have yet to see discussed, were found guilty of illegally colluding to keep wages artificially low just a few months back. This impacted the wages of everyone in the bay area, like it or not (that is the nature of Capitalism). You can bet that there is still collusion, but people are going to be a lot more careful about their deals for a while. Those same companies for years have claimed "we need more H1Bs because nobody is qualified" as a way of further artificially depressing wages. Which brings up the 2nd elephant in the room, that a company not too long ago was found guilty of slavery abusing H1B workers.
So now a few of those same companies are claiming "95% of the good programmers are not in the USA" and who really believes them?
Stop and think about what it means to be a "good" programmer from your perspective, then from the egocentric pricks making these claims. I guarantee it's a completely different standard. To them, it's whether or not they get paid average or less in wages and how much hiring someone impacts their bonuses and income (which to us would be insanely excessive). For example: How well an employee can communicate is not in their measures, and in fact they don't want people that can communicate. How good is your team when there is poor communication?
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.