The Highly Sensitive Programmer
The most influential book I read in 2018 was Elaine Aron’s “The Highly Sensitive Person”. The book answered many of my unsolved questions about myself by showing that almost everything notable about me - my talents, my weaknesses, my interests, my aversions - stems from a single root cause. That root cause is my high sensory processing sensitivity, which puts me in a bucket of people termed “highly sensitive persons” (HSPs).
As a trait, sensory processing sensitivity refers to the amount and depth of automatic processing done by the brain and nervous system in response to stimuli. The trait is believed to be largely hereditary and immutable; multiple genes have been identified in recent years that may be related to it. “Highly sensitive” persons like myself are the people with the most easily excitable nervous systems. HSPs have low perception thresholds, high depth of processing, slow reaction times, and high susceptibility to being overstimulated or overwhelmed.
HSPs tend to share a fairly consistent set of traits:
- Easily frazzled by noise, lights, odors, crowdedness, clutter, chaos, time pressure, temperature, and hunger
- Overwhelmingly introverted
- Conscientious, detail-oriented, and attuned to subtleties in the environment
- Susceptible to emotional contagion from other people
- A deep inner world and an active imagination
- A deep and detailed memory
- Slow at making decisions and acting on them, even when the choices are trivial or inconsequential
- Fearful of making mistakes or forgetting things
- Poor at multitasking and at performing under observation
- Attentive to signs of real or imaginary disapproval from other people
- Resistant to changes and novelties in life, especially when the change is sudden rather than incremental
- Easily startled, jolted, or knocked out of rhythm
- Averse to conflict and confrontation
HSPs typically appear to the outside world as shy, weak, emotional, slow-minded, cowardly, and eccentric. In return, HSPs are blessed with high attention to detail, a perfectionist drive, a desire to understand things thoroughly rather than superficially, a robust moral compass, a reliable and dependable character, a strong memory, and a high intensity of focus.
HSPs are dealt a mixed hand in life and often struggle to wield the double-edged sword that comes with their trait. It takes practice for HSPs to learn to use their sensitivity constructively without letting the world overwhelm them. Owing to the difficulty of learning to leverage their trait, many HSPs, myself included, end up being late bloomers. For example, I was a B/C student in first grade, a B student in most of primary school, an A/B student in middle school, and a straight A+ student in high school.
The HSP as a Software Engineer
I have no hard numbers to back this claim, but it seems to me that the field of software engineering attracts many HSPs to it. There are several aspects to this line of work that make it attractive:
- It’s comfortable office work with minimal physical or outdoorsy components to the job
- Programming is fundamentally solitary and involves relatively little interaction with other people
- The job provides opportunities for deep thought and deep focus
- The job is predictable and consistent on a day-to-day basis
- The pace of work is usually slow
- Working hours and stress levels are low compared to many other high-income professions
Relative to the general engineer population, HS software engineers have both strengths and weaknesses.
Things HS Programmers Are Good At
Code Reviews. HSPs are naturally perceptive and detail-oriented, so they are very observant when reviewing others’ code. Code smells, discrepancies with requirements, logic bugs, and sloppiness will leap out from the screen at them.
Handling Fragile Code. HSPs are naturally careful and thorough. They are also afraid of making mistakes, since mistakes can bring forth much-dreaded criticism and condemnation from others. When a coding job needs to be done perfectly and there is little room for sloppiness, HSPs can be trusted to do the job right.
Documentation. Since many HSPs are shy and awkward oral communicators, they often prefer writing over talking. Many HSPs learn to become good writers, which makes them a good fit for tasks involving reporting and documentation.
Mentoring. HSPs usually have an empathetic and nurturing side to them. Teaching and mentoring junior employees is a job that they tend to be good at and one that they tend to enjoy. Mentorship helps build positive working relationships and social acceptance, both of which are important for HSPs.
Culture-Building. The emotions of other people are contagious for HSPs. HSPs therefore hate conflict and negativity; their instinct is to avoid or to defuse tense or upsetting situations whenever possible. As a result, HSPs typically work to make themselves an assuring and calming presence within their teams.
Things HS Programmers Are Bad At
Emergency Debugging. The HSP stress response is so strong that it can be debilitating, especially in situations with high stakes and high time pressure. If HS programmers are tasked with investigating urgent software outages or degradations, they will enter panic mode and their IQ will temporarily plummet. An HSP’s instinct during a crisis is usually to unload responsibility for the problem onto someone else and to reduce themselves to a supporting role.
Crunch Time. The HS brain runs on overdrive almost all the time and it is easily exhausted. HSPs tend to stubbornly stick to their usual routines and become irritable if knocked out of them. Deviations from normal routines such as late worknights, business travel, or nighttime on-call shifts cause the quality of their work to fall significantly.
Multitasking. Large todo lists frazzle HSPs and put them into a reactionary mindset. In the bad case, they will enter panic mode, switch between tasks excessively, and get little work done. In the “good” case, they will prioritize tasks that are small or tasks that quickly get other people off their backs; these tasks may not necessarily be the most important or impactful tasks for them to be doing.
Overly Broad Problems. HSPs are scared of making mistakes and they therefore tend to overthink things. If a problem has too many choices or too many parameters to consider, HSPs will often fall into analysis paralysis and endlessly delay making final decisions. When this happens, clarification and support from other people is usually necessary to get HSPs out of their rut.
Management. HSPs like having the time to think all their decisions through before making them. Being a manager often involves lots of snap judgments and lots of office politics, both of which make HSPs uncomfortable. HSPs like to think and to weigh options, but they usually prefer someone above them to make the final decision in tough situations.
The Right Place For HSPs
Like any personality, the HSP personality type has both strengths and weaknesses when it comes to software engineering. HSPs excel at some aspects of the job and struggle in others. HSPs are strong when working proactively and weak when working reactively.
Overall, an HSP is a good addition to have as part of a diverse and well-rounded team. A team with one HSP on it is more robust than a team with zero HSPs and much more robust than a team consisting exclusively of HSPs.
HSPs’ thoroughness and reliability are assets for virtually any team. HSPs are good at upholding high standards and adding tranquility to their team’s culture. They are good thinkers and will usually produce good insights if given enough time to think things over. However, decision fatigue weights heavily on HSPs and they are usually averse to making hard choices. HSPs are ultimately more comfortable as advisors rather than as leaders.
HSPs thrive in positive social environments and wilt in negative environments. A culture of trust and social acceptance is essential for making HSPs feel comfortable and bringing out their best work. Other people should resist the urge to try to change or to “fix” an HSP. Nearly all HSPs, myself included, sometimes get exasperated about our trait and wish we were born a little more “normal”. The positive aspects of the HSP trait cannot be unbundled from the negative aspects; both of them ultimately have the same root causes.