Version 2 (Nov 2013) © 2013 Catalysts. All Rights Reserved.
Preface
1. Your First Day – Welcome to Catalysts
2. Your first Month - Settling In
3. Your First 6 Months - Choose Your Own Adventure
4. Catalysts is Growing
5. Epilogue
Preface
How to Use This Book
In 2007, we set out to make great software, but we knew back then that we had to first create a place that was designed to foster that greatness. A place where incredibly talented individuals are empowered to put their best work into the hands of millions of people.
This book isn’t about fringe benefits or how to set up your workstation or where to find source code. Catalysts works in ways that might seem counterintuitive at first. This handbook is about the choices you’re going to be making and how to think about them. Mainly, it’s about how not to freak out now that you’re here.
This book is an abbreviated encapsulation of our guiding principles. As Catalysts continues to grow, we hope that these principles will serve each new person joining our ranks. If you are new to Catalysts, welcome. Although the goals in this book are important, it’s really your ideas, talent, and energy that will keep Catalysts shining in the years ahead.
For more nuts-and-bolts information, there’s CORE (https://core.catalysts.cc/) and our Catalysts internal Wiki (http://wiki.catalysts.local/). Look for stuff there like how to check out a project or how to get a Smartphone on company expenses.
Thanks for being here. Let’s make great things.
-2-
Once you’ve read this book, help us make it better for other new people. Suggest new sections, or change the existing ones. Make comments and suggestions. We’ll collectively review the changes and fold them into future revisions.
-3-
- Your First Day – Welcome to Catalysts -
1. Your First Day – Welcome to Catalysts So you‘ve gone through our hiring process, you might have reached a top position at the CCC, you’ve signed the papers, and you’re finally here at Catalysts.
• Self-Organization and Responsibility: the basis of many elegant solutions, evolutionary change and lifelong growth • Lean: we hate bureaucracy and delays, well basically everything that keeps us from delivering value • Agility: we love feedback - from the user, our clients, our colleagues - the earlier the better; we expect change - we even love to create revolutionary change
Congratulations, and welcome. Catalysts has an incredibly unique way of doing things that will make this the greatest professional experience of your life, but it can take some time getting used to. This book was written by people who’ve been where you are now, and who want to make your first few months here as easy as possible.
• Mindfulness: we put in a lot of thought about the future; and we strive to understand root causes of failures • Quality: we build quality into our processes and results • Pragmatism: we know that we can’t predict the future; but we can build models and validate the hypothesis with experiments
Do those values ring a bell with you? Do they resonate with you?
Catalysts Values, Principles and Practices We believe in values. We stick to them in good times and in bad: • Mastery: we are highly talented and gifted - and we invest a lot to become even better; we love to learn every day • Relatedness: we work in multidisciplinary teams - using all our skills and competencies, sharing what we know and learning from each other • Autonomy: you decide about how you do your work - integrated into your team and well-coordinated with your colleagues • Freedom, Power and Choice: we choose our clients, our projects, our future; you choose how fast you grow
Those values are extremely important to us. Without them, we would be individualists - unable to work productively in teams. With them, we are able to deliver exceptional value to our clients - everyone playing his or her instrument in a large orchestra, performing pieces of excellence. From those values, we derive our principles and practices: • Be responsive: if you can’t work on a task, tell it immediately; otherwise accept the task and start working as soon as possible • Focus on the goal: always know what the “Marshmallow on top” is • Consider the client’s goals: never put your personal goals above the client’s goals • Learn all the time: as an individual, as a team, as a company
-4-
-5-
- Your First Day – Welcome to Catalysts -
• Share your knowledge: let others stand on your shoulders • Finish a task once it is started: don’t start another task unless the first task is finished, don’t switch back and forth between multiple tasks • Defend against interruptions: once you’ve started a task, make any interruptions visible – e.g. during the daily status meeting – and do everything possible that interruptions won’t disturb you again and again • Finish a task as soon as possible • Go for reasonable solutions: always ask yourself if the task is worth the amount of effort that you’re putting in • Inform about impediments as early as possible: don’t keep working on a task trying to solve some tricky problem in isolation; if something is estimated to take 8 hours, check progress at least after 4 hours – midway – and inform about impediments • Suggest alternative solutions if appropriate: e.g. if a proposed solution seems to be too much effort • Accept responsibility: keep your eyes open, if there’s something that needs fixing, go and fix it - or at least discuss it with others • Ask for help: don’t wait for information to be presented to you • Speak up: especially if you are not the boss • Watch out for improvements: no day should pass without at least one idea for improvement • Suggest ideas for improvement: don’t keep the ideas to yourself • Be honest in your estimates: when asked for an estimate, give an estimate with 50% probability – this means that half of the time you should finish ahead of time, half of the time we expect you to take longer; there won’t be any kind of
-6-
- Your First Day – Welcome to Catalysts -
“punishment” for statistical variance in task duration; don’t give 90% estimates with a lot of local safety • Commit delivery: when you commit delivery, really strive to deliver; if it’s foreseeable that you won’t be able to deliver, inform about impediments as early as possible, see above • Collaborate as a team: rather than working alone; learn from each other • Strive to develop a team spirit: go for lunch together, have some fun during your spare time, suggest team activities • Align your personal goals with the company goals: get a clear picture of your personal goals, talk about them with the management team, get creative on how your personal goals can be aligned with the company goals
What Player Type Are You? Of course, our main job is developing software. But that’s only one side of the coin. A typical young adult has accumulated 10,000 hours of computer gaming experience at age 21. Richard Bartle is a researcher who investigated the player types in (originally) MUDs or (nowadays) MMORPGs (like World of Warcraft) and categorized them into: • Explorers: prefer discovering areas, creating maps and learning about hidden places. They often feel restricted when a game expects them to move on within a certain time, as that does not allow them to look around at their own pace. They find great joy in discovering an unknown glitch or a hidden easter egg.
-7-
- Your First Day – Welcome to Catalysts -
• Achievers: prefer to gain “points,” levels, equipment and other concrete measurements of succeeding in a game. They will go to great lengths to achieve rewards that confer them little or no gameplay benefit simply for the prestige of having it. • Socializers: play games for the social aspect, rather than the actual game itself. They gain the most enjoyment from a game by interacting with other players, and on some occasions, computer-controlled characters with personality. The game is merely a tool they use to meet others in-game or outside of it. • Killers: thrive on competition with other players, and prefer fighting them to scripted computer-controlled opponents. The typical member of Catalysts is primarily an Explorer (55%), Achiever (20%), Socializer (15%), or Killer (10%) with a secondary nature of mostly Achievers and Socializers.
- Your First Day – Welcome to Catalysts -
Frequent Synchronization It is extremely important that everybody knows at all times what his or her most important contribution is. In turbulent economic times, the only chance to achieve that is through frequent synchronization. The more uncertainty, the higher the need for synchronization and the shorter the intervals. Under normal circumstances, our cadence is daily synchronization on the task level and weekly synchronization on the project level.
Daily Standup When you start to work in the morning, you tell others (see https://core.catalysts.cc/communication/standup/). 1. what you’ve achieved since the last standup 2. what you want to achieve today 3h: where you need help from others in order to proceed (like: “I have a problem.”) 3i: what you want to inform others about (like when is your next time in the office if you’re working part time)
Weekly General Meeting
You can find out your own player type with an online test (see http://www.gamerdna.com/quizzes/bartle-test-of-gamer-psychology). If you don’t fit the pattern above, don’t worry. We have a diverse team anyways.
-8-
Every week, we have a similar synchronization on a larger scale. Sync with your coach and update the General-Meeting-Mindmap: •
what significant progress did we achieve in our projects
•
which new clients and projects are on the horizon
•
what initiatives and events are there (like lectures, team events, etc.)
-9-
- Your First Day – Welcome to Catalysts -
- Your First Day – Welcome to Catalysts -
A Walk Through Our Office
In the field of chemistry, a catalyst ...
It’s a good idea to walk around in our office and check out the walls. Try to make sense of what you see there like:
• is a substance who accelerates the rate (speed) of a chemical reaction without itself being transformed or consumed by the reaction
• Catalysts Coding Contest - Wall of Fame: who organized which coding contest, who developed the examples, who were the moderators? • Technoloy-CCC (T.CCC) on Big Data - Wall of Fame: who are our experts, who has reached which level of expertise already? • Bookshelves: there are tons of books, the really good ones are marked with an orange spot; many of them have a lot of highlighted text to speed up skimming • Project posters: summarizing what we’ve achieved for our clients • Catalysts Logo Drawings: painted by Catalysts team members
• enables reactions to occur much faster or at lower temperatures because of changes that they induce in the reactants • provides an alternative pathway, with a lower activation energy, for a reaction to proceed. This means that catalysts reduce the amount of energy needed to start a chemical reaction. Molecules that would not have had the energy to react or that have such low energy levels that they probably would have taken a long time to react are able to react in the presence of a catalyst. Thus, more molecules that need to gain less energy to react will go through the chemical reaction. In the field of business consulting, a catalyst ...
• Kanban Board for Books: who’s reading which book?
• is a person that accelerates the rate (speed) of a process or change without himself being exhausted
• Wispri’s & Learning Lectures: register on core -> Expert -> Academy (see https://core.catalysts.cc/expert/academy/) for open lectures.
• enables change to occur much faster because of his assistance, presence and influence
If something is not immediately obvious, ask your colleagues and let them explain it to you. You’ll get to know interesting stories!
• provides an alternative pathway, with a lower risk or emotional barriers, for a change to take place.
The Name
This means that catalysts reduce the amount of effort needed to start a change. People who would not have had the energy to change or who have such low intrinsic motivation that they probably would have taken a long time to change are able to change in the presence of a catalyst. Thus, more people that need to gain less external support will go through the change.
Have you wondered about the name of the company? It’s derived from an analogy to chemistry.
- 10 -
- 11 -
- Your First Day – Welcome to Catalysts -
- Your First Day – Welcome to Catalysts -
Catalysts is self-funded. We haven’t ever brought in outside financing. Since our earliest days this has been incredibly important in providing freedom to shape the company and its business practices.
But when you’re a software company in turbulent economic times that’s spent the last couple of years going out of its way to recruit the most intelligent, innovative, talented people on Earth, telling them to sit at a desk and do what they’re told obliterates 99 percent of their value. We want innovators, and that means maintaining an environment where they’ll flourish.
Catalysts is more than a software company. We started our existence as a consulting company - making things possible that were not possible before, or speeding up processes, just like a catalyst in chemistry, without getting exhausted. And we’re still acting as a catalyst, but with a hugely expanded focus. Which is great, because we can provide more value to our clients now and we’ve also been able to diversify.
That’s why Catalysts is flat. It’s our shorthand way of saying that we don’t have any management, and nobody “reports to” anybody else. We do have two founders, Christoph and Christian. But although they are your managers, this company is yours to steer - toward opportunities and away from risks. You have the power to greenlight projects. You have the power to ship products.
• We work on projects for clients.
A flat structure removes every organizational barrier between your work and the client enjoying that work.
Catalysts Facts That Matter
• We do research on selected topics. • We form joint ventures with clients. • We provide an incubator environment for startups. But mostly, we are a company full of passionate people who love to develop software.
Welcome to Flatland Hierarchy is great for maintaining predictability and repeatability under stable circumstances. It simplifies planning and makes it easier to control a large group of people from the top down.
- 12 -
Every company will tell you that “the client is boss,” but here that statement has weight. There’s no red tape stopping you from figuring out for yourself what our clients want, and then giving it to them. If you’re thinking to yourself, “Wow, that sounds like a lot of responsibility,” you’re right. And that’s why hiring is the single most important thing you will ever do at Catalysts (see “Hiring” below). Any time you interview a potential hire, you need to ask yourself not only if they’re talented or collaborative but also if they’re capable of literally running this company, because they will be.
Why does everybody get a powerful notebook? Notebooks are more expensive than desktop computers - but they are portable. Over the next year, you’ll be sitting at each desk in the office, changing places every week.
- 13 -
- Your First Day – Welcome to Catalysts -
You will always have a few members of your main project in the same room - but also other people around you. In addition to desk rotation, there is no organizational structure keeping you from being in close proximity to the people who you’d help or be helped by most. The fact that everyone is always moving around within the company makes people hard to find. That’s why we have our SeatMap program (http://seatmap.catalysts.local/) - check it out.
2. Your First Month - Settling In So you’ve found your desk. You know where the coffee machine is. You’re even pretty sure you know what that one guy’s name is. You’re not freaking out anymore. In fact, you’re ready to show up to work in the morning, sharpen your pencils, turn on your computer, and then what? This next section walks you through figuring out what to work on. You’ll learn about how projects work, how daily standups work, and how software gets out the door at Catalysts.
How you find YOUR seat! • First, scan your key. Write down the displayed rf-id • Register your key on http://key.catalysts.local/login/auth • Done:) Now the“Keyscanner” is telling you every monday morning were you are sitting
What to Work On Which project do I work on? We always want to use your strengths as good as possible. Initially, your coach will take you under his or her wings. You’ll work in the same project and sit next to him or her. Every week we have a general meeting - when you hear a Tibetan singing bowl, get up and follow the others. In the general meeting you’ll hear about new projects and what we’ve recently achieved for our clients. By the way, you find mindmaps from all general meetings in CORE. So you can look up what projects we’ve running. But you can always raise your hand and let others know that you have special skills for a project. And you can also just talk with your colleagues. Lots of people at Catalysts want and need to know what you care about, what you’re good at, what you’re worried about, what you’ve got experience with,
- 14 -
- 15 -
- Your First Month - Settling In -
and so on. And the way to get the word out is to start telling people all of those things. So, while you’re getting the lay of the land by learning about projects, you’re also broadcasting your own status to a relevant group of people. Got an idea for how Catalysts could change how we internally broadcast project/company status? Great. Do it. In the meantime, the chair next to anyone’s desk is always open, so plant yourself in it often. But how do I decide which things to work on? Deciding what to work on can be the hardest part of your job at Catalysts. This is because, as you’ve found out by now, you were not hired to fill a specific job description. You were hired to constantly be looking around for the most valuable work you could be doing. At the end of a project, you may end up well outside what you thought was your core area of expertise. There’s no rule book for choosing a project or task at Catalysts. But it’s useful to answer questions like these:
- Your First Month - Settling In -
Short-term vs. long-term goals Because we all are responsible for prioritizing our own work, and because we are conscientious and anxious to be valuable, as individuals we tend to gravitate toward projects that have a high, measurable, and predictable return for the company. So when there’s a clear opportunity on the table to succeed at a near-term business goal with a clear return, we all want to take it. And, when we’re faced with a problem or a threat, and it’s one with a clear cost, it’s hard not to address it immediately. This sounds like a good thing, and it often is, but it has some downsides that are worth keeping in mind. Specifically, if we’re not careful, these traits can cause us to race back and forth between short-term opportunities and threats, being responsive rather than proactive. So our lack of a traditional structure comes with an important responsibility. It’s up to all of us to spend effort focusing on what we think the long-term goals of the company should be. Exponential Growth Team
• Of all the projects currently under way, what’s the most valuable thing I can be working on? • Which project will have the highest direct impact on our clients? How much will the work I ship benefit them? • Is Catalysts not doing something that it should be doing? • What’s interesting? What’s rewarding? What leverages my individual strengths the most?
- 16 -
There are always a couple of people strategizing what Catalysts could look like in a couple of years. What should we think about now - so that we can build up the skills and capacity early enough and deliver value to our clients in the future. If you’re passionate about the future of Catalysts, volunteer to work in that team as well.
- 17 -
- Your First Month - Settling In -
Someone told me to (or not to) work on X. And they’ve been here a long time! Well, the correct response to this is to keep thinking about whether or not your colleagues are right. Broaden the conversation. Hold on to your goals if you’re convinced they’re correct. Check your assumptions. Pull more people in. Listen. Don’t believe that anyone holds authority over the decision you’re trying to make. They don’t; but they probably have valuable experience to draw from, or information/data that you don’t have, or insight that’s new. When considering the outcome, don’t believe that anyone but you is the “stakeholder”. You’re it. And Catalysts’ clients are who you’re serving. Do what’s right for them. There are lots of stories about how Klaus has made important decisions by himself, e.g., betting on a specific technology for a client after only a short meeting. Although there are examples, like that one, where this kind of decision making has been successful, it’s not the norm for Catalysts. If it were, we’d be only as smart as Klaus, Christian, or Christoph, etc. And they’d make our important decisions for us. Klaus is the first to say that he can’t be right nearly often enough for us to operate that way. His decisions and requests are subject to just as much scrutiny and skepticism as anyone else’s. Whatever group you’re in, whether you’re developing a Grails application, speeding up an algorithm or producing an explanatory video, this applies to you. It’s crucial that you believe it, so we’ll repeat it a few more times in this book.
- 18 -
- Your First Month - Settling In -
What about all the things that I’m not getting done? It’s natural in this kind of environment to constantly feel like you’re failing because for every one task you decide to work on, there will be dozens that aren’t getting your attention. Trust us, this is normal. Nobody expects you to devote time to every opportunity that comes your way. Instead, we want you to learn how to choose the most important work to do. How does Catalysts decide what to work on? We mainly work for clients - to implement their ideas in software, either on a fixedprice basis, or on time & materials basis, or in a joint venture (working for equity rather than cash). But we also do research, i.e. we invest a lot of our earnings in positioning Catalysts for the future. So we often have to decide where to put the emphasis - on client projects or on research. There’s no single person for such decisions, but there’s typically a discussion in the “Exponential Growth Team” (see above), then we decide and go ahead. We’ve learnt from Lean Startup that it’s wise to constantly test our own decisions. Whenever we move into unknown territory, our findings defy our own predictions far more often than we would like to admit. We’ve found it vitally important, whenever possible, not operate by using assumptions, unproven theories, or folk wisdom. This kind of testing takes place across our business, from software development to hiring. Accepted truisms about sales, marketing, regionality, seasonality, the Internet, purchasing behavior, software design, economics, and recruiting, etc., have proven wrong surprisingly often. So we have learned that when we take nearly any action,
- 19 -
- Your First Month - Settling In -
it’s best to do so in a way that we can measure, predict outcomes, and analyze results.
Teams, Hours, and the Office
- Your First Month - Settling In -
the definition of their “job” on any given day. They, along with their peers, effectively create a job description that fits the group’s goals. That description changes as requirements change, but the temporary structure provides a shared understanding of what to expect from each other. If someone moves to a different group or a team shifts its priorities, each person can take on a completely different role according to the new requirements.
Teams We get work done in multidisciplinary project teams. We have self-organized into these largely temporary groups since the early days of Catalysts. They exist to get a product or large feature shipped. Like any other group or effort at the company, they form organically. At the start of a project, the team often consists only of a few people, then we scale the project, and later we reduce the team size again.
Catalysts is not averse to all organizational structure - it crops up in many forms all the time, temporarily. But problems show up when hierarchy or codified divisions of labor either haven’t been created by the group’s members or when those structures persist for long periods of time. We believe those structures inevitably begin to serve their own needs rather than those of Catalysts’ clients. The hierarchy will begin to reinforce its own structure by hiring people who fit its shape, adding people to fill subordinate support roles. Its members are also incentivized to engage in rentseeking behaviors that take advantage of the power structure rather than focusing on simply delivering value to clients. Hours
Team leads Often, someone will emerge as the “lead” for a project. This person’s role is not a traditional managerial one. Most often, they’re primarily a clearinghouse of information. They’re keeping the whole project in their head at once so that people can use them as a resource to check decisions against. The leads serve the team, while acting as centers for the teams. Structure happens Project teams often have an internal structure that forms temporarily to suit the group’s needs. Although people at Catalysts don’t have fixed job descriptions or limitations on the scope of their responsibility, they can and often do have clarity around
- 20 -
You decide when you work - the main constraint being the team(s) where you need to coordinate with your colleagues. You can start early or late. You may leave early or late. Just beware of the legal restrictions (like not more than 10 hours per day and 50 hours per week). While people occasionally choose to push themselves to work some extra hours at times when something big is going out the door, for the most part working overtime for extended periods indicates a funda-
- 21 -
- Your First Month - Settling In -
mental failure in planning or communication. If this happens at Catalysts, it’s a sign that something needs to be reevaluated and corrected. If you’re looking around wondering why people aren’t in “crunch mode,” the answer’s pretty simple. The thing we work hardest at is hiring good people, so we want them to stick around and have a good balance between work and family and the rest of the important stuff in life. If you find yourself working long hours, or just generally feel like that balance is out of whack, be sure to raise the issue with whomever you feel would help. The office Sometimes things around the office can seem a little too good to be true. If you find yourself walking down the hall one morning with a bowl of fresh fruit or a hand-made cake, don’t freak out. All these things are here for you. And don’t worry that somebody’s going to judge you for taking advantage of it - relax! If we ever institute caviar-catered lunches, though, then maybe something’s wrong. Definitely panic if there’s caviar.
- Your First Month - Settling In -
Learning lessons We have created a handful of short learning lessons. They help you to understand the Catalysts way of developing software. Make sure you have registered for the learning lessons, enjoy them and reflect a little bit afterwards.
Funtastic Events Participate There are frequent team events at Catalysts. When you’re new to the team, use those opportunities to get to know your colleagues. Organize When you feel you’re missing something, when you want to go to the Circus but don’t want to pay for the tickets yourself, organize a team event - and Catalysts will pay for the ticket (or at least part of it).
The home office We work in teams. Typically we are more productive if we can discuss in person with each other. On the other hand, we’ve gotten used to working in a distributed setting. So we know how to collaborate over the distance. If you feel, you’re more productive if you work from home on some days, or if you need some flexibility (e.g. the plumber needs to repair something in your apartment), then coordinate with your team and work from home.
- 22 -
No Budgets We don’t decide on budgets for marketing, traveling, education, etc. at the beginning of the year. We don’t decide on budgets for “capital expenditure” (CAPEX, large investments that need to be depreciated over years) or “operational expendi-
- 23 -
- Your First Month - Settling In -
ture” (OPEX, smaller things or payments on an ongoing basis). Rather, we decide on the spot, what we need. We do whatever is needed, irrespective of how much it costs, as long as we see a benefit in it.
- Your First Month - Settling In -
But what if we ALL screw up? So if every employee is autonomously making his or her own decisions, how is that not chaos? How does Catalysts make sure that the company is heading in the right direction? When everyone is sharing the steering wheel, it seems natural to fear that one of us is going to veer Catalysts’ car off the road. Over time, we have learned that our collective ability to meet challenges, take advantage of opportunity, and respond to threats is far greater when the responsibility for doing so is distributed as widely as possible. Namely, to every individual at the company.
Risks What if I screw up? Nobody has ever been fired at Catalysts for making a mistake. It wouldn’t make sense for us to operate that way. Providing the freedom to fail is an important trait of the company - we couldn’t expect so much of individuals if we also penalized people for errors. Even expensive mistakes, or ones which result in a very public failure, are genuinely looked at as opportunities to learn. We can always repair the mistake or make up for it. Screwing up is a great way to find out that your assumptions were wrong or that your model of the world was a little bit off. As long as you update your model and move forward with a better picture, you’re doing it right. Look for ways to test your beliefs. Never be afraid to run an experiment or to collect more data. It helps to make predictions and anticipate nasty outcomes. Ask yourself “what would I expect to see if I’m right?” Ask yourself “what would I expect to see if I’m wrong?” Then ask yourself “what do I see?” If something totally unexpected happens, try to figure out why. There are still some bad ways to fail. Repeating the same mistake over and over is one. Not listening to clients or peers before or after a failure is another. Never ignore the evidence; particularly when it says you’re wrong.
- 24 -
We are all stewards of our long-term relationship with our clients. They watch us, sometimes very publicly, make mistakes. Sometimes they get angry with us. But because we always have their best interests at heart, there’s faith that we’re going to make things better, and that if we’ve screwed up today, it wasn’t because we were trying to take advantage of anyone.
Lean, Agile, Mindful For becoming more and more agile If you are not at all familiar with the term “agile”, please read through the Agile Manifesto (http://agilemanifesto.org/) and its principles (http://agilemanifesto.org/principles.html) first. You will probably agree with the manifesto. But from our point of view, it helps to dig a little deeper.
- 25 -
- Your First Month - Settling In -
Of course, we’ve set up the environment already for agile software development, so • we have cross-functional and multi-disciplinary teams • we do paper prototyping and usability testing upfront before we develop • we have daily status meeting • we always work in a test-driven way • we have continuous build and integration • we work in short iterations and regularly deliver results • we have abandoned waterfall thinking long ago
But every single member of Catalysts can grow to become more and more agile. Look at the following list to get an initial understanding of how agile you are and where you can improve: • Analysing before designing: Do you do a little bit of analysis and design in each iteration? <=> Do you analyse all requirements before designing the entire solution? • Architecture: Do you let the architecture grow as you go? <=> Do you design the architecture upfront? • Close collaboration of business and IT: Do you collaborate closely? <=> Do you hand over written documents and have them signed off? • Discipline: Do you do what you’ve said? <=> Do you love thick guidelines and procedures that you should follow? • Direct communication: Do you rely a lot on face-to-face communication? <=> Are there a lot of documents?
- 26 -
- Your First Month - Settling In -
• Embracing necessary changes: Do you go for necessary changes? <=> Do you rather delay them into future releases via stiff change management procedures? • Empowering team members to self-organize: Do you encourage your team members to self-organize? <=> Do you rather tell them what to do and control that they follow your instructions? • Frequent inspection and adaptation / synchronization: interval of hours ... days <=> weeks ... months • Immediate feedback: Do you look for and give immediate feedback? <=> Do you rather hide feedback in reports? • Joint requirements sessions: Do you develop a common understanding of the requirements together with the client? <=> Do you request requirements specifications? • Joint application design: Do you develop an initial application design together with the client (in an “ubiquitous language”)? <=> Do you develop the design yourself in your own words? • Learning: Do you learn and adapt at the end of each iteration with a quick retrospective? <=> Do you have a lessons learned session at the end of the project at best? • Managing: Do you lead your team? <=> Do you make a show of force? • Open communication: Do you and your team speak up freely? <=> Do things wander around through the minds for weeks before being spoken about? • Planning: Do you plan the near future based on features? <=> Do you have a detailed plan for the entire project? • Reflective improvement: Do you try to learn from every failure and success? <=> Do you already know everything?
- 27 -
- Your First Month - Settling In -
- Your First Month - Settling In -
• Reporting the status: Dou you report often and can you trust the reports? <=> Do you only know late in the project that the project is late?
• Decide as late as possible: Do you keep your options open as long as practical but no longer?
• Releasing early and often: Early and often <=> once at the end
• Deliver as fast as possible: The faster you can deliver, the longer you can delay decisions, e.g. if you can make a software change in a week, then you do not have to decide exactly what you are going to do until a week before the change is needed.
• Striving for excellence: Do you and everyone on the team strive for excellence? <=> Do you do the best you can? • Simplicity: Do you accept additional effort to get a simpler solution? <=> Is it enough if a solution works? • Timeboxing: Do you define timeboxes of fixed length for meetings, iterations, etc.? <=> Do meetings, releases, etc. simply take as long as it takes?
For becoming more and more lean If you are not at all familiar with the term “lean”, please have a quick look at “Lean Software Development” from Mary and Tom Poppendieck. Of course, we’ve eliminated a lot of bureaucracy and waste already. Of course, we are constantly streamlining our processes to shorten our delivery times. But you can make valuable contributions as well. Look at the following list to get an initial understanding of how lean you are and where you can improve or where you can help us to improve: • Amplify Learning: Do you increase feedback when you have tough problems or do you simply try harder (e.g. by introducing a more disciplined process with more rigorous sequential processing)?
- 28 -
• Eliminate waste: Do you spend time only on what adds real customer value? • Empower the team: Do you let people who add value use their full potential or do you command and control? • Expertise: Some knowledge can be codified and shared by documentation, but much knowledge is tacit knowledge that will only be shared through conversation. Do you facilitate a learning environment where tacit knowledge can be shared? • Extra features: Do you implement extra features that don’t add real customer value? • Extra processes: Do you have to do time-consuming paperwork that slows down response time, hides quality problems, gets lost, degrades and becomes obsolete? • Intuitive decision making: Do you rely more on your intuition or on your ratio when making decisions? Rational decision making involves decomposing a problem, removing the context, applying analytical techniques, and exposing the process and results for discussion. It suffers from tunnel vision, intentionally ignoring the instincts of experienced people. Rational analysis is unlikely to detect high-stakes mistakes. Intuition often works better - as long as you support it with experiments. • Iterations: Iterations are a universal starting point for all agile software development approaches, since short feedback loops enhance control; iterations are
- 29 -
- Your First Month - Settling In -
points of synchronization (the team and the customer see what has been accomplished); iterations force decisions to be made. Do you have short iterations (1 week up to 3 months)? • Leadership vs. management: Do you set direction, align people, and enable motivation? <=> Do you plan and budget the project, organize and staff a project, track and control the execution? • Options Thinking: Premature design commitment restricts learning, exacerbates the impact of defects, limits the usefulness of the product, and increases the cost of change. Do you keep your options open or do you create detailed plans early (carving some decisions into stone)? Plans and predictions are not bad, but making irrevocable decisions based on speculation is to be avoided. • Partially done work: Do you have started but not finished work (e.g. requirements specifications for not-yet-implemented requirements, test data for not-yetexecuted test cases or a lot of partially done work)?
- Your First Month - Settling In -
For becoming more and more mindful If you have now idea what it means to be “mindful”, have a look at the page “Managing the Unexpected” (http://www.bus.umich.edu/FacultyResearch/ Research/ManagingUnexpected.htm) first. Karl Weick and Kathleen Sutcliffe define mindfulness as follows: “a combination of ongoing scrutiny of existing expectations, continuous refinement and differentiation of expectations based on newer experiences, willingness and capability to invent new expectations that make sense of unprecedented events, a more nuanced appreciation of context and ways to deal with it, and identification of new dimensions of context that improve foresight and current functioning.”
• Set-Based Development: In set-based development, communication is about constraints, not choices. This turns out to be a very powerful form of communication, requiring significantly less data to convey far more information. In addition, talking about constraints instead of choices defers making choices until they have to be made. Do you develop a set of alternative solutions when you have a difficult problem?
Of course, this definition is hard to digest (it only figures on page 42 in their book, so they introduce it gently). Look at the following list to get an initial understanding of how mindful you are:
• Task switching: Do you have to do a lot of task switching in your daily work?
• Blaming: Do you blame yourself first when something unexpected happens? <=> Do you blame someone else if something unexpected happens?
• Value Stream Map: Do you know how much time a typical requirement or task spends waiting for being processed compared to the time it is being processed? • Whole: Do you see the whole or do you optimize parts at the expense of the whole?
- 30 -
• Assumptions: Are you aware that implicit assumptions guide your behavior? <=> Do you typically not question your assumptions?
• Bolt from the blue: Are you rarely hit by a bolt from the blue <=> Have you already been hit several times? • Boundary spanners: Do you encourage boundary spanners who have diverse experience, skepticism toward received wisdom, and negotiating tactics that reconcile differences of opinion without destroying nuances that diverse people
- 31 -
- Your First Month - Settling In -
detect? <=> Do you strive for a homogeneous group of people with equal rights and knowledge?
- Your First Month - Settling In -
• Latent failures: Do you consider latent failures as loopholes in the system’s defenses? <=> Do you rely on sound operation procedures to cope with failures?
• Context: Do you develop a nuanced understanding of the context? <=> Do you have more important business to do?
• Longer: If something takes just a little longer, do you take the time to investigate the causes? <=> Do you continue with business as usual?
• Consensus with qualification: Do you come to decisions by consensus first (decentralized step involving everyone who will be affected by the decision) and qualification (centralized decision making if decentralized consensus couldn’t be reached)? <=> Do you make lonesome decisions or consensus decisions only?
• Loop of conversation and verification: Does a constant loop of conversation and verification take place (monitoring for deviations, reacting almost instantaneously to anything that doesn’t fit the expectations)? <=> Do you just try to listen closely?
• Continuous updating: Do you continuously update and deepen the increasingly plausible interpretations of what the context is, what problems define the context, and what remedies it contains?
• Near miss: Do you debrief near misses as soon as possible? <=> Do you celebrate near misses as close victories?
• Evidence: Do you typically look for evidence that disconfirms your expectations? <=> Do you typically look for evidence that confirms your expectations? Do you try to explain away the disconfirmation? • Expectations: Do you know that expectations direct your attention to certain features of events? <=> Do you not really ponder about your expectations? • False positives: Do you accept a larger number of possible alarms (even if a lot of them are false positives) so that you don’t miss any possible alarm? <=> Do you rather classify an alarm as a false positive (because you don’t want to waste efforts)? • Front line: Are decisions made at the front line? <=> Are decisions made in the corporate offices?
• Normalize: Do you try to seek disconfirmation? <=> Do you try to normalize by seeking confirmation? • Plans: Do you understand that plans act the same way as expectations (so that people might search narrowly for confirmation that the plan is correct, avoiding disconfirming evidence, overlooking the buildup of the unexpected)? <=> Do you put together detailed plans and rely on their execution? • Reluctance to simplify: Do you take deliberate steps to create more complete and nuanced pictures? <=> Do you have simple pictures and metaphors? • Reporting of errors: Do you encourage reporting of errors, elaborating experiences of near misses for what can be learned? <=> Do you punish people for making errors?
• High-tempo times: Do you distinguish between normal times, high-tempo times and emergencies? <=> Do you react when the problem occurs?
• Resilience: Do you develop capabilities to detect, contain, and bounce back from inevitable errors? <=> Are you occupied with daily business already so you can’t withstand a big-hitting error?
• Lapse: Do you treat any lapse as a symptom that something is wrong with the system (something that could have severe consequences)? <=> Do you focus on the big problems?
• Routines: Do you resist to define routines for typical errors (because people might become mindless)? <=> Do you define routines for handling typical errors (to limit the variation in handling the errors)?
- 32 -
- 33 -
- Your First Month - Settling In -
• Slack: Do you accept and build in slack into your system? <=> Do you cut away all the slack (thereby losing some resilience)? • Surprise: Do you take brief moments of surprises seriously and learn from the situation? <=> Do you typically just gloss over what has happened and treat it as normal? • Unexpected: What do you do if something unexpected happens? Do you stop and investigate the reasons? <=> Do you wait until the problem develops to its full strength? • Updating: Are you preoccupied with updating (your expectations, your plans,...)? <=> Do you prefer to stick to your plans? • Weak signals: Do you recognize weak signals? Do you give a strong response (because you see the possible significance of the event)? <=> Do you give a weak response (because you don’t feel the signal is worth more attention)? • Wrong: Do you think that you’d rather not be wrong? <=> Do you think that just people in high-reliability organizations (like aircraft carriers) can’t afford to be wrong?
3. Your First Six Months - Choose Your Own Adventure You’ve solved the nuts-and-bolts issues. Now you’re moving beyond wanting to just be productive day to day - you’re ready to help shape your future, and Catalysts’. Your own professional development and Catalysts’ growth are both now under your control. Here are some thoughts on steering both toward success.
Roles By now it’s obvious that roles at Catalysts are fluid. Traditionally at Catalysts, nobody has an actual title. This is by design, to remove organizational constraints. Instead we have things we call ourselves, for convenience. In particular, people who interact with others outside the company call themselves by various titles because doing so makes it easier to get their jobs done. Inside the company, though, we all take on the role that suits the work in front of us. Everyone is a designer. Everyone can question each other’s work. Anyone can recruit someone onto his or her project. Everyone has to function as a “strategist,” which really means figuring out how to do what’s right for our clients. We all engage in analysis, measurement, predictions, evaluations.
- 34 -
- 35 -
- Your First Six Months - Choose Your Own Adventure -
- Your First Six Months - Choose Your Own Adventure -
Advancement vs. growth
Engineers: code is only the beginning
Because Catalysts doesn’t have a traditional hierarchical structure, it can be confusing to figure out how Catalysts fits into your career plans. “Before Catalysts, I was a Senior Software Architect. I had planned to be CTO in five years. How am I supposed to keep moving forward here?”
If you were hired as a software engineer, you’re now surrounded by a multidisciplinary group of experts in all kinds of fields - creative, legal, financial, even psychological. Many of these people are probably sitting in the same room as you every day, so the opportunities for learning are huge. Take advantage of this fact whenever possible: the more you can learn about the mechanics, vocabulary, and analysis within other disciplines, the more valuable you become.
Working at Catalysts provides an opportunity for extremely efficient and, in many cases, very accelerated career growth. In particular, it provides an opportunity to broaden one’s skill set well outside of the narrow constraints that careers can have at most other companies. So the “growth ladder” is tailored to you. It operates exactly as fast as you can manage to grow. You’re in charge of your track, and you can elicit help with it anytime from those around you. FYI, we usually don’t do any formalized employee “development” (course work, mentor assignment), because for senior people it’s mostly not effective. We believe that high-performance people are generally self-improving. Most people who fit well at Catalysts will be better positioned after their time spent here than they could have been if they’d spent their time pretty much anywhere else.
Putting more tools in your toolbox The most successful people at Catalysts are both (1) highly skilled at a broad set of things and (2) world-class experts within a more narrow discipline. (See “T-shaped” people below) Because of the talent diversity here at Catalysts, it’s often easier to become stronger at things that aren’t your core skill set.
- 36 -
Non-Engineers: give programming a try Catalysts’ core competency is making software. Obviously, different disciplines are part of creating our products, but we’re still an engineering-centric company. That’s because the core of the software-building process is engineering. As in, writing code. If your expertise is not in writing code, then every bit of energy you put into understanding the code-writing part of developing software is to your (and Catalysts’) benefit. You don’t need to become an engineer, and there’s nothing that says an engineer is more valuable than you. But broadening your awareness in a highly technical direction is never a bad thing. It’ll either increase the quality or quantity of bits you can put “into boxes,” which means affecting clients more, which means you’re valuable.
Learning initiatives We expect a lot of learning to happen without any structures. However, some areas are too important for our future to be left to chance. At any time, we have a couple of team initiatives for learning like:
- 37 -
- Your First Six Months - Choose Your Own Adventure -
• Big Data: learning how to use Hadoop and Storm to solve Big Data problems - on really big data on a real cluster (a couple of hundred hours of learning experience, theory and practice)
4. Catalysts is Growing
• Gamification: learning how to gamify IT systems
Concepts discussed in this book sound like they might work well at a tiny start-up, but not at a company with dozens of people working from several locations in different countries. The big question is: Does all this stuff scale?
• Responsibility: learning to grow Freedom, Power, and Choice; having what you want and wanting what you have; based on the material from Christopher Avery (see http://christopheravery.com/) • Languages: we have language learning courses for German (for all non-German natives), English, French, Spanish, Italian, and Japanese.
Your Most Important Role
Well, so far, yes. And we believe that if we’re careful, it will work better and better the larger we get. This might seem counterintuitive, but it’s a direct consequence of hiring great, accomplished, capable people. Getting this to work right is a tricky proposition, though, and depends highly on our continued vigilance in recruiting/hiring. If we start adding people to the company who aren’t as capable as we are at operating as high-powered, self-directed, senior decision makers, then lots of the stuff discussed in this book will stop working. We do not have a growth goal, however, on revenue or on number of employees. We intend to continue hiring the best people as fast as we can, and to continue scaling up our business as fast as we can. Fortunately, we don’t have to make growth decisions based on any external pressures - only our own business goals. And we’re always free to temper those goals with the long-term vision for our success as a company. Ultimately, we win by keeping the hiring bar very high.
- 38 -
- 39 -
- Catalysts is Growing -
Hiring Hiring well is the most important thing in the universe. Nothing else comes close. So when you’re working on hiring - participating in an interview or innovating in the general area of recruiting - everything else you could be doing is stupid and should be ignored! Our hiring process for software developers consists of the following steps: 1. Coding Contest - either a public one (see http://contest.catalysts.cc/) or a private one; training examples are available on https://catcoder.catalysts.cc 2. Technology Screening - especially for interns who are only with us for a few weeks or months, we’d like to know how knowledgeable they are with our main technologies. 3. Submission of Detailed Application - to summarize steps 1 and 2, with details about the practical experience with respect to those technologies 4. Telephone or In-Person-Interview
- Catalysts is Growing -
can create value across the whole company. Missing out on hiring that great person is likely the most expensive kind of mistake we can make. Bring your friends! One of the most valuable things you can do as a new employee is tell us who else you think we should hire. Assuming that you agree with us that Catalysts is the best place to work on Earth, then tell us about who the best people are on Earth, so we can bring them here. If you don’t agree yet, then wait six months and ask yourself this question again. Usually, it’s immediately obvious whether or not we’ve done a great job hiring someone. However, we don’t have the usual checks and balances that come with having managers, so occasionally it can take a while to understand whether a new person is fitting in. This is one downside of the organic design of the company - a poor hiring decision can cause lots of damage, and can sometimes go unchecked for too long. Ultimately, people who cause damage always get weeded out, but the harm they do can still be significant. Check out our video “philosophy & values @ catalysts”! http://www.youtube.com/watch?v=ho-63jf3nm8
For experienced professionals, we’ve adopted the TopGrading approach (see http://www.topgrading.com/) with its Career History Form, its Snapshot, and Interview Guide.
Why is hiring well so important at Catalysts?
How do we choose the right people to hire?
At Catalysts, adding individuals to the organization can influence our success far more than it does at other companies - either in a positive or negative direction. Since there’s no organizational compartmentalization of people here, adding a great person
An exhaustive how-to on hiring would be a handbook of its own. Probably one worth writing. It’d be tough for us to capture because we feel like we’re constantly learning
- 40 -
- 41 -
- Catalysts is Growing -
really important things about how we hire people. In the meantime, here are some questions we always ask ourselves when evaluating candidates: • Would I want this person to be my boss? • Would I learn a significant amount from him or her? • What if this person went to work for our competition?
Across the board, we value highly collaborative people. That means people who are skilled in all the things that are integral to high-bandwidth collaboration - people who can deconstruct problems on the fly, and talk to others as they do so, simultaneously being inventive, iterative, creative, talkative, and reactive. These things actually matter far more than deep domain-specific knowledge or highly developed skills in narrow areas. This is why we’ll often pass on candidates who, narrowly defined, are the “best” at their chosen discipline.
We value “T-shaped” people
- Catalysts is Growing -
row has difficulty collaborating. A generalist who doesn’t go deep enough in a single area ends up on the margins, not really contributing as an individual.
We’re looking for people stronger than ourselves. When unchecked, people have a tendency to hire others who are lower-powered than themselves. The questions listed above are designed to help ensure that we don’t start hiring people who are useful but not as powerful as we are. We should hire people more capable than ourselves, not less. In some ways, hiring lower-powered people is a natural response to having so much work to get done. In these conditions, hiring someone who is at least capable seems (in the short term) to be smarter than not hiring anyone at all. But that’s actually a huge mistake. We can always bring on temporary/contract help to get us through tough spots, but we should never lower the hiring bar.
Hiring is fundamentally the same across all disciplines.
Watch video :) or read description.... http://www.youtube.com/watch?v=nZAga4AjXlE#t=34 That is, people who are both generalists (highly skilled at a broad set of valuable things - the top of the T) and also experts (among the best in their field within a narrow discipline - the vertical leg of the T). This recipe is important for success at Catalysts. We often have to pass on people who are very strong generalists without expertise, or vice versa. An expert who is too nar-
- 42 -
There are not different sets of rules or criteria for software developers, analysts, usability engineers, animators, and Scrum masters. Some details are different - like, software developers participate in a coding contest before coming in for an interview. But the actual interview process is fundamentally the same no matter who we’re talking to. “With the bar this high, would I be hired today?” That’s a good question. The answer might be no, but that’s actually awesome for us, and we should all celebrate if it’s true because it means we’re growing correctly. As long as you’re continuing to be valuable and having fun, it’s a moot point, really.
- 43 -
- Catalysts is Growing -
Q: If all this stuff has worked well for us, why doesn’t every company work this way? A: Well, it’s really hard. Mainly because, from day one, it requires a commitment to hiring in a way that’s very different from the way most companies hire. It also requires the discipline to make the design of the company more important than any one short-term business goal. And it requires a great deal of freedom from outside pressure - being self-funded was key. And having two founders who were confident enough to build this kind of place is rare, indeed. Another reason that it’s hard to run a company this way is that it requires vigilance. It’s a one-way trip if the core values change, and maintaining them requires the full commitment of everyone - especially those who’ve been here the longest. For “senior” people at most companies, accumulating more power and/or money over time happens by adopting a more hierarchical culture.
5. Epilogue What Is Catalysts Not Good At? The design of the company has some downsides. We usually think they’re worth the cost, but it’s worth noting that there are a number of things we wish we were better at: • Helping new people find their way. We wrote this book to help, but as we said above, a book can only go so far. • Mentoring people. Not just helping new people figure things out, but proactively helping people to grow in areas where they need help is something we’re organizationally not great at. Peer reviews help, but they can only go so far. • Disseminating information internally. • Finding and hiring people in completely new disciplines. • Making predictions longer than a few months out. • Working with freelancers. We hire preferably on a permanent basis, full time preferred. We know there are a lot of capable freelancers out there, but it’s hard to get them on our mindset, tightly integrated into our collaborative teams. • We miss out on hiring talented people who prefer to work within a more traditional structure. Again, this comes with the territory and isn’t something we should change, but it’s worth recognizing as a self-imposed limitation.
- 44 -
- 45 -
- Epilogue -
What Happens When All This Stuff Doesn’t Work?
Follow us and share valuable content!
Sometimes, the philosophy and methods outlined in this book don’t match perfectly with how things are going day to day. But we’re confident that even when problems persist for a while, Catalysts roots them out.
We have many fantastic topics we want to disseminate. Please help us to spread the word!
As you see it, are there areas of the company in which the ideals in this book are realized more fully than others? What should we do about that? Are those differences a good thing? What would you change? This handbook describes the goals we believe in. If you find yourself in a group or project that you feel isn’t meeting these goals, be an agent of change. Help bring the group around. Talk about these goals with the team and/or others.
Where Will You Take Us?
•
Catalysts Webpage http://www.catalysts.cc/
•
Catalysts on Youtube http://www.youtube.com/user/catalystscc
•
Catalysts on FB http://www.facebook.com/catalysts/
•
Catalysts on Twitter http://twitter.com/catalysts
•
Catalysts on G+ https://plus.google.com/100886158159729980757
Catalysts will be a different company a few years from now because you are going to change it for the better. We can’t wait to see where you take us. The software, products, features, and experiences that you decide to create for clients are the things that will define us. Whether it’s a new product, a feature, a way to save clients money, a painting that teaches us what’s beautiful, something that protects us from legal threats, an idea for how to be healthier while we work, a spectacular animation, a new kind of test that lets us be smarter, or (more likely) something nobody’s thought of yet - we can’t wait to see what kind of future you choose to build at Catalysts.
This book is inspired by the Valve handbook for new employees. We have a lot in common regarding our values. Find the original Valve document here: http://www.valvesoftware.com/jobs/index.html
- 46 -
- 47 -