Principles of Passionate Programmer

In today’s post, I’d like to share some of the principles I think a passionate programmer should follow for continuous growth.

Measure your goal. It is not motivating to work on a project unless there is a metric it affects. For example, your goal could be to increase the review rating on App Store. In this case, you know exactly what you are trying to achieve and this goal encourages you to focus on execution. You should also measure your progress while executing to avoid demotivation. Having a way to measure how much effort you put in helps you stay motivated throughout the implementation of the project.

Learn to fail. It is okay not to achieve a goal as long as you learn something new along the way. Failure means you are growing and that’s how you become an experienced engineer. It would not be useful for business if everything you do becomes a success. This means you are not setting big enough goals. Also, it is not helpful if you always fail because you might lose interest in programming. You should set more achievable goals in that case. Don’t get caught up in your first failure. Fail fast instead. It is the number of total failures that helps you grow not the duration of a single one.

Be a good citizen. You should strive to make other engineers’ life easier by documenting technical details, automating boilerplate code, and refactoring everything you touch. Don’t wait for someone else to start doing it. Your peers will follow your example and make your life a lot easier by doing the same.

8-hour burn. You should aim to use your daytime in full. Make sure to spend your day as productive as possible and avoid procrastination. You might assume you will catch up in the evening by putting off something during the day. But by working late hours you are just borrowing time from the next day let alone reduced attention to details at night.

Learn to say “NO”. You are the only person in charge of your time and your time is limited. Prioritize what matters and delegate the rest. You can’t get all of it done by yourself. Therefore, you should rely on your team’s help. Don’t be afraid to tell the risks to your peers. You will build a stronger relationship by having these conversations.

Understand other people’s values. Consider which skills the person you are talking to values. You don’t talk about details of Continuous Integration with a Product Manager. Speak their language. Remember, the Tower of Babel failed because people spoke different languages.

Speak in person when possible. Of course, it is hard to communicate in person during this pandemic. However, it is an integral part of any relationship. When we are all back at the office you should speak to your peers in person in order to build a stronger connection. Don’t just ping them online. Invite for a drink, grab a coffee and make small talk. This is an excellent opportunity for you to learn more about interlocutor’s values. You can’t keep asking people for favors without building a good relationship because people avoid the person who always thinks about themselves.

Focus on your path, not your destination. Don’t get caught up with your ultimate goal. Enjoy the path. There will always be another step for you to take and it may last your lifetime without you noticing it. Carpe diem.

This is not the ultimate list of principles. You should keep learning and setting new ones as you grow. Let me know what principles do you live by.

Send me a message