We choose "boring" technologies – reliable and proven, such as Postgres and Rails.
We put our stakes on the Rails as the greatest way to follow. Ruby and Rails is the best "boring" combination that suits our vision, goals, and skills. We’ll always choose those tools and patterns first in a pragmatic approach however, we’ll bring in new ideas where we see value in them. Following The Rails Way enables us to ship features quickly and with the minimum amount of stress by keeping the codebase well-organized, predictable, and coherent.
The Rails are great but not almighty and we will never stop exploring new technologies. We make practical bets on solutions to sensitive problems we have right now. However, problems do not predetermine a solution, even if the solution is the most popular to solve certain problems.
We code, then test, then release. If it works, then it's done. If it's not perfect now no one says it can't be perfect at all but now it is already good if it satisfies our client. We will work on it more to try and make it perfect, will kill all the bugs, but the main thing is not to do excessive tasks that will bring only hassle and no result.
We are a team and take collective responsibility for the code we create. There’s no place for individuals withdrawing. Sure, each of us has different involvement due to levels of expertise. However, when one developer ships code, we all celebrate it, and we all do our part to support it in the future.
The team cannot exist without mutual trust. We’re trusted to get our job delivered, to do what we say we’ll do, to work with our best effort, to make our best decisions, and we’re trusted not to abuse the autonomy we’re given. In turn, we trust that others will do the same.
We do not work weekends (usually).
We have a lot of stuff that brought us together and keeps us a small but strongly tied working family. We aim to maintain a fun&friendly atmosphere inside the team. We share memes, jokes, our ups and downs, and our music that no one else likes.
We challenge and question each other because the truth is born in a dispute. Having healthy arguments from time to time is a great way to reach a better decision. We learn to listen to each other’s viewpoints respectfully, explain our decisions, weigh the pros and cons, empathize with differing viewpoints, look for consensus, and ultimately agree on a decision—even if it did not match initial thoughts. We argue the tech points, not the personal traits, and we try to keep these discussions meaningful.