It is amazing what one can accomplish if one does not care who gets the credit.
— Harry Truman
The golden rule is at the heart of our engineering culture: "Treat others as you would like others to treat you." Believe in fostering an environment of vulnerability, trust, empathy, and accountability. By supporting our teammate's growth, celebrating our achievements, and practicing egoless programming, we strive to create a team that thrives on holding each other accountable for our mutual success.
We recognize the importance of maintaining a healthy work-life balance and prioritize personal health to ensure sustained productivity and well-being. We view our coworkers as internal customers, valuing their unique perspectives and treating our interactions as meaningful relationships rather than business transactions. By providing exceptional support for their needs, we strengthen the relationship between our teams and their stakeholders and cultivate an environment that embraces collaboration and success.
- Don't be a dickhead.
- Ditch your RTFM mentality, it isn't appreciated. Make it as easy as possible for everyone else.
- Draw the rest of the fucking owl, not everyone knows all the parts of thing as well as you.
- Seek a growth mentality for you and your team.
It is important not to worship what is known, but to question it.
— Jacob Bronowski
Embracing a healthy skepticism enables us to challenge the status quo and continuously question the state of our understanding. By confronting our own cognitive biases and being open to alternative perspectives, we cultivate an environment of continuous learning and improvement. We encourage research, exploration, and exposure to diverse technologies, languages, industries, and cultures, seeking inspiration from external domains to solve local challenges.
- Don't assume existing solutions are wrong (or right).
- Don't endlessly bikeshed or reinvent the wheel.
- Don't operate in a vacuum, most likely the current problem you're facing has already been solved before, seek out those solutions.
If I had an hour to solve a problem I’d spend 55 minutes thinking about the problem and 5 minutes thinking about solutions.
— Albert Einstein
Our ultimate goal as a software engineer is to create value for our customers. We fully understand that software development is not an end in itself but a means to serve the needs of our users. We align our engineering efforts with the organization's product vision and business goals by developing a deep empathy for our customers. We strive to understand the problems the team is trying to solve and focus on delivering solutions that truly meet the needs of our users.
- Don't rush into implementation before validating your assumptions and leap of faith hypotheses (the central tenet of lean methodology and product discovery).
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take.
— Antoine de Saint-Exupéry
We believe in the elegance of simplicity. Avoiding over-engineering for the sake of engineering, we strive to create solutions that are simple, maintainable, and fit for purpose. By adhering to the rule of least power, we resist the temptation to add unnecessary complexity. Our focus is on building efficient, scalable, and robust systems that solve real problems effectively.
- Similar to principle #2, assume your solution sucks and there's a more elegant solution, but do not run into the trap of creating a solution in seek of a problem by disregarding principle #3.
- "Duplication is cheaper than the wrong abstraction".
Better a diamond with a flaw than a pebble without.
— Confucius
We embrace an iterative approach to development by recognizing that perfection can be the enemy of progress. We prioritize speed and agility, valuing the ability to adapt and iterate rapidly over excessive planning and premature optimization. We understand that delivering value to our customers requires setting achievable milestones, fostering a culture of experimentation, and embracing the philosophy of "better done than perfect." We iterate, learn, and refine our solutions based on feedback and real-world usage.
- "Premature optimization is the root of all evil", YAGNI