Habits make us. The recurrent activities we do as a team and as tech individuals help us in our undertakes and guide us to inspiration for the projects we develop.
1. We make reversible decisions fast, and irreversible decisions only after having thought very well. We make sure most decisions we make are reversible (this means you have a quick way back).
/Advice: Do not waste time holding back decisions that can be easily reverted, do not waste time making irreversible decisions without considering error situations and then having to roll it back the hard way. If you can make any irreversible decision to become a reversible one, do it and then try it.
2. We do not fall into religious-like tech arguments; we solve issues easily with a proof of concept and working code. Discussions will end after working code slaps everybody in the face.
/Advice: Always have a backup before you deploy into production. No need for further explanation.
3. We do not like to get blocked. We seek Google, ask for help, we explain roadblocks to our dog, to our neighbors (it’s possible that the answer lies in your own explanation). No one expects a developer to know everything, or to know how to handle every bug or scenario.
/Advice: Use the resources which help developers: be mindful on how you use Google (the answer will be out there, but noise will be too). Get into forums; post questions as you find answers. Rethink video tutorials; they’re a great training tool, but too time-consuming to resolve issues.
4. We like to keep things simple, but not simpler than they should be: simplicity is usually best for any solution to any given problem; but there are problems which are inherently complex enough that any given solution will just be as complex as it has to be.
/Advice: Differentiating one type from the other it’s a matter of experience, but if you’re observant and neutral, you’ll get there fast.
5. We know that the most likely source of problems is what the last human touched: our own code: Problems where you find a bug in hardware, or in a well tested library are possible, but less likely.
/Advice: Look for problem root causes where they are most likely to be: in your own code.
6. We code defensively. There is a tendency to forget that developers are not the ones using the applications we build; it’s users, who most of the time are not technical.
/Advice: Ask yourself: How can I code the feature in a way that it will be as simple as possible for the user to understand?
7. We do not stop learning. This is key not only for development, but everyday life.
/Advice: Here’s when it reads simple, but we all know it’s hard –yet rewarding– to keep up: learn a new thing everyday. Read a book. Find a new topic to understand. Not only will this make you a better developer, but also a better person.