What makes a tech company a great place to work for a software engineer? Canopy engineer Bret Little offers his perspective.
What makes a company a great place to work from a software engineering perspective? At Canopy, we have discovered that there are four aspects of a great tech company: people, product, culture, and technology.
The first and most important aspect of a tech company is the people. This may be surprising. You may be asking, Why isn’t the technology most important for a tech company? Ed Catmull, president of Pixar, stated, “If you give a good idea to a mediocre team, they will screw it up. If you give a mediocre idea to a brilliant team, they will either fix it or throw it away and come up with something better.”
Technology is only as capable as the people who wield it. At Canopy, our team is our most valuable asset. We measure team members’ performance by their motivation to get stuff done, the excellence of their work, and their overall teamwork.
Technology is only as capable as the people who wield it.
The second most important aspect is the product. The Canopy team puts a major emphasis on the user experience within our product because our customers come first. Every one of our development teams has a dedicated product designer and product manager. Developers are involved in the entire process of building the product from discovery to launch. Because we iterate quickly and release often—over 500 times in 2016—we avoid massive product failures.
Because Canopy iterates quickly and releases often— over 500 times in 2016—we avoid massive product failures.
Nothing demoralizes an engineer more than having their product fail. Good engineers want to believe in their product and have it succeed. Their blood, sweat, and often tears are put into it. A great tech company needs a clear vision and roadmap for its product. That roadmap needs to include a clear goal for the customer.
The third most important aspect of a great tech company is culture. A company with a good culture is honest and anxious to make a positive impact in the world and does not take advantage of its employees or clients. Good culture means transparency.
A company with a good culture is honest and anxious to make a positive impact in the world and does not take advantage of its employees or clients.
All of these are important for any company, but culture is specifically important for a tech company because of Conway’s Law which states: “organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.” If you want to have a well-designed software system, you first need a well-defined culture.
Canopy’s culture emphasizes transparency, autonomy, and accountability. That culture is manifest in how we structure and manage our development teams. Each team is autonomous with all the key players necessary to take a product from an idea to a concrete deliverable.
The final aspect of a great tech company is technology. In building a software company, there are many technical choices to be made ranging from code languages, to frameworks, to how the application is hosted or distributed. Getting those choices “right” is difficult and often subjective. Even after those choices are made, the challenge many tech companies face is keeping pace with change and innovation.
Here at Canopy, we embrace open-source technology as a mechanism for innovation. Much of our infrastructure is open-sourced, and we actively contribute to major community projects. Additionally, we embrace micro-services as a mechanism for autonomy and enabling our organization and hence, application to scale.
Technology that is sexy and innovative today will likely be outdated and replaced within a few years. Good tech companies have a plan to deal with change. Great tech companies are the ones paving the way of change and innovation.
Good tech companies have a plan to deal with change. Great tech companies are the ones paving the way of change and innovation.
From the very start, we at Canopy have tried to address each of these four principles. From the people we hire to the technology we utilize, we are trying to build a company and product that withstands the test of time and provides meaningful value. Our goal is to build something great.
If you are interested in learning more about the nuts and bolts of Canopy’s technology, check out our open-source projects, our tech blog, or our tech stack. We are always on the lookout for talented engineers, and all open positions are listed on our careers page.