I've been with synapp.io for about 3 months. In that time I've learned a lot of things about what makes a company more than just a job. None of these things by themselves are new or groundbreaking, but when they are combined together it makes for a very potent work environment.
1) The team that plays together stays together.
We place an emphasis on making sure that people who come in the door are more than just a technical fit. We also are looking at "soft" things like people skills, attitude, and generally how they would get along with the rest of the team.
This was really important when I first arrived because we had 10 people sitting in a 700 square foot office! In such cramped quarters it's important to make sure that everyone gets along.
A side effect of this: we all get along and tend to hang out together. Every afternoon we have a standing appointment at 4 pm called "Recess". Yes, every day at 4 o'clock we stop work and go play for a little bit. It sounds a little silly, but almost everyone in the office loves to stop and go play foosball during the break. We all look forward to it, partly because of the competitiveness of it, but also because we all play nice together and have a good time.
I've worked on other teams where such an event would result in lots of hurt feelings because of some people either a) playing too competitively, or b) being left out, or c) being forced to do it.
By having the right combination of personalities recess is a fun time for all of us. This social time together definitely carries over into normal work activities. Many conversations started in the break room have lead to collaborations back in the office... AFTER we finish foosball of course.
2) Paperless is better, and cut back on email too.
Every year I think I should use less paper. The original 700 square foot office of synapp.io seemed like the perfect impetus for me to try and go paperless.
Pretty much everyone in the company tries to keep the paper on their desks to a minimum. Lots of us have a notebook where we can write and sketch things (there are times when paper and pen are the best). However, the majority of our work is kept in the digital realm, be it Evernote, Google docs, Github Gists, or some other electronic medium.
This makes our desks much less cluttered. Additionally, having everything electronic means we now have the opportunity to index and search our notes. It's not perfect, mainly because it is hard to index a picture, but it is leaps ahead of where I was before.
I'll always keep a notebook handy, but for day-to-day activities, electronic note-keeping is the best bang for your note-taking buck.
3) Leverage your communication tools.
One of the major lessons of a nearly paperless office is to leverage your tools. It's nice if you have things stored electronically, but its really awesome if everything can talk to everything else.
One of the reasons we don't seem to use a lot of email (at least internally) is because we've gone through the trouble to link all of our services together. For example, our chat service is tied into our issue tracker and our code repository. An action in one spot, such as updating a ticket, will instantly be publicly communicated to everyone else in a chat room.
This allows everyone to see what's going on, and if they are interested, they can jump on in. No longer are these events contained within email silos.
For emergencies this is great. When something big starts happening people can see it unfold in real-time instead of waiting for someone to tell them.
From a social perspective it lowers the friction when it comes to sharing information, or even just how we are feeling. If it's easy to share knowledge, it becomes our default. And when it becomes our default, we are all moving forward together.
4) Leverage your infrastructure tools.
I've worked with much bigger teams that used only a fraction of the hardware that synapp.io uses. synapp.io has placed a good emphasis on making sure that our systems are scriptable. This, in turn, is allowing us to roll out code in a very predictable manner. It is rare that a deployment goes poorly because all that we are doing is executing a script.
This is something that will allow us to scale safely. We can add new employees and let them run the scripts since the "specialized" knowledge about our systems is contained and managed by our scripts. (This includes things such as configuration settings, VM specs, network addresses, etc.)
5) Emergencies happen, but we are in control of how we respond.
No matter how well put together an organization is, no matter how great the code is... eventually something will go wrong. How the company responds to these challenges speaks volumes about the organization and the people in it.
If a team generally gets along (point #1), then that will help in dealing with an emergency because no one person will be alone. The others will offer and try to help set things right.
If the team communicates well (point #3), then the impact of the emergency will not fall on one person. Everyone will be aware of what's going on at a given point in time.
If the team is leveraging their infrastructure well (point #4), then recovering from the emergency will be faster.
A crisis is a crucial time in a company: It simultaneously shows where your strengths and weaknesses are.
In a less-than-ideal environment, people will see the strengths being displayed (usually the people heroically fighting the problem) and attempt to exploit this by regularly inventing emergencies. I have witnessed this many times. A boss notices how well the employees pull together to meet a deadline, so the boss decides to wait until the last second to tell the employees about everything. Why? Because the boss believes the employees will always be able to pull off a miracle.
In an ideal environment, people will look at the weaknesses that were exposed and ask, "How do we prevent this from happening again?" Steps are then usually taken to prevent/mitigate/warn of future problems.
I'm happy to say that synapp.io has decided to look at preventing the weaknesses. This limits the number emergencies, and as a result, the company as a whole is more prepared when bad things happen.
The reduction in stress and the boost in morale is priceless. This is one of those metrics that must be experienced to be believed.
This video is a fun little thing I'm doing: every time I commit a bit of code, I have my computer take a picture of me.
Follow Nick on Twitter.