I am lead engineer at a start-up and my goal is to create a good work environment for our current and future devs. #1 enemy is the on-call, which should be resolved with customer support + some automation.
Lots of automated tests. A good community team. Code reviews. A _rigid_ feature-branch-and-test process. A _rigid_ closed beta->open beta->release process.
And we still have bugs. But things don't catch fire often, and when they do, it's usually not our fault. ;)
What is your vacation policy? Fixed amount + required to take or unlimited + take what you need? I am not a big fan of the latter, but not sure how it works for others.
Thanks.
I think it helps that they've never taken issue with my general performance; if I weren't satisfactory in my output then I probably would have some push back.
I work eight hours a day on average, and being that we have staff on most continents we don't really have a need to be on call. That said, I've had a handful of 3am emergencies over the course of the last few years.
I work in my garage; so I have no commute, and I no longer lose over two hours a day to commuting. That's meant I contribute far less to open source, which I did while on transit. However, I don't miss commuting at all and am thankful for the time recovered.
Balance is blissful. While my wife was on maternity leave for twelve months our girls were at home as well, and so my breaks consisted of spending time with my family. Now I walk them to daycare before work and listen to the rain on my roof while I work.