December 1, 2016
Mixmax’s engineering team was founded on the principle of openness. From our very beginning just two years ago, we’ve embraced an “open source culture”: a set of core values that promote transparency and collaboration within our company and with the larger engineering community.
We’ve built on entire platform on open source software, from MongoDB, ElasticSearch, and Redis in our backend, to Node and numerous npm modules in the application layer, to Backbone and Electron in the frontend. We’ve contributed to these projects and launched many of our own as well. We’ve blogged extensively, given talks, and engage daily with the community on Twitter and in various Github issues.
Our approach to open source isn’t an afterthought; it’s how we approach building new things. We think of our business as first and foremost to serve our customers, and secondly to push technology forward to serve the greater engineering community. When we begin to build a feature we scope it in that order: 1) How will this meet our customer’s needs, and 2) How can we build this in an “open source” way such that others can use and extend it.
This approach in building new features has led to the creation of many of our open source npm modules. Many of those used to be either embedded in a single service or copied file-by-file between services. When we created an npm organization we became able to share these as private modules, but we decided to invest in making the majority of them public.
The biggest criticism of an open source culture is the additional overhead, or “overengineering”, slows down product development. It’s something we’re mindful of. We’re careful not to over-generalize our open source modules, or to build solutions to problems we don’t have.
But ultimately, we believe writing good, transparent, open-sourceable code, and keeping our dev efforts focused on delivered value for our customers are complementary, not contradictory goals. Open-source development holds our own engineers to a higher standard for modularity, testing, and documentation. Over the long term, community support speeds development and mitigates risk. The initial cost of open-source development is offset very quickly.
Open source will remain central to our culture at Mixmax as we scale up and expand to other languages and technologies. If you’re interested in working in an open source culture, come join us!