Zach Holman
zachholman.com · Personal blog · on HN since 2010
Zach Holman, a former GitHub engineer, writes about software workflows, remote work, Git, deployment, and giving talks.
What HN saysCommenters list it among favorite blogs and recommend his talk on talks and his long UTC and time zones post.
236HN people shared it
117linked it in comments
235stories submitted
15Kstory points
3 months agolast shared
2010people per year2026
Most-shared posts
- 1Fuck Your 90 Day Exercise Window (2016)14 people · 208 points · first shared 2016 · 80 comments on HN
- 2UTC Is Enough for Everyone, Right?10 people · 805 points · first shared 2018 · 304 comments on HN
- 3How Github uses Github to build Github10 people · 392 points · first shared 2011 · 66 comments on HN
- 4Firing People9 people · 328 points · first shared 2016 · 98 comments on HN
- 5Utter Disregard for Git Commit History8 people · 39 points · first shared 2015 · 10 comments on HN
- 6Remote-First vs. Remote-Friendly8 people · 30 points · first shared 2015 · 3 comments on HN
- 7How to Deploy Software7 people · 559 points · first shared 2016 · 169 comments on HN
- 8Git and GitHub Secrets7 people · 40 points · first shared 2012 · 1 comments on HN
- 9Double Shipping7 people · 12 points · first shared 2018 · discussion on HN
- 10Homepage7 people · first shared 2011
- 11Move Fast and Break Nothing6 people · 465 points · first shared 2014 · 83 comments on HN
- 12Write Angry6 people · 13 points · first shared 2020 · discussion on HN
- 13Only 90s Web Developers Remember This5 people · 1.9K points · first shared 2014 · 397 comments on HN
- 14Fired5 people · 1.0K points · first shared 2015 · 389 comments on HN
- 15The Depression Thing5 people · 847 points · first shared 2017 · 328 comments on HN
What HN people wrote when they linked it
thallavajhula · 2020-02-09
Here are some of the blogs I follow:
https://tjcx.me/
https://blog.vjeux.com/
https://zachholman.com/
https://rsms.me/
dustinupdyke · 2011-10-26
I first heard of Hubot from Zach Holman here:
http://productblog.37signals.com/products/2011/04/hubot-githubs-valian…
He also posts great stuff on his own site FWIW here: http://zachholman.com/
davewasthere · 2011-08-30
One solution that I think has a ton of merit is using github-pages.
You create an account on github and add a repository that is the same as your username. You can then set up a CNAME record (which you'll point your DNS too) and can host the pages using a custom domain name.
The beauty of it, is the pages are static, super-fast. No problems if you ever get HN'd, TechCrunched, Reddited.
A beautiful example is http://zachholman.com/
and you can see his github-pages repository here: https://github.com/holman/holman.github.com
Just my 2c worth!
saltyoutburst · 2024-02-18
My favourite meta-talk post is Zach Holman's 'The Talk on Talks'. https://zachholman.com/talk/the-talk-on-talks/ It covers some of the same basic design territory but also touches on delivery, Q&A, etc.
tinodb · 2023-01-01
It’s a long post, not a book but still a great resource on this topic:
https://zachholman.com/talk/utc-is-enough-for-everyone-right
gkop · 2022-06-08
2022 is a great time to join a start up. Tech compensation has plateaued at a high level. The “recession” is good for innovation. And in recent years early and extended exercise have become the norm, so equity is less of a scam.
And start ups are fun. https://zachholman.com/posts/the-basement/
SamuelAdams · 2022-01-01
Semi-related, one of my favorite posts on UTC. Seems simple to use until it’s not.
https://zachholman.com/talk/utc-is-enough-for-everyone-right
HugoDaniel · 2019-03-27
This is also a related article:
https://zachholman.com/talk/utc-is-enough-for-everyone-right
It is more high level but a very good read on the subject.
Zaheer · 2018-09-21
Reminds me of another great post on the topic by Zach Holman:
https://zachholman.com/talk/utc-is-enough-for-everyone-right
icc97 · 2017-10-11
This is the same Zac Holman who was fired from GitHub [0] when he was having tough times.
It's great how open he is about it. I'm waiting until we see going to the doctor to talk about pain in your brain the same as going to talk about pain in say your colon. That is, perhaps not something you'd talk about to everyone but at least you'll be able to see someone for free in Europe or with minimal insurance costs in the US.
[0]: https://zachholman.com/talk/firing-people
tambourine_man · 2017-08-09
This guy's got a great sense of humor. I pissed my pents with the linked[1] 1x1.gif article.
Or maybe I'm just as old as he is.
[0] https://zachholman.com/posts/only-90s-developers/
birken · 2017-03-06
Zach Holman has a great article about it: https://zachholman.com/posts/fuck-your-90-day-exercise-window/
And keeps an ongoing list of companies that offer extended exercise windows: https://github.com/holman/extended-exercise-windows
As somebody who has personally experienced every aspect of the stock option lifecycle (which fortunately worked out for me), I would never take a job at a company [1] if they didn't have an extended exercise window. The 90 day expiration period creates a massive gap between the risk/reward of equity for founders and the risk/reward of equity for employees, when the whole point of giving equity is to align those.
1: Assuming it was the type of company that compensated people with stock options
GuiA · 2017-02-21
Zach Holman recently blogged about this:
I saw GitHub’s valuation move from sub-$10M to more than $2B; beyond that, GitHub is turning a decade old this year. Traditionally, this would be a great point where lots of little companies get spun off from this created wealth, and employees and former employees would be able to help with that.
In reality, I can probably count on one hand the number of people from GitHub who are in a financial position to become true angels. This is far from a problem unique to GitHub; the entire industry is concentrating its cash in a select few.
https://zachholman.com/posts/slow-exits
HN discussion: https://news.ycombinator.com/item?id=13655855
__derek__ · 2016-12-22
This seems like it all comes down to the remote-first vs. remote-friendly divide.[1]
[1] My favorite post on the subject is Holman's: https://zachholman.com/posts/remote-first/
sytse · 2016-05-23
Also see the tweet before that https://twitter.com/holman/status/734842310609899520 "We’re still so far off from even scratching the surface of open, collaborative development tools. We need to speed up, not slow down."
I totally agree with that vision and I'm very glad to have Zach join. He is an amazing advocate for developers and I feel honored that he joined us.
More information about Zach Holman https://zachholman.com/about
jschulenklopper · 2015-06-05
Zack Holman has a great "The Talk on Talks" at http://zachholman.com/talk/the-talk-on-talks/ which lists some pro-patterns. Furthermore, his site at http://speaking.io/ is a great resource for preparing and delivering presentations.
josso · 2014-04-27
For those still in college, I think Zach Holman's talk ”If Only I Knew This Shit in College” is pretty good. He describes why he thinks startups are great, what they allowed him to do, what made him join GitHub, and how to keep improving.
http://zachholman.com/talk/if-only-i-knew-this-shit-in-college/
http://vimeo.com/92087878
holman · 2014-04-13
As mentioned, these are cribbed from my Git & GitHub Secrets talk: http://zachholman.com/talk/git-github-secrets/
If you're interested in the arcane side of Git and GitHub, you might also be interested in the follow-up talk I've given a few times the last half-year or so, which details a bunch of other new things: http://zachholman.com/talk/more-git-and-github-secrets/
I'm more of a fan of the second talk, myself. My favorite thing I discovered while making the second talk was the "second-order-diff Git trick", which Tom Moertel came up with here: http://blog.moertel.com/posts/2013-02-18-git-second-order-diff.html
steveklabnik · 2014-03-17
At the same time: http://zachholman.com/posts/github-communication/
> We still use (and love) Campfire.
gioele · 2013-09-24
Indeed my point was that Github itself is not open source but uses open source technologies (git and various bots) and methodologies (distributed team, lazy coordination, it ships when it is ready). Have a look at http://zachholman.com/talk/how-github-uses-github-to-build-github/ for more information.
I think this open-source-like way of operating makes their great coders happy to work on a closed source project.
hodgesmr · 2013-05-29
I don't really have a pattern that I follow when I launch the terminal, but I'd say the first command that I run is either git status or git pull --rebase since I'm usually working in a git repository. It helps to have a custom "environment" configured just how you like it. I keep my dotfiles (configurations) hosted on GitHub (http://github.com/hodgesmr/dotfiles) so that I can easily load them up on any machine I'm working on and others can use the if they like.
Zach Holman did a good post about dotfiles: http://zachholman.com/2010/08/dotfiles-are-meant-to-be-forked/
miles_matthias · 2013-01-24
So I love how github works. Love it. But I think they're able to work like that because they are a highly technical, product oriented company. (see http://zachholman.com/posts/how-github-works-hours/)
I've always wondered, how can companies that do client work adopt those principles? Is it even possible?
pabloPXL · 2012-02-03
Thanks! but I can only see it as a bad hack, as it's just grep doing almost all the dirty work :) btw I got the idea from http://zachholman.com and his boom-db...
DanielRibeiro · 2012-01-10
Zach Holman, from Github[1], had an interesting insight[2] into coding problems and interviews:
I think programming riddles, games, and brain teasers are a great way to hire. First one to say "fuck this" and walk out gets the job.
[1] http://zachholman.com/posts/scaling-github-employees/
[2] https://twitter.com/#!/holman/status/154986236640112641
bgentry · 2011-11-10
IMO the swearing is much less distracting than his many failed attempts at humor. See http://zachholman.com/screencast/play/
Humor is great in a presentation when it's used appropriately (and when the jokes are actually funny). But in that video, it comes off as very contrived, like he's trying too hard to be funny.
bJGVygG7MQVF8c · 2020-05-02
Higher level tooling doesn't prioritize this.
That's an excellent point.
It's deep in the DNA of GitHub, unfortunately. I'm always reminded of this contrast:
> Look, I don’t give two shits about my Git commits. [...]
> From GitHub’s perspective, individual commits become less valuable because the atomic unit is the pull request.
Utter Disregard for Git Commit History
https://zachholman.com/posts/git-commit-history/
(The problem with this "unit of change" theorizing is obvious, especially considering GH only recently added a squash-merge feature.)
vs. Torvalds on GitHub PRs:
> Git comes with a nice pull-request generation module, but github instead decided to replace it with their own totally inferior version. As a result, I consider github useless for these kinds of things. It's fine for hosting, but the pull requests and the online commit editing, are just pure garbage.
https://github.com/torvalds/linux/pull/17#issuecomment-5654674
moh_maya · 2018-04-25
Lots of very useful suggestions, but I'd also add:
a) Be patient with yourself. Whether it is therapy, medications, etc. these things take time. Months, at the very least.
b) You may have to switch multiple therapists, after investing a few weeks with each (multiple sessions). This is exhausting. But stay the course. Hard as it is.
c) Medication: You may have to try different drugs; they may not work. They most likely will have side effects even if they are not helping. This process is also draining.
Therefore, in addition to patience, if you can, let someone else know you are trying & going through this, so that they can remind you to be patient. To give yourself & the process time.
Edited to add:
This essay [1] by Zach Hollman, is really really great for a very personal, insightful, reflective assessment of how hard it is, and what a battle it can be.
[1] http://zachholman.com/posts/the-depression-thing
Shank · 2017-01-30
[Zach Holman](https://zachholman.com/) is a big one for me.
dasil003 · 2016-11-13
I generally like GitHub Flow (https://guides.github.com/introduction/flow/) because it gives you isolation for individuals, but with only one ceremonial branch (ie. master). It might not be sufficient if you have formal release and QA cycles where you need to batch a bunch of changes to push to a staging environment, but all else being equal I prefer to optimize for branching, merging and deploying to production quickly. And with current cloud and/or containerized setups, it becomes possible to have on-demand staging environments (or even using ngrok with dev workstations!), but YMMV.
The main cherry I like to put on top is to always rebase before merging then merge with --no-ff (which is the default with GitHub PR merge button). This gives linear history for purposes of git bisect but preserves the topic branch structure so you don't have to read the tea leaves of the individual commits to piece together the overall development timeline. That one little piece goes a long way to addressing the concern that "rebasing destroys history" (which I don't agree with anyway, but that's the topic of another post).
This might not be worth it for certain types of contributors who are not programmers by trade, but for career programmers I believe mastering git and rebase in all its flavors (-i, --onto, pull --rebase, etc) pays big dividends that your team will appreciate more as the years go by. For git beginners maybe you start without rebasing, then learn the ins and outs of…
pimterry · 2016-11-01
One thing to look out for is remote-first companies, not just remote-ok companies. Zach Holman has a good post on this: https://zachholman.com/posts/remote-first/
If you're one of few people in the company working remotely (or worse: one of few in your team), you get cut off really easily. Remote practices won't be up to scratch (because most people aren't using them), meetings will happen in person and dialing you in will be a chore, and things won't work as well. You'll hear about major events by email that everybody knew about last week from office chatter. This isn't to say it'll be a disaster, but it'll be less effective, and less fun.
Companies where everybody works remote by default meanwhile are a different ballgame. Everybody understands how remote interactions should work, and that's what gets used to get everything done. People are good at using the tools and processes required to pull this off well, and the company will be better at managing solutions to the downsides of remote work (by flying everybody into a summit to see each other in person every 6 months, for example, or covering coworking space costs). You're no longer the great developer they want _despite_ you working remotely - you're now one of many people, all working remotely, and all working together on the same playing field.