My Journey Building PyMC Labs: Five Principles from Open Source that Boost Innovation at any Company

5 organizational principles that foster innovation at PyMC Labs


AUTHORED BY

Thomas Wiecki

DATE

2022-01-10


I've always wondered why open-source software (OSS) was so much better and more innovative than what companies with armies of highly paid and trained programmers could produce. And if we figured out why, could we apply these same principles to make companies more innovative and fun places to work at?

PyMC Labs consists entirely out of the open-source developers behind PyMC, which I can confidently say is an amazing and highly innovative piece of software that gives any commercial product a run for its money. The caliber of developers and statisticians we were able to attract to this project is simply stunning. So when starting Labs, we definitely had the expertise to solve advanced analytical problems, as well as the experience to do that together. But would this work in a commercial setting where all of a sudden there was money, deadlines, and paying customers involved? Would we have to submit to the business pressures, hire a Scrum Master(TM), implement a strict hierarchy with top-down management, like almost every other company, or, could we preserve the more free-flowing and collaborative spirit of our open-source roots?

I'm very happy to say that I think we identified the principles that make OSS successful and how they can be applied to any business to foster innovation, happiness, and excellence.

The Key to Innovation

I strongly believe that in order to be truly innovative, work can not feel like work but has to feel like "play". Like play you might ask? Let me elaborate. I want people to be driven by intellectual curiosity and not by stress or deadlines. So how can we build a company structure in which people are in this curiosity-driven, happy state of mind?

Building our Company Culture

A lot of the insights came from the book "Reinventing Organizations" by Frederic Laloux which was highly influential while building PyMC Labs. It talks about various developmental stages that organizations can be in, summmarized in Exhibit 1 (taken from this excellent article).

Our focus here is on Stage Orange which is where most companies today reside. In order to appreciate why we need different organizational principles, let's go into a bit more detail of this stage to see why it is lacking and stifling innovation.

Stage Orange: Hierarchical, success oriented

Most companies today are in stage orange. These are your classic hierarchical-you-are-a-cog-in-a-machine-make-your-way-to-the-top companies. Effort, professionalism, and a strong work-ethic are rewarded with bonuses and promotions. As you move up the hierarchy you get more power and can tell more people what to do.

While these type of organizations can be quite profitable, they are often not so nice for the people inside as they are often a rat race and can be quite cut-throat. Your happiness does not matter, what matters are your numbers and hitting your targets, that you show up on time and that you fit in (e.g. by wearing the company clothing: often tie and suit for men), rather than express your own personality.

Ultimately people either become hyper-competitive inside the organization and work against each other, or they become disengaged. Not the type of environment that spawns excellence and creativity.

Stage Green: Non-hierarchical, communal & emotion oriented

Realizing that strict hierarchies cause in-fighting which stifles creativity, the next stage does away with hierarchies altogether. These organizations often have more of a hippie vibe to them.

Hierarchies are abandoned in favor of consensus-democracies that make sure that everyone had their say and feels good about a decision. Everyone is welcomed to participate at every level.

People are invited to show up with their full personality and show their individuality and thus connect with co-workers on a deeper level. There is a big focus on employee happiness, satisfaction, and, importantly, purpose.

In the west, we currently see exactly this shift on a societal scale, and movements like me-too or black lives matter are a result of this.

The down-side is that these organizations can be become quite ineffecient. Building consensus and making sure everyone feels heard and supports decisions often leads to endless meetings without tangible results. People are unorganized and unsure what to do. Because of this, it is very hard to scale these organizations.

Stage Teal: Self-organizing, fluid hierarchies

This stage realizes that hierarchies are not inherently bad, but they should not be static and based on seniority. A key principle of teal organizations is to operate in a largely self-organizing way. No central person dictates the hierarchies, or what needs to happen when, because everyone knows what the high-level goals are and thinks what he or she can do to get the organization there.

At PyMC Labs, we have different teams for every client. For certain projects, one person might be more motivated or better suited to call the shots, so they become the "manager" for that project. Then for another project, they might only operate in a supporting role.

There is a lot more to it, of course, so for more information, please check out the book or various blog posts.

Open Source is Teal

When reading this book I realized that open source development was a great example of these Teal principles because development happens largely self-organized:

  • As no one gets paid (for the most part), there is no central authority telling others what to do.
  • Instead, people see that something needs doing, so they submit a pull request.
  • Some people naturally enjoy writing documentation, while others are drawn towards the deep technical work, so the various tasks are covered in a self-organizing way.

I find this connection between the book's stages and OSS quite intriguing because it helps answer something I've been wondering about for a long time: how can a loose group of unpaid volunteer hobby coders develop software that is orders of magnitude better, more robust and more innovative than what armies of highly paid and trained developers can do with their SCRUM masters, daily stand-ups, sprints, and milestones.

Why wouldn't you want to have this drive in your company? Next, let's see what concrete steps to take to achieve this.

Key Organizational Principles that Drive Innovation

So, concretely, what are the principles at play at PyMC Labs that allow us to innovate at this level?

1. Freedom

