This list is something we've built and learned over the past few years (some we learned just recently). Although YOYO Holdings have been around for 6 years already, the current engineering team on the time we started working on this blog is pretty young. These principles, workflow, and process has been effective so far on how we're dealing with our recent project with the current team size of 3 developers. Slack being the key driver of all things.
Always follow the TDD Principle Write a Test > Implement > Run Test > Refactor > Repeat an 80% test coverage is good, 90% is super good and a 100% is 'chouverygood'.
If you can't immediately write a test for a method, make sure to still write a test case and just put pending explain the reason why so you or somebody else can return to it later.
Be consistent with other people's way of doing things but feel free to discuss improvements.
We put more weight in code clarity.
Make use of special ANNOTATIONS like # TODO:, FIXME:, OPTIMIZE: so IDE can pick up.
Prevent being a blocker to your teammates.
We chose to be Proactive over Reactive.
Always learn and share. If there is one thing that I like about the Engineering @ YOYO, is its support for learnings everyone is free to learn new things, we don't tolerate the `fear of mistakes`, we want everyone to learn from their mistakes and become better.
To sum it all up:
Communications
Learn
Play
Team Player
Together, let's make the engineering @ yoyo become a hobby where we are never going to be satisfied on what we currently know.