With now over one month working at Yelp, I’m starting to understand the culture of the company. It’s the third company I’m working for. All of them were (and still are) very successful in their specific area. So for me it sounded obvious, to boil down their culture to what is overlapping and as a result we get the formula for a success company. I’m thinking about that for a while now and I’m a disappointed about my findings! But I have to give you a bit more information about the companies I got my experience from.
I small tech company with overall (at the time I was working there) 40 Employees. The company is selling a publishing software for mostly technical/scientific companies and acts as a agency for enterprise companies to do create and maintain their websites. I was working on the “website department”. I’m writing that in quotation marks because they have no real departments or even strong structures. It is simply not needed. The company is so small, the CEO probably even knows in the lunch break where each of the employees went for lunch. But the size doesn’t say much about how professional the work is. The projects always had good quality and made satisfied the customers. That’s why Noxum is successful.
As one of the biggest websites in Europe, you need obviously more than 40 Employees. Sole the engineering department is slightly bigger than the whole company before. When I started working there, I expected that features are developed way faster then how I was used to it because of the pure manpower. But the other way around was the case. Therefore I heard the mantra “Quality is not negotiable” a lot. Test driven development, Pair Programming and a lot of acceptance testing are a big tradeoff for speed, but in return you get a lot of quality. I experienced weeks with not even one single bug on the live platform. That is outstanding!!! And I experienced a whole new dimension of speed: The speed of change and pragmatism. The culture is evolving extremely fast at AutoScout. Everybody is pushing to make processes faster and simply better. People work together and care about the work of other departments. With such a great hand-in-hand relationship, it is easy to find pragmatic solutions for problems, that would have been much harder in other companies. It is better to develop the right product in high quality but slow, than develop the wrong product in bad quality but fast!
As a world market leader, a company with a good reputation even in the competitive silicon valley and a ~70 in worldwide Alexa ranking of the biggest sites in the world, I would definitely count this company to the enterprise companies in the tech biz. They are huge! Numbers differ, but the most recent information, I got are: over 250 Engineers, over 1500 Sales Agents and a looot other people that are also very important.
So, first question: Is Yelp fast in Development? Uuuuuhm… Really, I can’t say! The lists of pushed changes, that are sent around every week, are huge! But they really have manpower to work on a lot of stuff in parallel. Are those changes things, what users really want? Hard to say! They are not doing big case studies before trying something (as germans tend to). And thats a good thing! Sometimes it feels like putting the pieces of a puzzle together, but without knowing what the final picture will be and with tiles of other puzzeles in the pool as well. Sounds crazy? It’s definitely not! (Btw, that was the first time I wrote ‘definitely’ right without have to use autocorrect! Yeah!) Just be sane, pragmatic and track which features people actually use! Then you end up very innovative. It’s kind of a tribute to the fact, that you can’t really foresee what the users want until you haven’t tried it out.
But what is the reason for Yelps success? The main reason is for sure a business model that scales linear. Another reason is that they employ really amazing people. And everybody is different. Sounds obvious, but no, it is not! From the other two companies, I know that people are usually hired, because they fit in the existing culture. So at Noxum, to be fast and have deep knowledge of a certain technology. At AutoScout24, people that can adapt changes fast and have good communication skills. At Yelp: Be good at at least one thing! If you are a real nerd and want to write your own compiler: go for it! If you want to improve a process: What are you waiting for? What ever it is, do it! There is no pattern why somebody is hired, and this grade of diversity is awesome! So if you get stuck because of your thinking patterns, just ask somebody else, because he/she will have another approach!
So now I need your help! What is the key to success, that all of those companies share? I don’t know! But I can tell you, that it is not technology. Which coding language or which database you use does not affect how successful you are. If you have the best or a really bad software architecture doesn’t say anything about how many paying customers you have. I guess from the current ongoing so called “war for talent” we get a wrong impression, that people that have skills in certain technologies make the distinction if a company will be successful or not. I think we all agree that a company that has awesome technology and awesome people working in this department isn’t automatically successful. But the other way around is, that a tech company with a really bad IT can still be very successful.
But people of course make a difference, too. Maybe not from the technological perspective, but when you can rely and trust them. Just imagine you have a feature idea, you have a great manager that holdes his thumbs up and gives you all the freedom you need to make your feature come reality. In a perfect world, your team consists of divers people. One that thinks out of the box, one that has an answer of every technical question, one that knows how to measure and trim it for success, a person who loves to code and is fast, one that can sell the features to others and one that has experience. And no, you cannot have one person that is good at all of that, that’s not possible! This person simply does not exist! What leads us to one other pattern of success I recognised in my now eight years of work experience:
Divide and conquer! Focus on one thing! Don’t try to be good at everything. Ask yourself how you can I contribute most and focus on that. And even if your unique skill is to have a broad knowledge (like I pretend to have ), then push to get an even broader knowledge. Don’t try to have a broad AND deep knowledge, that’s not possible! You are human, you have to make trade-offs! But Divide and Conquer, at its core, means to remove complexity. And low complexity is always good! For everything! One proven example: If your software development gets slower, divide it into maintainable pieces and distribute people to conquer a single piece.