7 Habits of Effective Developer
Tags: career, beginners, startup
Published: 2019-12-26 11:17:06

# Introduction
Sometimes I wish I was told to focus on cultivating these habits when I was starting out. 

So it could help me become a better developer as I progress in my technical skills.

# Time Management
To date, time management is one of the harder habits to cultivate.

For me, instead of just skipping after spending 1 hour in fixing it. 

My tendency has always been fixing it no matter the cost involved.

Recently I tried to use [promises](https://youtu.be/_JOP8rcDjJE) which took 3 or more days to figure what is wrong for an API call in [ExpressJS](https://expressjs.com/).

I believe establishing a better feedback loop in **estimating** of tasks and **execution** can help a lot in not missing the deadline.

Therefore maybe adopting a time management technique like [Pomodoro technique](https://www.themuse.com/advice/take-it-from-someone-who-hates-productivity-hacksthe-pomodoro-technique-actually-works) or installing [Rescuetime](https://www.rescuetime.com/).

To track time where you had been spending your time is useful for you to understand where could be eliminated.

# Writing Well
By writing well, it demonstrates clear thinking and understanding.

Especially in technical discussion or you are just conveying your understanding or propose solutions to solve a problem. 

Since we usually covey information through our technical documentation or words to our superior, colleagues and stakeholders.

I found that conveying it in a **bite-sized** format that is **digestible** for a **non-technical** audience has always been a challenge. 

Reading books like [Writing Well](https://www.amazon.com/Writing-Well-Classic-Guide-Nonfiction/dp/0060891548/ref=sr_1_1?keywords=writing+well&qid=1577356277&sr=8-1)  and [The 48 Laws of Power](https://www.amazon.com/48-Laws-Power-Robert-Greene/dp/0140280197/ref=sr_1_1?keywords=Power+book&qid=1577356244&sr=8-1) is useful.

Whenever you are writing it for someone that is above you in standing within or in another organisation.

# Life-Long Learner
As a developer, you are always required to learn and pick up new skills & technologies as you grow.

The best way to learn for me has always been **working** in an actual project or **teaching** it to others.

Do document your learnings in blogs, podcasts, mentoring, teaching or offering advice to help you remember.

# Focus
This is challenging if you are from the multitaskers school of thought.

Especially if you had not tried [Pomodoro technique](https://www.themuse.com/advice/take-it-from-someone-who-hates-productivity-hacksthe-pomodoro-technique-actually-works) which will kick your ass to learn to focus on doing a single task.

You could pick up the book like [Deep work](https://www.amazon.com/Deep-Work-Focused-Success-Distracted/dp/1455586692/ref=sr_1_1?crid=1KFXKI2I9LTJ2&keywords=deep+work+cal+newport&qid=1577356352&sprefix=deep+work%2Caps%2C400&sr=8-1) to find ways to prevent you from being distracted. 

I found that one of the best ways to prevent distractions is just turning off notifications be it slack, email.

It helps to have software to block you from wandering off to sites that is a time sink.

# Understand How Code can Deliver Value 
 Always seek to become a **value creator** in your code. 

By understanding business concepts, business models or strategies from your superiors, books, videos, podcasts. 

To expand your thinking and language when talking with non-technical people.

 I found that books like [The DevOps Handbook](https://www.amazon.com/DevOps-Handbook-World-Class-Reliability-Organizations/dp/1942788002/ref=sr_1_1?crid=3OU3YWCKG24TA&keywords=devops+handbook&qid=1577356394&sprefix=Devops+hand%2Caps%2C141&sr=8-1), [The Effective Executive](https://www.amazon.com/Effective-Executive-Definitive-Harperbusiness-Essentials/dp/0060833459/ref=sr_1_1?crid=23NXFNRW08WE7&keywords=effective+executive+drucker&qid=1577356424&sprefix=effective+exe%2Caps%2C661&sr=8-1), [Lean Startup](https://www.amazon.com/Lean-Startup-Entrepreneurs-Continuous-Innovation/dp/0307887898/ref=sr_1_1?crid=3G2UUSGXQTLVR&keywords=lean+startup&qid=1577356446&sprefix=lean+startu%2Caps%2C410&sr=8-1) is a great way to start.

# Disciplined
Since it's gonna be the new year soon. I believe you will have tons of resolutions for the start of next year. 

Start a task now **Now!!!** and do it on a **daily** basis with the **right** environment to help you to build discipline.

Which free you up the time to focus on going after the **bigger** things in life.

It can be as simple as folding your blankets when you wake up or just 50 push-ups daily.

# Writes Clean Code that's Easy to Read or Test
As I learn and work with other developers. I realise the need for clean code and test cases to help in debugging.

Since without it, it could be a pain to maintain other people's code or just the past you.

For next year, I will be dedicating more time to learn about [Solid Design](https://stackify.com/solid-design-principles/), [Design Patterns](https://refactoring.guru/design-patterns) & [Site Reliability Engineering](https://landing.google.com/sre/sre-book/toc/index.html). 

To help me to create software that is automated, scalable and effective in delivering software. 

# Conclusion
I hope these habits are useful or it could be a guide for you to form part of your new year resolutions to help you to be outside of your comfort zone. 

I had learnt that I need to continue to push myself further on these habits.

Like **discipline** and **writing well** is the part I will be focusing myself to next year as I progress to do things that are outside of my comfort zone.

If you like this article **sign up** for my [Adventurer's Newsletter](https://maxongzb.activehosted.com/f/1) for a weekly update in the area of **Python**, **Startup** and **Web Development**.

You can also **follow** me to get the **latest** update of my article on **Dev**


The original post was on [7 Habits of Effective Developer - Reading Time: 3 Mins](https://www.maxongzb.com/7-habits-of-effective-developer-reading-time-3-mins/) and cover image by [Drew Beamer on Unsplash](https://unsplash.com/photos/uejtDqpJ7ig)

# Reference
* [10 Habits of Highly Successful Software Developer](https://blog.newrelic.com/culture/successful-software-developers-habits/)
* [Promises - Node.js Basics Part 5](https://youtu.be/_JOP8rcDjJE)
* [ExpressJS](https://expressjs.com/)
* [Pomodoro technique](https://www.themuse.com/advice/take-it-from-someone-who-hates-productivity-hacksthe-pomodoro-technique-actually-works)
* [Deep work](https://www.amazon.com/Deep-Work-Focused-Success-Distracted/dp/1455586692/ref=sr_1_1?crid=1KFXKI2I9LTJ2&keywords=deep+work+cal+newport&qid=1577356352&sprefix=deep+work%2Caps%2C400&sr=8-1)
* [Writing Well](https://www.amazon.com/Writing-Well-Classic-Guide-Nonfiction/dp/0060891548/ref=sr_1_1?keywords=writing+well&qid=1577356277&sr=8-1) 
* [The DevOps Handbook](https://www.amazon.com/DevOps-Handbook-World-Class-Reliability-Organizations/dp/1942788002/ref=sr_1_1?crid=3OU3YWCKG24TA&keywords=devops+handbook&qid=1577356394&sprefix=Devops+hand%2Caps%2C141&sr=8-1)
* [The Effective Executive](https://www.amazon.com/Effective-Executive-Definitive-Harperbusiness-Essentials/dp/0060833459/ref=sr_1_1?crid=23NXFNRW08WE7&keywords=effective+executive+drucker&qid=1577356424&sprefix=effective+exe%2Caps%2C661&sr=8-1)
* [Lean Startup](https://www.amazon.com/Lean-Startup-Entrepreneurs-Continuous-Innovation/dp/0307887898/ref=sr_1_1?crid=3G2UUSGXQTLVR&keywords=lean+startup&qid=1577356446&sprefix=lean+startu%2Caps%2C410&sr=8-1) 
* [Solid Design](https://stackify.com/solid-design-principles/)
* [Design Patterns](https://refactoring.guru/design-patterns)
* [Site Realiability Engineering](https://landing.google.com/sre/sre-book/toc/index.html)