In a nutshell: people who work for Igalia own it (with equal amount of shares, usually after three years in the company) and participate in the assembly (usually after 6 months-a year in the company). From that premise, our decisions and ways of working are generally very flexible towards employees. Having the same salary (with more for people who live in more expensive countries) or being able to work from wherever you want is just the tip of the iceberg.
Happy to answer questions.
I just watched both videos. Thanks so much for doing these ! Or maybe thank Henrik when you see him, haha :-)
I have a lot of questions.
From what I understand, Spotify squads each focus on one area and each squad has very different members so it can stay autonomous. Is that right? What happens if sysadmin / developer / designer from squad X gets hit by a bus ? I'm actually talking about the bus factor [1] here, I hope you are all well :-)
How often do you change squads ? What about tribes ? The second video mentions "guild unconferences". What is that ? Can squads work remotely ?
How does code review work at Spotify ? For the last 2 weeks, we've been using pull requests on Github, which I've found to be a very good way of doing code review. Since the reviewer is the one to merge, eventually his/her name is on the commit too, which in my case makes me focus even more before hitting the "Merge" button. Merging creates an explicit merge commit, which makes reverting things easy if needed. And discussion in the comments allow for efficient, asynchronous discussion.
The video talks about how important trusting employees is to Spotify. That makes me wonder: do employees sign such things as non disclosure or non compete agreements ? what do you (or what does Spotify) think of such agreement ?
For the last few months, I've been reading the Groove blog [2]. Recently, Alex, Groove's CEO, talked about how much time he was spending talking to customers. How much do you (devs, sysadmins, marketers, designers, etc) communicate with users ?
How do gradual rollouts work ? Do you use a third party service for that ? Would love to learn more.
Thanks again.
> From what I understand, Spotify squads each focus on one area and each squad has very different members so it can stay autonomous. Is that right? What happens if sysadmin / developer / designer from squad X gets hit by a bus ? I'm actually talking about the bus factor [1] here, I hope you are all well :-)
It's not always easy of course. I think the notion of T/M-shaped people apply. E.g. if only one person in a squad can do iPhone development, better spend time training some of the other people to do it as well. It also creates collaboration opportunities, which are highly important to actually make a team work. Then of course there is a lot of fluidity between squads. If squad X needs design help but are out of a designer, squad Y might lend their assistance.
> How often do you change squads ? What about tribes ? The second video mentions "guild unconferences". What is that ? Can squads work remotely ?
It varies. Some people have been in the same squad for two years, others are in new ones every six months. And generally, you change squads and if a tribe move has to happen, that'll happen as part of that. Squads are generally co-located though, so not many squads are remote-composed. A guild unconference is simply an unconference (http://en.wikipedia.org/wiki/Unconference) on a certain area, e.g. Machine Learning, Web, Mobile, Backend etc. So all the people who are interested in that get together for a day and debate the future of that area.
> How does code review work at Spotify ? For the last 2 weeks, we've been using pull requests on Github, which I've found to be a very good way of doing code review. Since the reviewer is the one to merge, eventually his/her name is on the commit too, which in my case makes me focus even more before hitting the "Merge" button. Merging creates an explicit merge commit, which makes reverting things easy if needed. And discussion in the comments allow for efficient, asynchronous discussion.
We use GitHub as well. Roughly the same model.
> The video talks about how important trusting employees is to Spotify. That makes me wonder: do employees sign such things as non disclosure or non compete agreements ? what do you (or what does Spotify) think of such agreement ?
We think trust is highly important, and embodied in what we share internally and how open we generally are. Not sure I can comment on the legal aspects of that though.
> For the last few months, I've been reading the Groove blog [2]. Recently, Alex, Groove's CEO, talked about how much time he was spending talking to customers. How much do you (devs, sysadmins, marketers, designers, etc) communicate with users ?
Never enough :-) We do spend a lot of time with user research, both structured via our research team but also Starbucks testing, when a few devs go down to the local coffee shop and test features. Then we have community outreach teams that keep us honest and makes sure to push the customer voice inside the company. Also, a ton of engineers hang around on e.g. /r/reddit and asks questions. And when users blog about or voice their concerns, it does make the round on internal lists.
> How do gradual rollouts work ? Do you use a third party service for that ? Would love to learn more.
Mostly custom built, and it varies a bit between the backend and the front end. It's all the usual jazz though, deploying per machine or percentages of users or localized to markets etc.
> Thanks again.
Hope I at least answered some of the questions.
How do teams that are not engineering focused get stuff done? For instance a customer support team or marketing team - would it have its own engineers and engineering management?
Edit: finally, how long have you worked at Spotify with this culture?
> How does accountability work at Spotify? It looks like your squads have a specific goal (and maybe a leader?) but when you get up to the tribe level it wasn't clear if one person is in charge of a tribe, or if a product, design and tech lead all share authority. If that is true, do you guys not suffer from the tyranny of structurelessness? How do you do strategic planning/coordination?
Squads don't have leaders, but they do have product owners who ultimately owns the roadmap of the product owned by that squad. A tribe is lead by a trio of engineering, product and design. Responsibility for the various facets of the tribes output is divided between the three roles.
> How do teams that are not engineering focused get stuff done? For instance a customer support team or marketing team - would it have its own engineers and engineering management?
Yeah, the tech/product side of that have homes in tribes as well.
> Edit: finally, how long have you worked at Spotify with this culture?
I've been here 2.5 years. This structure has been in place for roughly three years, maybe a bit more.
Tribes - High level products (hotels, flights, car hire)
Chapters - "Departments"; areas of expertise (data acquisition, front end)
Squads - Autonomous project units (New features, development of an existing feature)
Guilds - Informal interest groups (Linux, Python, agile development)
Everyone is in a Tribe and a Chapter relating to their "department", and area of expertise; Squads are formed to work on projects, then disbanded once the project is finished; anyone can join and participate in Guilds, which serve as interest/support groups for technologies/strategies/methodologies.
Edit: Corrected my brainfart. Thanks ssabev! Can't believe I did it twice...
In other words – you can't make a race horse by painting a pig brown.
Guilds - Informal interest groups (Linux, Python, agile development)
Never worked at Spotify but they seem very innovative (and they already let me rock out for eight hours everyday), so hey, nothing to bad say on my end.
They're also great supporters of the London Python scene (also another good indicator of a good company to work with).
(Note: I used to do sub-contract work with them. The first thing that happens when you work with them is you get sent a copy of one of Semler's books on the subject.)
A few other companies doing it...
* Zappos — http://qz.com/161210/zappos-is-going-holacratic-no-job-title...
* Treehouse — http://ryancarson.com/post/61562761297/no-managers-why-we-re...
* WL Gore & Associates (parts of the company) — http://www.theguardian.com/business/2008/nov/02/gore-tex-tex...
Atlassian seem to be doing things differently.
Umantis in Switzerland democratically elect their CEO: http://www.umantis.com/en/press/haufe-umantis-ag-employees-e...
I'm very interested in this question as well, especially companies in Amsterdam, Berlin, Hamburg and Copenhagen. Anyone else know of companies doing things differently?
I'm a mod of it...we're pretty flat at Balsamiq, too.
We're a slightly larger team (almost 50 peeps) at Axiom Zen (https://axiomzen.co). Our entire raison d'etre is predicated on coming up with interesting, high-risk ideas and carrying them through the various stages of market validation, prototyping, iteration, and growth. Because of this, we are working really hard to become and remain the best place for brilliant people to build awesome things.
We try to clearly define our values (just like Valve/GitHub), build them into our products, and use them as a heavy filter for hiring. We also go out of our way to ensure total transparency in the team, using GitHub for everything from sales to hiring so that everyone can see the stage everything is at, decisions leading up to a particular status quo, etc. Also everyone has an equal voice in jumping in to suggest / push forward changes.
For a bit on our workflow, take a look at this blog post: https://www.zenhub.io/blog/beyond-code-use-github-zenhub-for...
We'll eventually polish up and publish our company handbook which dives into the `how` and `why` much more thoroughly than I ever could here.
* We pay fair salaries. For most people in our team it's way more than what they've earned before.
* We pay everyone the same (base) salary. Regardless of their role or title.
* We pay quarterly bonuses based on pro-activity, responsibility and other performance indicators.
* Everyone can work from wherever they like, still many people choose to work from our main office in Barcelona. (For example I work many weeks out of my camper van with 3G/4G connection from beautiful surf locations)
* In theory, everyone can choose how much or how little they want. Not always possible, but we try to make it possible as much as we can.
* We have managers, but they don't demand things. They are responsible that certain things happen, but decisions are being made collaboratively.
* All managers are either engineers or designers. No bullshit managers.
* We don't have a dedicated sales person. All work we get is from word-of-mouth and the first person a new client speaks to is either an engineer or designer (or both).
* We play Mario Kart / StarCraft after lunch ;-)
* We do a lot of sports activities together
* We have a lot of BBQs on our terrace
* We use some of the profits for fun internal experiments (small projects without an expected outcome other than having fun & learning). However, some of them are now actually turning into actual products: http://bugfender.com/
* MJ University: we take online classes together as a group
* MJ Talk: weekly presentation about an interesting topic (not necessarily tech related). For example we had talks about personal finance (investing), achieving happiness, etc.
* We encourage pair programming where it makes sense
* MJ Weekend: once or twice every year we fly everyone to Spain, rent a nice villa with pool and have a good time together. Some pics: http://blog.mobilejazz.cat/work-life-balance-at-mobile-jazz/
* MJ Retreats: we're going to remote places and work there together. At the moment six of us are on an island in Thailand. In February we go skiing in Austria.
* We put a lot of effort in hearing everyone's opinion and feedback and try to put it into action
With all that we've managed to attract and retain incredible talent, but most importantly we have a very pleasant time together.
That said, we're a company optimizing on lifestyle and happiness, rather than profit. So this way of running a business is probably not applicable everywhere.
(Edit: formatting, typos and a few additions)
However, sometimes we might think that taking the whole company to these great places is the best thing to do, but people tend to end up marrying, having children and getting tired of going to a beautiful island with their workmates when they could just stay at home with their family.
Work/life balance is not imposing our view of a great life to our coworkers. I'm sure you guys are cool with that and you've got a thousand more reasons to be a great place to work, but I wanted to raise this.
Everyone should do what they think is right for them in their current situation. We just want to give options :-)
Revenue and expenses are relatively stable. We've some really good quarters, and some not so good ones. But overall we're profitable. Sometimes we also spend a lot of money on "fun" things without thinking too much and then realize later that we need to be a bit more careful with spending ;-) In particular cash flow issues when waiting for the big corporations to pay their invoices.
In terms of staff, we're actually at the moment not growing that much any more, simply because having too many people makes it difficult to run such a business as the "family & friends" feeling gets lost and we'd probably need to introduce more hierarchy, which we also don't want.
At 25, you stop meeting everyone every week. i.e. Random encounters no longer guarantee that every person in the company keeps good contact with everyone else.
At 50 pax, you stop knowing everyone. i.e. You may know the list of employees by heart, but you don't really befriend them anymore.
Of course, these are soft trigger points. You start noticing something different at 20 people, and are sure of what is happening at 30. It is definitely not the fault of the 25th hire :-)
The remedy is always the same: Company culture. Growing slow is a good ingredient towards a good culture, albeit not the single ingredient.
Do you practice Agile? SCRUM/Kanban?
We also have a few from Latin America, Eastern Europe and Mauritius, where this is also a very good salary.
We weren't looking specifically in those countries nor are we limiting ourselves, but it simply happened that we found people through contacts in our personal networks.
I also noticed that you bonus folks based on pro-activity and other measures, which presumably plays a pretty big role in the decision-making process?
That said, we've noticed that many people care much more about the freedom and flexibility we over, rather than having a huge salary, as long as the base salary is fair.
With the bonus we want to encourage everyone to think and act like a co-founder. Take responsibility and action where needed instead of just ignoring problems until the shit hits the fan.
We also had cases where potential clients decided to go with a cheaper option and then came back to us to "rescue" the project.
In the end the price itself doesn't say too much. More important is the value you get for that price and that is different for every agency. There are things like quality, being pro-activity and recommending the right things to do (not those that make the agency the most money), experience beyond pure design & development (e.g. marketing apps, getting featured, high App Store ratings and reviews, etc.)
Here's my previous comments on it https://news.ycombinator.com/item?id=8270601
"Now instead of getting work done, people will dedicate their time to internal politics and jostling for group position"
Internal politics and jostling for group position happens in every large organisation I have worked at.
"unresolved because nobody could assume the role of dictator and push through needed work prioritization schedules"
Again, at every large company I have worked for the "dictators" of successful projects were rarely the people with official ownership of the projects or people high up in the org chart. So I'm not sure why nobody could assume the role of dictator.
By building an organization only on de-facto group dynamics, you toss away all of those tools and you have literally no option but to play along with these informal processes.
One of the few things modern management practice has identified for success is that informal processes need to be brought under some semblance of organizational control or they become incestuous and optimize for local efficiencies rather than enabling the entire organization to be successful.
>Again, at every large company I have worked for the "dictators" of successful projects were rarely the people with official ownership of the projects or people high up in the org chart. So I'm not sure why nobody could assume the role of dictator.
Here's how this works in flat organizations
employee a: I need you to do this
employee b: no
and that's the end of the story. Sometimes, if the organization is setup according to some kind of flat org theory you'll get these steps also
employee a: well I'm going to take this to committee
employee b: ok
<months pass, committee meets>
employee a: I told employee b to do the thing and he said "no"
employee b: employee a was acting like my boss and we're flat, I didn't feel the need to give into his demands (committee members nod in assent)
committee: we've decided that employee b does not, in fact, need to do the thing
and now the thing doesn't get done
Here's how it works in a grown-up organization
employee a: I need you do this
employee b: no
employee a: boss, I need b to do this for <business reasons>
boss: employee b, do the thing
employee b: no
boss: rethink that
employee b: okay, I'll do it
souls are crushed, free will is diminished, but the thing gets done and the company moves on
However, more importantly, many so called "flat" organizations are not, either formally or informally. Informally they'll all succumb to informal group behavior that all humans exhibit in groups of more than 1. Formally, they'll all have some kind of hierarchy, but will attempt to hide it or obfuscate it in some way. This is usually tested trivially by offering to swap a low-level employee with a high-level one and seeing if it actually happens (hint it almost never will)
It also means that when shit goes wrong, there's no "buck stops here" person who's ultimately responsible. Joe can always argue that he's just a member of a committee and defer responsibility to everybody else, and use his charisma (and probably a backlog of favor trading) to scapegoat somebody else.
The most important thing is that all this is a distraction from the business of the company. All this time that Joe has to invest in gathering and cultivating meaningless power that he shouldn't have, and putting in place an invisible power structure that everybody around him has to navigate...could better be spent doing, I dunno, accounting perhaps?
Flat structures tend to work only when organizations are very small, or can be compartmentalized into very small groups, but there's tacit acknowledgement that even in those cases there needs to be a formal dictator to make sure the ball is moving forward and people aren't wasting time in power brokering exercises. When the organizations get large, it becomes a necessity.
Peer groups define fashion, not progress.
See Bane's comments above for a good recap.
There are lots of small firms (ie, ~5 people) who use this approach. Arguably, for a team of 2-5 people, it's the most natural strategy anyway.
The challenge, of course, comes with scaling this to a team of 50 or 500 people. At that scale, there are far fewer examples (though the comments in this thread point out some exceptions).
Assuming you ask because you're looking to find a place to work, in addition to the other names mentioned here, you may want to look at very small companies as well, because the odds are very much in your favor of finding one. Just be aware that the team dynamics may change as the company grows, which you may find you like, or which may mean it's time for you to look for your next step.
For instance there are a few PMs now for very involved projects, and we have engineering managers to make sure we're getting along ok and not falling between the cracks (turns out 100+ people reporting to one person can be tricky), but still remains enormously open.
Most decisions are made in the open (if they legally can be), there's almost always a Pull Request with discussion around it if you want to either take part or just see how that decision came around. The culture is pretty allergic to anything closed. People frequently ask for a URL if they're curious how a decision was made. This makes it much easier to not feel left out as a remote employee (which something like 60% are).
As an engineer I can largely still choose what I work on much in the same way as before: if there's a project spinning up and I want to work on that project and that team wants me and my team is cool with me going I can totally go work on it.
I've actually been encouraged to work on other things lately to get more perspective on the product and work with new people. I don't feel pigeonholed like I have in some other places.
Teams mostly self organize into structures that best work for them. Some teams look fairly traditional. Some use scrum. Some use some other agile methods. Some use nothing. Some work closely with a PM. etc. Use what makes you happy and what makes you productive. Different projects have different needs.
Things may shift around as growth happens (and they have), but largely I feel like the principles have stayed intact. Still the best place I've ever worked.
* VP, Business Development & Services
* Head of Technology Partnerships
* CIO
* VP, HR
* Vice President, Strategy
* Vice President, Marketing
* VP Communications
* Director of Outreach
* Director of Sales(no idea whether this is the case here...)
One of my former colleagues had this sort of experience at one job, where his job title was "programmer" (you got this title if you were a programmer; there weren't any others available). He was finding it sometimes difficult to get people to return emails, presumably because he didn't sound important enough. Apparently the last straw was being roundly ignored in a particular meeting with one external company! A swift title upgrade (no changes in responsibility...) fixed all of this.
A couple of points to answer your questions:
- We do centralize our product strategy and portfolio planning, but we decentralize our release and iteration planning.
- We focus on building strong teams of diverse talent sets that are becoming more self managing. Teamwork is big for us, flying solo on any task is rare-r than in other places I've worked.
- Our management (and everyone else) are really accessible for a medium sized company. I have faith that if I sent a calendar invite to our C*O for a 15 min chat on a free timeslot, they'd show up. Of course, respect goes both ways and I wouldn't book their time unless I really needed them specifically and it couldn't be handled asynchronously.
Thanks for the questions!
- TDD
- pair programming
- git flow
- a 2-week release cycle
- four dev teams
http://devblog.springest.com/holacracy-at-springest-dev-team...
As far as i know the only 'new' management trend that has catched on here.
It is sad that it was published in August this year and was only viewed 8k times. I don't think this is a big number for the applicability this has.
EDIT: French version of this conference(by the same author): https://www.youtube.com/watch?v=NZKqPoQiaDE
Everything, from strategic planning to everyday decisions, are open to anyone participate, but well... our founder can explain this way better than me, so here it goes: http://www.managementexchange.com/story/horizontal-managemen...
Their Zoho University concept is also an interesting attempt to solve India's problem of creating quality engineers (vs quantity).
Employees are often encouraged to move between products as both of them mature.
Their attrition rate is also very very low.
and of course their official pages on it: https://www.atlassian.com/company/about/values