Welcome to Vardoge's R&D team's getting started guide. This document describes our development philosophy and outlines things we care about as a team.
To deliver business value quickly and iteratively
If you are on the Vardoge Engineering team you already exhibit some (or all) of these behaviors, but if you don't exhibit all, don't worry. We understand some of these behaviors rely on a bridge of trust, and we're happy to build that with you.
- Psychological Safety - It starts here; without Psychological Safety we cannot Communicate and we cannot Care. These are some examples of creating a psychologically safe team, everyone must be responsible and exhibit these behaviors at Vardoge. Some examples:
- Encourage team mate participation.
- Engage and investigate all ideas equally.
- Define problems collectively as a group.
- Make sure everyone has a chance to participate.
- No blame, succeed or fail together mentality.
- Willingness to try without fear.
- For more details and examples read here
-
Communication - Communication can take many forms, but it is important that we are always communicating at Vardoge. Without communication, none of this is possible. The only clause here is that we don't want to be jerks; if you are feeling upset please take time to construct your narrative before sharing it (see psychological safety). Some examples:
- Creating PRs.
- Writing documentation.
- Communicating in person or online.
- Giving and receiving feedback constructively and in real time
-
Care about... - If you don't care about Vardoge, about your craft, about engineering, or about your coworkers, working here will be tough. You don't have to care about everything, but caring about something is important. Without caring you wouldn't be motivated to do the work that's required of you here. Some examples:
- Care about Vardoge.
- Care about your coworkers and their success.
- Care about standards or quality.
- Care about the craftsmanship of your work.
- Care about learning and growing your skills.
If you retain anything from this article, it is the 3 core behaviors from above. We live by this, we hire by this, we fire by this.
Here are things we specifically do to help achieve our mission
What | Reasoning | Tooling |
---|---|---|
(Near) Atomic Changes | Pushing smaller changes allows us to deliver incremental value; also reduces chance of breakage | GitHub |
High code coverage | CI is useless without good quality coverage, and we can't ship to production confidently without it | CircleCI, Coveralls |
Refactor constantly | Code debt slows us down and counters our fast PR turnaround | GitHub |
What | Reasoning | Tooling |
---|---|---|
Branches and PRs | introduce small changes safely, ensure the code fits our philosophy, knowledge sharing | GitHub, Slack |
Effective documentation | moving quickly means we work on a lot of different things, coming back to it later or having another teammate look at it, they need to know | GitHub Markdown |
Aligned Development | Make sure what we're working on brings business value | Trello, GitHub |
What | Reasoning | Tooling |
---|---|---|
Tight CI/CD | The way we can ship the code quickly and confidently | GitHub, CircleCI, Heroku, AWS Lambda |
Automated System/UI Testing | Once code is in production, is it really working? | CircleCI |
DevOps Culture | Everyone should know how stuff runs and keep an eye that services are working as expected | Slack |
Core Services
Name | Build | Code Coverage | Description | Maintainer(s) |
---|---|---|---|---|
Dorado | ReactJS based Dashboard | Fiona | ||
Polaris | API Core | Chris |
Processing Services
Name | Build | Code Coverage | Description | Maintainer(s) |
---|---|---|---|---|
Eros | Email Service | Jessica | ||
Pegasus | PDF Generator | Fiona | ||
Scorpius | Indexed Search | Michael | ||
Ursa | S3 Upload Signer | Jessica | ||
Virgo | Autodesk forge Integration | Fiona | ||
Wormhole | Programmable webhooks | Jessica |
Other Services
Name | Build | Code Coverage | Description | Maintainer(s) |
---|---|---|---|---|
Indus | N/A | N/A | Infrastructure | Jahm |