Autonomous teams on a mission to bring fair international banking about
Pros
The mission: I loved the main goal of company which is lowering international banking costs to minimum possible levels, while being transparent on fees and waiting times. It is a worthy task, and they have millions of real users with real problems. About company structure: The company is a fast growing ex-startup, with a mixture of startup and corporate. Hierarchically speaking it has a flat structure with tribes organized around consisting many teams. All these teams have KPIs to push. Good part of company structure: Since it is not yet corporate there is still flexibility: people can work on stuff they know best as opposed to only the things in their contract. Also there is a lot of trust and openness to recommendations outside of your own team. Good part of engineering culture: - lots of smart and world class level engineers - a lot of freedom in doing things, - teams own their process, so no outdated processes to block you. - people can be convinced with reasoning, no bottleneck architects - engineers are treated as partners in product not just workers - a chance to talk to the customers, customer support, OPS as participant! In my previous company I could not talk with either of them, so it is a great opportunity to have some ideas - the CEO picks up the phone to solve customer issues time to time; which shows that the company really want to be customercentric The best type of employee for the company (in engineering): - senior level; has to know how to weigh pros and cons - has a lot of willpower to tackle lots of threads and lack of direction (i.e. "I don't know, solve it!") - willing to do non-engineering tasks (gathering product requirements, assessing design, discuss team KPIs, etc.) - does not afraid to decide and risk - has the necessary people- and verbal skills to voice criticism in a solely positive way
Cons
Mostly there are two sources of issue with company: one is having autonomous teams in a flat structure _at scale_ which is a very new concept with not so many ready solutions. The second issue is coming from the fact TransferWise is being an ex-startup with breakneck growth: there was no time tackling them. So in detail: Negative consequences of autonomy: - anything under a KPI gets better and possible modern as well; anything not measured or easily measurable are not really solved - that means that problems outside responsibility of a team are solved very late or not at all; usually these are the really hard problems - there is a cult of the Messiah Employee who would be a person who can find time, energy and willpower outside of day-to-day feature-work to fix these cross-team really hard problems Negative consequences of being an ex-startup: - the company did not invest in people skills; leads don't know how to solve interpersonal conflicts, so they just lay off people; nor there are employees who can intervene in these - there are senior product managers who makes decisions over guesses or their own ideas; regardless of the team invested in data analysis and UX beforehand - certain areas like data engineering are surprisingly unprofessional and a lot depends on the coding skills of a given team's data analysts; the quality varies team-by-team - there is a lot of legacy code that is not tackled and there is no human resource to do it (scaling issue); also there are product managers who does not want to hear about these problems, consequentially there's a lot of guerrilla engineering tackling tech-debt - there are many questionable team leads who might have great technical knowledge but really not mature enough or ready to tackle human issues - people expected to be fine with not-so-great compensation; however really hard issues require really valuable people who in turn might know their price