How to mount a lamp like a pragmatist?

Bright Inventions
3 min readOct 28, 2021

The Bad Example

Imagine a character called Jack who hires an electrician to have a ceiling lamp mounted.

With a bright smile Electrician starts his job. At the end of his work, Jack pushes the switch and… the lamp doesn’t give any light.

Full of surprise on his face Jack kindly asks:

And the response was:

There is lots of absurdity in the story but one can find in it an analogy to a modern software engineer’s work reality. We, developers, want some clear acceptance criteria, mock ups and well refined tasks. On Friday afternoon we are proud that all the requirements are clearly met by our implementation, but from users’ perspective the functionality sometimes resembles the well mounted lamp that gives no light.

In that story Jack is the project manager and Mr Electrician is the orthodox, acceptance-criteria-oriented-developer.

Such a situation is a project manager’s nightmare. The role of a project manager is to receive, digest and broadcast signals between people of different worlds. From developers, through upper management up to customers. They physically cannot point out every single thing to be done and hold the dev by hand to make sure everything in his implementation makes sense. They want to trust the developers, have faith in their common sense and rely on their technical, but also user-oriented expertise.

The Good Example

Since we have covered the nightmare scenario, let’s now imagine a more pragmatic and professional approach to mounting the lamp.

Driven by frustration and disappointment Jack found another electrician to make his lamp work. His name is Mr Pragmatic Electrician. Right after receiving the job Mr Pragmatic Electrician mysteriously started looking around the room. He came back to Jack and said:

Jack was absolutely stunned by the professionalism and complexity of the advice he received. He felt really comfortable and felt he could trust Mr Pragmatic and told him:

The result of Mr Pragmatic’s work was a beautifully lit and safely wired room.

The Analysis

Why was Mr Pragmatic’s approach so much more valuable to Jack?

  • He reviewed the current state of the lamp
  • Investigated the surroundings
  • Verified the related pathways
  • Took a broader look all around the lamp, presented a non-technical, user-oriented guidance to properly mount the lamp in the most efficient way
  • Clearly described his findings, dangers and risks
  • Decomposed the problem on many layers: safety, effort, effectiveness of the potential solution.
  • Defined the obstacles, blockers and presented an alternative approach
  • Proposed clear and professional solutions to the problems

And most of all… He took responsibility for the idea of LIGHTING THE ROOM instead of MOUNTING THE LAMP.

Following Mr’s Pragmatic attitude you will gain lots of trust from your Project Manager and you will make his life much easier.

“The skill I value the most in developers is the ability to take a look at the product as a whole, beyond the Jira tasks” — Kasia, Project Manager at Bright Inventions

The Summary

The professional developer takes responsibility for fulfilling a high level, abstract need, he supports the manager to achieve his needs. A pragmatic approach is to take a holistic view on the idea, the concept, the issue that you are working on. Change perspective, think like a specialist, but then like a plain, ignorant user. Do not blindly follow the acceptance criteria of your task. Fulfil them, but make sure they sit well within the system. Verify all the flows around your new feature — do they still make sense? Should they be aligned? Think about the future of this feature — is it likely to be extended? Does the codebase allow that? Should you propose a refactoring for that module? Be courageous, accept the fact that the business thinking is intrinsically entangled into developers’ work routine. Do not only do the coding, but take responsibility for the functionalities.

At the end, please ask yourself these questions:

As a software engineer have you happened to stick so hard to acceptance criteria that you missed some meaningful details in your implementation?

As a project manager, have you come across non-supportive, acceptance-criteria-oriented devs? How did you approach the lack of reason in their attitude?

Photo by Pierre Châtel-Innocenti on Unsplash.

Originally published at https://brightinventions.pl on October 28, 2021.

--

--

Bright Inventions

Software Development Studio with expertise in mobile & web applications, Blockchain, AI and IOT device integrations. https://brightinventions.pl