377 karma · joined August 6, 2008
[ my public key: https://keybase.io/benstraub; my proof: https://keybase.io/benstraub/sigs/BD_h74voietOdIlDkwqC58RLaGlIR953UBlIl8457Qo ]
- 2004-2006: $40-45k. Writing C in an embedded context (barcode scanners). Local company.
- 2006-2011: $50k-70k. Writing C++ for device drivers and control panels. Japanese company, local subsidiary.
- 2011-2012: $80k. C# and SQL Server for an FBA/eBay selling tool, local company.
- 2012-2014: $130-145k. Working remotely for an SF company, writing C. Got some stock options which were worth 2 years of salary when the company was recently acquired.
- 2014-2016: $125-130k. VC-funded all-remote startup which didn't really go anywhere.
- 2016-present: $140k salary, yearly RSU grants worth about $50k at our current stock price. Public SF company.
- 2004-2006: $40-45k. Writing C in an embedded context (barcode scanners). Local company. - 2006-2011: $50k-70k. Writing C++ for device drivers and control panels. Japanese company, local subsidiary. - 2011-2012: $80k. C# and SQL Server for an FBA/eBay selling tool, local company. - 2012-2014: $130-145k. Working remotely for an SF company, writing C. Got some stock options which were worth 2 years of salary when the company was recently acquired. - 2014-2016: $125-130k. VC-funded all-remote startup which didn't really go anywhere. - 2016-present: $140k salary, yearly RSU grants worth about $50k at our current stock price. Public SF company.
None of these companies has required more than 40 hours of work each week, and starting in 2012 I've never had a vacation accrual or cap, and I usually take ~5 weeks off each year. I've been lucky.
Also, since my son had an extended stay in another state, we recorded ourselves reading books aloud to his sister, packaged them into audiobooks, and put them on his iPod. This really helped us feel connected as a family. I wrote a blog post about how to do it [2].
[1]: http://www.trelease-on-reading.com [2]: https://ben.straub.cc/2017/05/12/audiobooks/
But it's pretty common to put service credentials into a config file, so it's an anti-pattern to version-control them. It's _way_ safer not to, which means you shouldn't be version-controlling the thing that runs your container? This is sort of tricky. We're doing it by volume-mapping a non-version-controlled file for database credentials, and storing the rest of the configuration in the database.
http://www.amazon.com/gp/product/1484200772/ref=as_li_tl?ie=...
We do mention BitBucket in the [forking workflows section](http://git-scm.com/book/en/v2/Distributed-Git-Contributing-t...), and many of the lessons from the GitHub chapter will carry over; the two sites have a lot in common.
Not every sentence was rewritten, but 4 years is a long time. There was a lot of content that was either inaccurate or out of date. We added content about two-way bridges and migration to other VCSes, graphical clients, shell integration, and lots more. There are also new chapters on GitHub and embedded Git (Libgit2 and JGit).
To me, this is an argument for eating real foods, and a reason to be skeptical of things like soylent. But I don't think you can get from there to saying it doesn't matter what you eat, or that anybody with a rationale behind their food choices is delusional.
Authority, however, is totally different. It's the power to make someone do something they don't want to, and we try our darnedest to avoid that kind of situation. (Also note that "having authority" is different from "being authoritative".)
Every other job I've had uses some sort of stressful review as part of the salary process. You get a good review, your raise is bigger; bad review, smaller raise. This seems like it works, but it actually doesn't.
What's the goal of a review? To provide feedback. Shouldn't you be interested in feedback so you can get better, not just so you can get paid more? If so, shouldn't you be getting it all the time, instead of twice a year?
What's the goal of a raise? To keep you from being effectively paid less (because the cost of living keeps going up), and to make sure you feel satisfied with how much money you're making. There's nothing in there about making sure some people feel less appreciated than others. So pick a percentage number, preferably one that's above COLA, and just give everybody that. If that's not enough, your base salary isn't enough.
Note that none of these goals overlap. Feedback and salary don't really have common goals. If you're trying to get people to do better work by dangling the salary carrot, you're taking away intrinsic motivation – see DHH on mixing open-source and money, he did a good job with this topic – and you'll end up with less performance and motivation, not more.
Here's the thing about "management work": it turns out you don't necessarily need management to do it.
Setting priorities? This can be done through consensus.
Making sure schedules are met? Don't have schedules. (1)
Hiring? Have everybody do it.
Giving out raises? Set up a deterministic system and forget about it.
Giving feedback? Everybody can do this.
Running meetings? Don't have meetings.
Communicating with the other parts of the company? We have technology for this.
1) EDIT: forgot my footnote. Of course, we're in sort of a fortunate situation here, and not every company can just not have a schedule.
Also, I wonder if there are any plans for chip-and-pin. A swipe-card is very out-of-the-ordinary in the UK and Europe, I've found.