Your starting point is my ending point.
Nothing stands in the way of deep focus like open floor plans.
Nothing stands in the way of producing extraordinary results than lack of opportunity to focus deeply.
And nothing stands in the way of being a great place for me to work than not being able to produce extraordinary results.
I would turn your strategy around by first finding proper working conditions for workers (for me, this means an office with a seat facing a door that closes) and only then adding the perks (coffee, snacks, email, vacations, etc.) that don't make any difference if we don't already love our work.
I had a dedicated office for about a decade starting at 18, and an open office for about half a decade since. Before that I've also worked out of my bedroom and basement for a few years.
Interruption and distraction are the enemy of productivity. Managing these two monsters is essential, whether it's the people in the room or what you let distract you on your screen.
I noticed noise canceling earphones did more for me than anything else. same goes for earplugs. Having a clear list of what to do is essential to get you started. Turning of all notifications including email and im was really helpful as no walls protect against that. I keep my phone on silent and no vibrate. think some of this stuff stands out once you've worked for a while and noticed the ultra productive times vs. not.
Very little is so important it can't wait. If it is, someone will interrupt you. Making this clearly known is important to anyone who might assault your space, and physically or electronically.
Finding your formula of how to become deeply focused and productive is important, but realize it may not be one formula for everyone. Some people benefit from being in the same room to keep them focused (this is especially true when younger), and and others do better in a cave like an office. Whatever it is, understand it's about going to that inner cave in a way and managing the distractions and interruptions.
The "just take vacation whenever" thing works great until it doesn't. What do you do when:
- You have burnt out people who won't take vacation.
- Employee X has a husband with a terrible medical condition who is taking off excessive amounts of time. When do you stop paying her for this time?
- Employee Y crosses the invisible line and becomes a "slacker" because he takes too much time.
- Supervisor Z makes it difficult for employees to take anything more than a long weekend.
- Employee ZZ takes on reconciling the credit cards that everyone has access to, and uses this position to embezzle from the company. He's always busy, so doesn't take time off, and nobody else looks at the statements.
IMO, the issue to the company is that you don't want to accrue lots of liability for paying out accrued time. So figure out another way to do that. Want to make people happy? Give them 6 weeks of PTO, minimize accruals, and do a year-end shutdown that forces them to burn a week. Start with some sort of written policy -- people need to understand what they can and cannot do.
I telecommute full time, and there is no substitute for the flexibility and accessibility.
It's one of my life goals to live on every continent at some point.
I've worked remotely before with great people and it works really well when done right, but it's not something I personally enjoy all that much.
2. Small office with doors for every developer. No cubicles or open spaces.
3. Good workstations with headphones.
4. Good lightning plus an extra lamp.
5. A white board.
6. A bookcase.
7. One of those anti-fatigue floor mats (for when I work standing up.
Credit card to buy books/materials.
Tickets/time to go to conventions.
It seems the only option is to build them yourself inside the office, since many office spaces are pre-built for cube farms.
With most (all?) good employees your problem isn't them taking off too much time, the problem is getting them to take their vacation when they should. From a strictly business sense, vacation's purpose is to refresh the employee and make them more productive. If you're paying for vacation days and they aren't getting used, you aren't getting what you payed for.
I think a vacation policy should encourage people to take time off without feeling guilty. Here's my proposal:
Your get 4 weeks a year the day you start (pro-rated) and thereafter on January 1st. You don't have to take them all but they expire at the end of the year. This reduces the mental justification for not using your vacation ("I'll use it next year") yet you can still take a vacation in January if you want to.
Not long ago, I worked at a large investment bank (which shall remain unnamed). Not only were we forced to use horrible networked computers running on XP with Excel 2002, but were also forced to use IE8.
However, one can only tolerate so many browser crashes before he begs permission from IT to install Chrome. That was a glorious day.
Another thing that I think startups struggle with is letting people work when they want: ie. if I want to work and am productive late at night or on Saturdays, and I feel like taking the morning off or a weekday off, I should have the liberty to do so. But, this is really hard when you have other employees who all adhere to schedules and you want to have meetings. Perhaps it can only be accomplished at a later stage.
I think flexible work hours are great. It will be our job to make sure we make our employees feel comfortable working the times they work best.
I think that is what managers are for. The manager's job is to facilitate communication between team members. If one person is more productive during the night, the manager's job is to step in and make the communication burden minimal.
The must have is don't be an asshole.
And a wall covered in magic whiteboard with kanban boards &c so your (hopefully plentiful) employees can see the progress and find the rocks in the river easily.
Actually, as a non-technical person, some of the best short term projects I was involved in years ago were in crummy offices that NGOs could afford to rent. We just made it work, but I suppose the commercial start up thing is different.
I am standing by the computer part. The technologies we use are pretty standard web dev stuff (HTML/CSS/JS and Python/Django). As long as line endings stay Unix, it doesn't matter what machine you use.
I think it's crucial that developers use the environment they work best in. If you can build the same software on any OS, you should get the one you prefer.
At our size, I'm not worried about hardware support, and I'm guessing most people will want a Macbook Pro anyways.
1. "No defined vacation policy" - you do consider this, but I think it will still be a problem actually making people take time off especially if this is just left up in the air for the developers, as a dev you need time off but you're so consumed with your project and its such a part of you that I find myself never doing this unless I know that I have to take 4 weeks or whatever per year, then I can alot time for it. So I think the "loose" idea is good but there probably needs to be a basic timeslot for vacation, or suggestions or something so people don't get burned out.
2. "Company credit card access" - this is another really good idea, but I'm the type of person that feels uncomfortable with this sort of thing (don't know how others are?). Personally, I'd just like to know that hey, you have such and such amount of money for general courses/books per year, if you don't use it, well ok it doesn't get added to your salary but its always there. I don't know that's just my opinion of what I like. Then I feel comfortable, buying resources that aren't %100 percent work related (say a book on Functional Programming, when all I do is build rails apps).
3. "They pick their computer" - yes, dead on, this is a must in my opinion, though if someone picked windows I might actually be apt to deny them - jk. Also I might go so far as to say dual or tri wielding with the monitors is a company mandate.
4. "Let them pick their own email address" - I actually disagree on this one. I think there should be a well defined email schema from the onset such as email@example.com so that you end up with descriptive namespaces for individuals in the company that everyone can remember and looks professional on businesss cards and in to/from headers, not things like firstname.lastname@example.org.
5. "Dedicate time and resources to learning." - I agree with just about everything here. I would actually even go further though (haven't tried this, its just a thought), and concretely set asside a time, say Friday afternoons, where no one is allowed to work, but its hacking time, where they can work on side-projects or experiment with new things, just so everyone can stay uptodate, work on their own stuff, and head into the weekends with a good relaxed feeling.
again great list :)
Picking your own email address and hostname sounds fine in theory, but as the company grows, having a naming scheme like first initial last name lets you email people easily without having to remember the format that they chose. Plus it means that the first few employees get all of the cool email addresses (email@example.com, etc), and it's hard to change emails down the line.
And no vacation policy sounds nice in practice, especially as an employer (we're all adults, be responsible), but it falls apart quickly especially if people are workaholics and don't take vacations. I have trouble taking vacation as it is, with no defined policy, I basically don't. It would be even harder if my boss didn't take vacations. Now, this isn't my employer's fault directly, but I would prefer a defined vacation policy with a no sick day policy (or better yet - "if you're sick at all, don't come to work or you're fired") and an understanding of short term tradeoffs for when you do things like pull all nighters.
Company credit card is great. I'd even go so far as to say tell every person - here's $500 to spend each year making yourself more productive. Then let people (subject to approval) buy whatever they want.
As for a clear salary system - in theory, sounds reasonable, but you have to be flexible with salary since you don't want to lose good developers because your "culture" says you can't pay someone an extra $5k/year. And if you start making exceptions, I think that's worse, since it gets perceived as favoritism. At the same time, that salary talk should happen twice a year, no exceptions. There should also be performance reviews every six months, and the performance reviews and salary conversations should not be the same thing (since otherwise I think people will just wait to answer the question of "am I getting a raise" and ignore the rest).
Quality furniture and office space and pick your own computers - very yes. Again, I'd say - here are some recommended/common setups, but here's $5k (or more) to spend on your office. Also, quiet space is so important, I hate open offices. If you're a small company, you take what you can get, but once you are big, at the very least have pair offices. Distraction due to random noise costs me days of productivity, and I'm generally pretty focused. I have a Herman Miller Embody at work, oh god that chair is awesome.
Snacks - I really like free lunches, not for the financial benefit because I figure it comes out of my salary anyway, but because it means I can get healthy food and I don't have to think about it. Also, get healthy office snacks as well as a bit of junk food.
Hours - I tend to work in long periods of high productivity followed by long periods of low productivity, so my work hours fluctuate a lot. I have friend however that works at a company that is quite strict about 9:30-6:00pm every day (as in, get in slightly before 9:30 ever day, and everyone is out before 6:00pm), which seems reasonable. I think that in a lot of companies where people are at work for 12 hours a day, they're not doing 12 hours of work but filling time to save face. So having never experienced a more strictly regimented day, I think that it might be interesting.
Exactly. I would respond to this policy by never taking any vacation time ever, or, at the very least, feeling guilty every time I did.
If a company had a "no vacation policy", and when pressed about it, they said "just get your work done - we don't track vacation time", how much vacation time would you plan to take in your first year there?
When you're there, you realize that nobody ever takes vacations. Can you still justify that three week long trip to Asia that you had planned? I mean, you can always find a new job, but you've already sunk a ton of time into the company. If instead they said that you get three weeks, at the very least you get paid out for it when you leave. It's also easier to get a direct answer for "do people take their vacation time?"
As an aside, but I think your point "they [think they] are irreplaceable or are in continual danger" is a pretty good point for encouraging extended vacation - if you can't survive for two weeks without someone on your team, something needs to change, and that can be a good way to identify those people.
For the email policy, I see that point. I hope that under 20 employees that won't be an issue considering Gmail auto complete, and mailing lists, but I'm going to have to be careful about it.
I agree with the vacation issue. I wonder if there is a way to encourage people to take any time off they need, but not worry so much about allocating individual days to it? Also, I don't love "earned" vacation as it seems to say we don't trust you enough yet to take vacation (if they are an early employee), and it's annoying having to delay vacation until you've put in an arbitrary amount of hours.
As for vacation, why not - you get 2 weeks vacation as a signing bonus, plus 3 weeks/year. This accrues up to X months. Seems to solve all of the problems. If you want to stick with the no vacation policy, assuming you're the founder, it means that you have to take long, extended vacations. If you want your employees to be comfortable taking two weeks off, you have to take two weeks off and make people know that you're taking two weeks off (and not work those two weeks, at least as far as people can tell). There are always deadlines, always important meetings, and I find it impossible to justify taking an arbitrary amount of time off with no guideline. The point of vacation time isn't trust, it's to set that guideline - I am here to work, but I need to know what the expectations are. You can deal with the outliers as they come up - if one of your good employees wants to take two months off in the summer, you guys'll work something out.
Then I think having no sick day policy ("come to work sick and you're fired") and a flexible work from home policy makes this less about beancounting and more about taking time off to energize. Everyone loses a few days a year to appointments, a cold, a sleepless night, etc., and hates having to take those out of their vacation days (or are forced to lie about being sick).
Most good companies/managers, at least in the software industry, also recognize that developers often work overtime and/or odd hours, so when you're sick or can't work for some other reason you can usually "make it up" by working off-hours. That way you can save your vacation time for when you're actually on vacation.
Memorial Day 1
4th of July 1
Labor Day 1
Christmas - New Years 3 (one day moves between the
two, depending upon the
calendar / weekdays for a
Paid vacation often started at two weeks -- 10 days. However, depending upon your manager, you could end up consuming a significant portion of that for doctors appointments, home maintenance, managing whatever problem the kids have, etc. (Some managers insist you take every hour out of the office as time off; others are more flexible.)
A fairly standard policy seemed to be to add one week (5 days) of paid vacation after 5 years tenure. Another week at 10 years tenure. Most such increases maxed out at 3 or 4 weeks vacation, no matter the length of tenure.
Sick days were increasingly disappearing; this seemed to be a target of management consultants' recommendations for "streamlining" operations.
Some workplaces were/are somewhat more generous; however, none of that is mandated. (And again, the consultants with their "best practices" seem to have been making inroads on this -- just as they've continued to wedge people into smaller and smaller cubes having lower and fewer walls.)
I mention all this in part because I think many higher level technical people are somewhat sheltered. (Not all, though.) While technical, I worked fairly closely with many people who were not, and the above was not unusual.
I said not counting public holidays, i.e. 31 days holiday + 8 (I think?) days public holidays. If you start at two weeks, isn't that 10 days rather than 20?
And I wouldn't even dream of including sick days in that. When you're sick you get the day off, paid, without affecting your holidays; I think that's a legal requirement, but if it isn't it's certainly industry standard (If you're sick when you've already taken a holiday you can claim another day off in lieu, though that's a little more complex).
The US just seems to overwork immensely from where I stand.
Most people do not "overwork immensely".
As to vacation: I'm not speaking from experience here, but I think creating a culture of vacation could do it. If the founders are seen taking time off (off-the-grid off, not emailing-from-the-poolside off), that could set precedent.