Over the last decade, Originate has employed hundreds of the world’s most talented designers, engineers, strategists, and operators. We have designed and built hundreds of modern web, mobile, and AI-native software products. We have generated more than $100M in revenue. We have paid out millions of dollars in profit sharing to our employees. We have experienced many successes and many failures, but most importantly, we have never stopped learning and experimenting with better ways to do things. This includes how we build software, how we design experiences, how we manage teams, how we hire and retain the best talent, how we operate, how we communicate, and much more. We are constantly improving and refining “The Originate Way”, and we are happy to share what we have learned so far.
This guide is a collection of concise and actionable best practices that together define what Originate is and how we work. It should be noted that Originate is very different than most companies in several ways, and some of these best practices may at first seem counterintuitive to what you might expect. For example, where most companies put their customers or shareholders first, Originate puts our people first. This creates a dynamic where the culture and talent best practices heavily influence the best practices across the company. The result is a business optimized to attract, retain, and apply the world’s best talent, but this comes with non-standard challenges in many other areas.
These are not necessarily the right best practices for every person or company, but they work successfully for Originate at this point in time. You can be assured that we have experimented with alternative approaches to everything here and will continue to do so. We encourage you to question each of these and experiment with alternatives that may work better for you. Please do share your findings with us and others so we can all continue to improve together.
Create best practices that evolve over time, not corporate policies.
Ensure that everyone in our organization knows and understands these best practices, including “why” they exist.
Share these best practices with our partners and customers so we can work in a more aligned way.
By default, follow all of these best practices at all times.
If a best practice is not to be followed in a certain situation (we are agile after all), make a deliberate decision not to and clearly communicate “why” to everyone involved.
Always trust each other and assume the best intentions.
Be open and direct, but respectful, in our communication.
Seek to understand before being understood.
Lead by A+ example, not criticism.
Spend time helping others learn and grow.
Prioritize our talent first.
Hire and retain only the most extraordinary, yet humble, talent.
Create an inclusive environment that fosters a unique collection of diverse people.
Value potential and ability over existing skills and experiences.
Give our talent 20% of their time back for personal growth.
Create meaningful experiences for all employees and customers.
Be the eyes and ears for the organization to identify potential risks.
Enable people by teaching and training them.
Create simple solutions.
Help ensure that every team is set up for success.
Leverage existing solutions whenever a competitive differentiation is not required.
Automate processes wherever it can save time or reduce risk.
Provide any equipment, software, or tools within reason that employees ask for to do their jobs successfully.
Trust all employees and protect their privacy and personal information.
Treat our partners’ and customers’ data with the same level of care as our own.
Treat our customers as partners.
Always look for ways to create win-wins by aligning incentives and sharing upside.
Spend the time to understand the needs and motivations, opportunity space, and competitive landscape of our potential partners so we can better help them accomplish their business goals.
Seek mutual teaching and learning opportunities with our potential partners.
Be transparent, open, and direct during the business development process.
Always strive to find the sweet spot between keeping our team happy, our partners happy, and our engagements profitable.
Provide clear and consistent updates (both written and verbal) on a regular basis to our partners to set expectations on progress, risks, and opportunities.
Seek feedback regularly and often from our partners and Originate team members to ensure that direction and priorities are in alignment.
Be a thought partner, not a vendor. Get creative to find ways to bring them value beyond their current asks.
Create an extraordinary working ‘experience’ with partners and find ways to surprise and delight.
Understand the partner’s needs, business, and industry.
Create alignment between the partner, engineering, design, and the proposal documents.
Ensure every product has a clear vision and go-to-market strategy.
Generate high impact product ideas using a cross-functional, cross industry perspective
Find ways to leverage existing technology to solve problems faster.
Make great products, no matter what.
Define a narrow set of measurable goals for each product version and track them with analytics.
Work with Design, Engineering, and Quality to deliver great software, consistently, at a high velocity.
Ensure all tickets contain a user story and acceptance criteria that can be understood by all stakeholders.
Use prototyping to de-risk product and technical risks, and to define and reshape requirements.
Position research and data at the core of our design process.
Build, learn and adapt ideas through rapid prototyping techniques.
Focus on polish and quality before new features.
Test and challenge ideas through open and honest design critique.
Design usable, accessible, and enjoyable experiences which provide measurable value to users.
Use modern, open, and actively developed languages, frameworks, and tools.
Build products so that they can be operated and maintained efficiently for years.
Define formalized functional, performance, and security goals and measure success toward them, ideally via automated test suites.
Peer review all architecture decisions and every change to production code.
Make code and infrastructure reusable where possible, ideally as open-source.
Follow quality best practices in all product lifecycle phases to enable testing early and often.
Write human-readable end-to-end tests utilizing BDD and automated testing facilities, for example using Cucumber.
Ensure all stories describe the user value and provide thorough acceptance criteria for feature and user acceptance testing.
Provide detailed steps how to reproduce bugs, their severity, the expected behavior, and include additional material like screenshots if necessary in bug reports.
Use continuous integration, testing, and deployment on all branches to review and test all changes prior to shipping.
Only operate software that meets our standards and is built The Originate Way.
Practice engineering-driven operations to avoid an artificial separation between building and running code.
Apply proactive, intelligent automation everywhere possible, including machine learning and natural language processing, to make product Operation a human-friendly service.
Achieve reliability and high availability through real-time monitoring, alerting, automated healing, and intelligent automation.
Operate a diverse set of products across industries, technologies, and channels.
Ensure all AI created or applied does not have the ability to harm humanity.
Prohibit AI from disturbing or destroying its environment while learning or completing tasks.
Implement all possible control methods within an AI to avoid unintentional outcomes.
Incorporate oversight from other benevolent organizations or communities when there is a possibility of creating or enabling artificial general intelligence or superintelligence.
Continuously seek out and follow other best practices established by top AI researchers.