* be an excellent communicator
* be high bandwidth. F2F, skype, etc.
* be a whole stack developer
* manage "up". Think of things before your manager does, alert the manager to dangers and problems, give expert advice, avoid the problems. Managers love people who solve the total problem; they hate people who solve one very very narrow niche problem and then leave them (the manager) dealing with a leaky bag of shit. Saying "well, that wasn't in scope!" does not make them happier about holding the leaky bag.
I guarantee you that no one bidding $5/hr and working on a timezone 12 hours away delivers this.
So, to recap:
1) work in a city when young
2) make contacts
3) be good at what you do
4) manage up ; solve the REAL problem
Do that and you'll have lots of work and make good money.
I agree, and I hate it. What happened to the days when I could just be productive? Now, I have to spend hours "working as a team" (ie, socializing) on Slack. I hate it so much that I've dramatically cut down on the work I do. It's not that I'm asocial, it's just that I don't want to be exchanging memes when there's work to be done. I want to do the work, and do it well, so I can spend time with my wife and kids. Work for work, socializing for after work.
Even with IRC, it didn't use to be like this. What happened?
For the record, I'm not talking about being responsive, or good communications. That's critical. I've always responded to client emails within 2-3 hours (I break up my day into 3 email checks). But I find it impossible to get much done with teams that expect me to hang out in Slack or Hipchat all day long. But the younger kids love it. Maybe they code and chat at the same time, I don't know. I can't do it.
Doesn't anyone just hire people to do a job anymore? Are even contractors doomed to spending their days "meshing"?
What I'm talking about now is working as a contractor/freelancer for short-term projects, like even as short as 3-4 week projects. Most of the good freelance jobs expect you to be on Slack coordinating with their team in Eastern European country X. It really didn't use to be like this, I used to be able to make good money as a freelancer just coordinating with other freelancers and the contracting company/individual a few times a day. And in my opinion, it worked a lot better. Yeah, the irresponsible devs can't screw around as much if someone's keeping tabs on Slack, but the productive ones are significantly less productive this way. And why would you hire a remote freelancer you didn't trust to do the work?
And jobs that are paid per job and not per hour aren't any better, in my experience. Everyone has to be online, checking in, chatting, exchanging memes.
Maybe I've just had a streak of bad luck this year, but it definitely seems to be a significant trend.
I don't know, maybe I need to make a concerted effort just to work for small businesses, and not start-ups or mid-sized companies.