One key principle at Labs is that of freedom. Everyone is a contractor and gets paid hourly, so we all can work as much or as little as we want. For some people, PyMC Labs is a side-hustle to their day-job, for other's it's their day-job, or they have other intriguing projects on the side (like running a popular Bayesian podcast), or maybe they are just more efficient when they work only for a few hours.

We all know there are days where you are just not feeling it. What do people usually do? They either call in sick or they sit at work and stare at a screen all day. Wouldn't it be more efficient to just do something fun instead or rest up so that you can come back the next day?

I personally always found that 4h of inspired work where I'm in the zone can be way more effective than 40h of going through the motions. We are not in the industrial age anymore, our value is our ideas and insights, so why do we still care about hours worked, or lines-of-code produced or other crap like that?

Being a remote-only company everyone can work whereever and whenever they want, allowing some people to live in remote locations where their families are, or to live the digital nomad lifestyle.

These days it is becoming harder and harder to hire employees who are willing to come into an office every day. These trends towards autonomy and flexibility will only increase and companies have to adjust.

2. Transparency

As we want every team member to think about the direction of the company and how they can have a positive impact, everyone needs to be able to see what is going on in all parts of the company.

Thus, another important principle is that of full transparency. It starts with compensation: We have a standardized and formulaic compensation structure, so everyone knows exactly how much everyone else is making. This compensation structure includes a base-rate with a bonus for having a PhD or for living in the US where the opportunity cost is higher.

We also want everyone to act in the best interest of the company, so that when it profits, everyone profits. To achieve that, there is a standardized bonus system that distributes 50% of the profits of the company to employees.

In addition, all client contracts and how much they are worth can be seen by everyone at Labs.

Through this high level of transparency, everyone is incentivized (and able) to do what's best for the company, help as best they can in getting new customers and align their actions with what's best for the long-term strategy.

3. Autonomy & Self-Organization

I personally encourage everyone to just do whatever they see needs doing, not ask permission or point to someone else to do it. This is very powerful. For example, Eric Ma was motivated to build a website, so he just did it. Maxim Kochurov was using the toggl time-tracking app elsewhere and liked it and set it up for us. There was no manager to tell them to do that, no committee that decided it was a good idea, they just saw that it needed to be done and so they did it.

I'm reminded of the excellent talk "Greatness" by the submarine captain David Marquet on how you should communicate intent rather than give instructions. Usually, the people who are implementing a decision, are the ones who have all the relevant information and are thus best suited to decide. But for that they need to know the why, rather than be told how. The result: people actually think, rather than follow orders, and that is priceless, as a hive-mind is much smarter than any individual or expert-panel. This leads to better decisions that are made faster with less management overhead, and a greater sense of ownership.

4. Flexibility & Fluid Hierarchies

Flexibility in all parts of the organization is another important principle. This is really liberating: we can easily make decisions and try something out because we can always revisit it and change it if it isn't working.

Also, sometimes one of us gets sick or has just other things that need their attention. It's amazing to see how easily we can re-organize in an unsupervised way to fill in any gaps and restructure to be more robust in the future.

This is helped by not having any permament hierarchies in roles. While each project has a lead, who the lead is can change from project to project or even over the course of time in a single project.

Also, when people transition from one project to another, there's a very healthy cross-pollination going on that causes knowledge to be distributed throughout the whole company.

5. Leadership & Community

I never liked to tell people what to do, but I do enjoy building and nurturing communities where people are genuinely excited to participate, and as these communities are in a large part self-organizing, there is actually very few things I have to tell anyone, the ship mostly steers itself.

The Reinventing Organization book frames leadership in terms of being a coach that removes blockers to enable people to do the best work they can, rather than dictate tasks-to-be-performed, deadlines-to-be-met, quoatas-to-be-fulfilled, and promotions-to-be-dangled. In effect, the classic pyramid with one person at the top that tells everyone else what to do gets flipped upside down where more senior peope support and enable everyone above them to do the right thing, rather than tell them what to do in a top-down way.

So my own job then is to build an environment where people are genuinely excited and happy to work in, and then get out of the way. This includes making sure we have enough contracts (i.e. sales) but also doing my best to absorb any outside stress that might spoil the fun.

The Real Reason to do This

If you made it this far in this blog post, I'll let you in on a little secret. While everything written above is correct and leads to the desired outcomes, it's not really why we do it.

We do it because we enjoy it. We spend so much time in our lives working, it should better be enjoyable. And what's better than working with friends on challenging problems in a fun environment that make the world a better place?

The different stages I mentioned above about organizations, they also exist for individuals. The underlying theory is called Spiral Dynamics. This post has been written mostly from an Orange perspective: do this to increase productivity, innovativeness, and profits.

But what makes these things inherently valuable? What about community, purpose, and happiness? Those are the values that stage Green puts at the top.

And what about the stage after, though? Stage teal (yellow in Spiral Dynamics) is about self-actualization and purpose and what modern organizations should thrive to provide.


Work with PyMC Labs

If you are interested in seeing what we at PyMC Labs can do for you, then please email info@pymc-labs.com. We work with companies at a variety of scales and with varying levels of existing modeling capacity. We also run corporate workshop training events and can provide sessions ranging from introduction to Bayes to more advanced topics.