Empathizing with engineering

Empathy is an essential element for practicing good design which delivers value for an intended audience or market. To design effectively is to design with a committed sense of deep awareness and care for the that audience’s goals, needs, concerns…from awful frustrations to joyful delights, and everything in between.  

This point is also true, when it comes to designing with a cross-functional team, through the conduit of a shared, common purpose. Empathy is a necessary factor in building key relationships and understanding divergent perspectives that enable a kind of dynamic, creative tension for the whole team’s benefit, towards realization of that purpose. Ultimately it is a human quality that creates social adhesion for fostering trust, engagement, and camaraderie, particularly when arduously working through the most intractable or contentious problems along the way. It all comes down to respect and willingness to see “the other side”, so as to arrive at feasible compromise and viable alternatives that meet everyone’s goals.

This is not easy, in the slightest! Empathy takes hard work, patience and practice, especially when trying to gauge the emotional or philosophical tenor of an inscrutable colleague— or at least an agreeable colleague speaking obtusely ;-)

So how to foster empathy with engineering? Following are some articles that I’ve been reading up to grok engineering principles and practices. To help me truly deeply understand where they are coming from, what their issues and challenges are, what are those fundamental matters that keeps them up. My hope is that by doing this I can be a better designer and foster more team success going forward.

———————–

Principles of High Performance Programming:
 
Coding Principles Every Engineer Should Know:
 
How Doctors Learn:
 
 
Understanding DevOps:
 
———————–
 
Empathy allows ops engineers to appreciate the importance of being able push code quickly and frequently, without a fuss. It allows developers to appreciate the problems caused by writing code that’s fat, or slow, or insecure. Empathy allows software makers and operators to help each other deliver the best possible functionality+operability on behalf of their customers.

Operations cares about code and about the customer experience:

  • If the servers and network are all up, and the disks have plenty of free space, but the blog-platform commenting feature doesn’t work, then the site can’t be considered “available”
  • Ops engineers help designers and developers understand the operational implications of UX and application design decisions.
In the cloud, operational excellence is a fundamental part of what the software vendor is selling. Operational excellence implies more than just scalability, availability, and security. Part of the benefit of having vendor-operated software is immediate access to software updates. Operational excellence thus includes the rapidity, and quality, of the software release process.

Add comment

Recent posts

Older Posts

Let’s go meta