Practical advice for becoming more effective and productive
Have you ever heard of the book called The 7 Habits of Highly Effective People? It's a book written by Stephen Covey which is about productivity and bettering yourself. You learn more about some key core set of values and ideas that you can develop to help solve personal and professional problems with an integrated and principle-centered approach.
If you haven't already read this book, I urge you to do so.
I believe all people can benefit from having positive habits, though today I will try and focus on why you as a developer can benefit from positive habits that enable you to be more effective as a developer and a human being.
I've been in the tech industry for around 15 years, and I know there's a lot of opinions on what makes a good developer.
This article isn't so much about being a good or great developer, but more about how to be an effective developer, how to get most of the day so you can become the best version of yourself and get more shit done!
Throughout my years in the industry, I've picked up a few things around what is making great developers highly effective.
Let's take a look at the habits.
To become a great and effective developer, you need to have a focus on always developing your own skillset. If you procrastinate, you will never become effective, nor great for that matter. Effective developers find solutions to problems with knowledge. Knowledge comes from experience and learning things, therefore, it's essential to keep your mind open for learning new things continuously.
I'm a big fan of this habit. A good and healthy lifestyle will provide you with a much clearer mind and a lot more energy in you every day.
Studies show that living an unhealthy lifestyle where eating healthy and exercising is NOT a part of life, people are likely to be more prone to heart failures, vulnerable to obesity, suffer from tiredness, have a harder ability to absorb information, and are generally in the higher risk of getting sick.
Taking good care of body and mind with a healthy lifestyle will make you more effective and productive not only as a developer but as a human being in general.
Go for a run, go for a swim, take a trip down to the fitness club, think about what you eat. If you are not used to doing exercise, it might be hard in the beginning, but in the long run, you'll love it.
Effective developers focus on value, rather than on problems. There will always be bugs, issues, etc, but having the ability to and habit in trying to identify the things that bring the most value for the end-user will help you in being more effective. You might not be the most effective in the type of solving the most bugs, but the ones solved, are the bugs that bring the most value to the end-user, which will end the end be perceived as being most effective.
Take this for example:
A Customer wants a notification whenever the battery is drained. Why?
Solution: Notification service that can help prevent running out of battery
A good exercise for getting better at this is trying to make use of the 5 whys and incorporate this in your day-to-day. Learn more about the 5 whys here and here.
Effective developers and people know when to apply which methodology to X problem. They always try to simplify things to be as understandable as possible and don't end up over-engineering a solution.
Good and effective projects are the ones with simplified implementations, easy to maintain, easy to understand.
A complex design that is over-engineered is very likely to lead to difficulties in implementing new functionalities. It makes maintenance a nightmare and turns seemingly simple code into a sh*tshow of complexity.
To overcome this, try not to write unnecessary code and always try looking for simple and elegant solutions. It will make you more effective and productive.
This habit is definitely not only limited to developers, but all effective people in general. If you want to be effective and great, you need to involve yourself around smart people. Look around the room you're in right now. Do you suspect you're the smartest person in it? If so, go find a different room. It will change your life.
Involving yourself around smart people will make you smarter. They make you better. They spark interest and introduce you to new concepts, ideas, culture, people, and much more. In short, they know where the good stuff is or how to help find it.
If you don't know where to start on this, I recommend you read this article from Leonard Kim: https://medium.com/the-mission/how-do-i-surround-myself-with-people-who-are-smarter-than-me-d26f9f25d12d
Effective developers always try to be proactive. A good idea is trying to be better at focusing on what is in your control, rather than what you can't control. Taking a proactive approach to things, and making other people aware. Put in an effort and use the necessary energy at becoming better at this.
An example of being proactive could be the following: Be Responsible for Great Requirements - Don't blame others for poor requirements. Instead, work with the team to fully analyze the requirements to ensure they are complete, accurate, and meet the needs of the customer. Take the responsibility it requires you to do, and help others. If you do this, you and the people around you will become more efficient.
Prioritizing work & work effort is critical. You must prioritize the work that gives high business value. That is the ideal situation, right? Effective people are good at this, knowing which features give the highest business value, but can be done with low/minimal efforts (Time vs Business value)
You must apply effort to the most important things first, followed by less important things. For example, everyone will generally agree that creating reusable and easily maintainable code is important.
However, in an effort to do this, developers have a tendency to "gold plate/over-engineer". "Gold plating or over-engineering" is when a developer adds bells and whistles to the feature that were not asked for and can easily increase the complexity and estimated hours needed to deliver the work. Be very careful with this. This does not add that necessary value vs the time spent.
Was it a good investment doing the bells and whistles then? Probably not. You need to become good a prioritizing work, and also know the concept of business value vs time spent.
Having good habits in your every day can be very powerful. It will benefit not only you but everyone around you. I truly believe that incorporating good habits will make you more effective. It will help you excel as a person and a developer.
As Stephen Covey says in his book:
"I am not a product of my circumstances. I am a
product of my decisions."
Start today, Try challenging yourself as of today, start practicing these habits. It will be hard, but worth it. I am sure of it.
Check back in a year, and see for yourself how much development you have made as a person.
I would love to hear your thoughts and if you have any valuable habits that make you feel like an effective developer? Share your comment in the section below. If you like this article do pass it forward and share it with your friends and peers.
Thanks for reading and I hope you liked the article.
Thanks for reading and I hope you liked the article, if so, please help support me by hitting that clap button or subscribing.