Abhi Hiremagalur

Musings about software and the people around it

Read this first

Process is for people


This week a few colleagues and I, software engineers and managers at VMware Tanzu, attended the third installment of LeadDev Together. This deep-dive was about defining, refining, and aligning processes. We heard from several accomplished engineering leaders about their experiences with process. The session was skillfully facilitated by Anjuan Simmons and Pat Kua.

Some things I heard

Adrienne Lowe encouraged us to consider the different perspectives at the dull and sharp ends of a process. Leaders perceive less detail than practitioners do. She reminded us of the inevitability of change, of the drift that occurs between a process’s philosophy and reality.

Maria Gutierrez brought us back to first principles. She told us that processes are fundamentally about repeating success and avoiding past mistakes. She cautioned us not to transplant processes without understanding the new...

Continue reading →

More vibrant Go in 3 moves

Move 1: Describe interactions with roles

Go’s interfaces are satisfied implicitly, making it incredibly easy to create role interfaces.

Describing new roles as we implement a method lets us postpone deciding how we’ll meet its needs. Conveniently, our method is specific about what we know and open to what we might learn.

Move 2: Extend existing code with adapters

The humble adapter finds new utility in existing code without modifying it. Leaving existing code unmodified also avoids rippling changes through its existing consumers.

Adapters turn out to be especially powerful at the boundaries of our applications. They can shift the shape of an open source library and shield the internals of an application from changes to these libraries.

Last Move: Keep creation and interaction apart

When interaction is independent of creation, an implementor can be replaced with another without...

Continue reading →