Hey guys and ladies,

Welcome to another wonderful time again in the life of a software engineer.

So last month, somebody drew my attention on Twitter to a tweet from a former colleague I worked with, saying how he missed me and missed the way I work.

See a screenshot of the Tweet below:

It felt really good because when you put in a lot of effort and get this kind of feedback, it helps to provide some sort of validation that the effort is actually worthwhile 🙂 . I mean I worked with him over a year ago (he was on my team and reported to me) and for him to still refer to that time and say he really missed the way I worked felt really good.

It means a lot to me and motivates me to keep going forward and to keep being a great leader / manager. I know that I am still improving (and have improved quite a lot since last year) as an engineer and an engineering manager but it felt really good for him to say that about me 🙂 . I mean he said that I have empathy, he also said that I am very principled; these are some of the things I live with/for. I make sure that I have empathy when dealing with individuals and I also make sure that I have and live by certain principles. I try to be as technically grounded as possible and also know how to motivate people at different levels of their expertise/skill levels.

I actually remember a video my former CTO shared with us – me and my colleague, Ifiok – the video was discussing the different stages of a software engineer. It was talking about the fact that the development of engineers are in 3 stages:

  • We have the Solution Implementer
  • We have the Problem Solver
  • And then finally we have the Problem Finder

The first stage/level of software engineers are the Solution Implementers. The video was talking about the fact that Solution Implementers know how to implement solutions. You give them a solution and they implement it just fine, they are really effective at implementing solutions but when you give them a problem to solve, they kinda struggle at it because they really do not know how to solve that problem on their own. Solution Implementers are mostly Junior engineers.

The second stage/level of a software engineer is the mid-level engineer, someone who has implemented a lot of solutions that they now really understand how to solve problems. These set of engineers are the Problem Solvers. You can give them a problem and they can break it down into different solutions that they could implement themselves to solve the problem or they pass the proposed solutions down to the Solution Implementers to implement.

And then you have the third stage/level which are the Problem Finders. They are the ones that you bring into an organization and somehow from the get-go they know where the inefficiencies are in the organization and they know what to do to solve those problems; at least they can identify those problems and solve them or point them out to Problem Solvers to solve.

This is the end of part 1 🙂 .

In part 2, I will give a detailed example of how these stages/levels play out in a typical real-world scenario.

 

As usual I will leave you with a word from the elders:

“The only way of finding the limits of the possible is by going beyond them into the impossible.”
 
—Arthur C. Clarke

 

“Read well… Read wide… and Think differently…”.

So until next time, have a wonderful and productive week.

Peace XX

featured image credit: https://kitaboo.com/