DEV Community

Marco Davalos
Marco Davalos

Posted on • Originally published at prbot.app

5 Essential Principles for Highly Productive Developers

Image description

It is clear that seniority is not only about how skilled a developer is in a language or framework. It's about how our way of thinking changes through the experience. As a result, we make ours principles that are essential to us. After +10 years in the industry, here are some of principles I believe (IMHO) a developer needs to follow in order to become a highly productive one.

Measure Twice, Cut Once

Making sure you're on the right page, and aligned with your team, and other teams involved is a must to avoid: wasting time, money, as well as unnecessary awkward situations.

The time we spend investigating, evaluating the implications of our approach will be reflected in the quality of the code we write. It will be always faster to iterate your approach with your team, or in your head before you start, than to do it in the code.

KISS (Keep It Simple Stupid)

It is easy to write code that adds complexity when solving an already complex problem. This will make the code harder to review, test, and maintain. Complexity can be added by:

  • implementing unnecessary complex design patterns
  • adding a newer or better library without a valid reason
  • creating unnecessary abstraction
  • etc.

Common sense should be our guide, leaving our ego out of the equation. Your future self will thank you for it.

Least Privilege Principle

Asking for access to environments, repositories, secrets, etc. in order to accomplish your task might be tedious, especially in big companies that have slow processes. Sometimes less experienced developers can even take this personal as a sign of lack of trust.

Permissions always come with a responsibility, but also with a risk. The less privileges you have, the less damage someone who got access to your account can do. Trust me, you don't want to be the one who created a data breach in your company.

YAGNI (You Aren't Gonna Need It)

The temptation of adding additional functionality while working a new feature or fixing a bug will always exist.

However, more functionality also means more time, and most importantly: more chances of introducing new bugs. The later will translate to more time, and can also end up damaging the business side of the company.

No Hello

This is not a principle, but a good practice in team communication. Slack fatigue is real, so the fewer messages you send, the better.

Hence, don't start a conversation only with "Hello", "Hi", "How are you?", etc. Add your question or topic to the very first message to avoid unnecessary context switching for the other person. https://nohello.net/

Conclusion

Every developer might have their own principles, but no principle, or good practice is gonna make any difference if you don't know: how to work in a team, how to properly communicate, or how to properly handle/give feedback.

Soft skills, and being a good-honest person is the base of every highly productive developer.

Top comments (0)