Nearly everyone aspires to grow and become better. Software engineers are no different, on a perpetual quest to know more, read more, learn more. However, there is more that goes into becoming an exceptional software developer than just obtaining technical knowledge. There are key supporting habits and behaviors that separate highly skilled and seasoned engineers from beginners. Some of these behaviors extend into soft skills like interpersonal relationships, but many simply relate to how technical problems are approached, planning and design, general organization, focus, and attention to details. Acquiring these skills is not as straightforward as obtaining additional technical knowledge. It requires a person to build the right habits, deliberately practice, track progress, and seek feedback.
Even the smallest behaviors can affect the output of an entire system. Whether it’s a poorly optimized method or a repeated off-by-one error, an entire project can be tanked by one mindless mistake.
Similarly, small shifts in the way someone thinks and acts can play a tremendous role in their quality of life. The simple mathematics of compound interest, or the growing effects of choosing good behaviors every day, pays off in dividends.
Those who can learn the science behind breaking down poor habits and developing more healthy ones will become better partners, peers, and developers.
What is a Habit?
People tend to think about habits in the context of their personal lives. Habits like exercising more, smoking less, eating healthy foods, spending more quality time with family are the first that pop into our heads. But habits extend beyond personal life, and they form the structure and systems for achieving goals, including at work. Identifying and modifying your behaviors on the job can have a profound effect on your performance and workplace satisfaction.
Before discussing how to create or change a habit, it’s important to touch on what a habit is. A habit is a behavior that’s repeated regularly enough that it becomes part of an automatic routine. These behaviors usually occur subconsciously and could be considered positive or negative.
Yet habits don’t just refer to behaviors. From the standpoint of psychology, a habit is a fixed way of thinking, willing, or feeling that’s acquired through repetition of a behavior.
Unfortunately, there’s no magic algorithm that’ll lift someone out from an ingrained, negative habit or instantly endow them with perfect habits. How and why habits manifest is due to different external circumstances and internal characteristics.
While some repetitive behaviors are easy to analyze, others may manifest in masked and unclear ways. Some habits may even act as cues, or triggers, for other habitual behaviors as part of a habit chain, or as a keystone habit.
The Anatomy of a Habit
As outlined in the critically acclaimed book The Power of Habit by Charles Duhigg, every habit consists of a simple neural loop: a cue, a routine, and a reward.
The cue refers to either a single trigger or a network of triggers that cause a habit to appear. Cues can be anything, yet most fall under categories like location, time, emotional state, other people, and preceding behaviors.
Duhigg claims that cues are “stimuli that prompt people to think about related things”. A cue acts as a reminder to engage in a specific behavior.
Cues are so powerful that the individual immediately performs a routine without even realizing it. This routine can be a physical, mental, or emotional behavior: it is the actual habit that is performed.
Prehistoric humans listened to cues that predicted potential rewards relating to food, shelter, mating, or danger. Now, cues predict rewards related to approval, relief, love, and power.
A cue indicates that a potential reward is present, which then initiates craving. This craving drives a programmed behavior that’s meant to obtain the reward.
After completing the routine, the reward helps the brain determine if the loop is worth repeating in the future. The reward may be a sense of relief or gratification that arises after responding to the cue.
Soon enough, both the cue and reward become deeply associated with each other, causing a sense of anticipation and craving to emerge over time.
Performing the cue, response, and reward loop cause the association between certain stimuli and activities to develop. The feeling of pleasure caused by a habitual response teaches the brain what behaviors are necessary for achieving survival, approval, and pleasure.
Though this subconscious behavior is often attributed to negative activities, developing the right cues could make healthy thoughts and actions automatic.
This is the first in a multipart series on building habits for software engineers. Part two can be found here.
Need a little nudge to help you build better software development habits? botany.io is a smart virtual coach designed to help software engineering and managers professionally grow and improve their skills.