Lessons Learnt

Software Engineering is one of the most talked about and sought after career paths in the current world.

During my journey as a Software Engineer, I worked with some wonderful people, the latest technologies, and great projects. As I reflect on my humble beginnings and gradually progressing to be an Engineering Manager currently, I wish I knew some key aspects of the craft of Software Engineering back then.

Below are some key traits (more will continue to be added!).
We will explore each trait individually in depth below.

Spreading too thin


Software Engineering is one of the most talked about and sought after career paths in the current world. During my journey as a Software Engineer, I worked with some wonderful people, latest technologies and great projects. As I reflect on my humble beginnings and gradually progressing to be an Engineering Manager currently, I wish I knew some key aspects of the craft of Software Engineering back then.

Below is a list of those 5 key traits. We will explore each trait individually as a separate topic in a series of posts.

Key Traits: (Click on each to learn more)


Finding calm in the chaos

“ Finding Calm in the Chaos” -> easier said than done.

There is no magic wand to make this change happen or a mantra that will cause overnight success with this. It takes time to put this into practice and reap the rewards of this mindset and operational dynamic. It does not matter when you start practicing this since it will become permanent thereafter.

Let us look at two scenarios, a personal life one and a professional workplace one, to showcase the impact of this superpower.

  1. In Personal Life

Think of your latest argument/ verbal fight with anyone. The one…


The power of saying “no”

While becoming more proficient at coding and learning new frameworks definitely helps, there are some key superpowers which can make you stand out even more as a distinguished engineer. These help you not only to avoid burnout but also have long term continued success.

In this article, we will take a look at the “power of saying NO!” superpower — having the flexibility and willingness to stand by what is important and speak your mind at any given time in that regard.

To expand on this, here are the key benefits that you unlock by practicing this superpower:

  1. Increased focus


In case you missed the last one in this 5 part series — you can read about it at: Key Point 4 — Communicate & Collaborate — 5 things I wish I knew as a Software Engineer

All the 5 key traits can be found here in this article.

Honestly, this has been one of the most challenging topics in mySoftware Engineering career and I am certain for many others as well. There is really no right or wrong approach and the ultimate direction will matter a lot based on your preference, interests and operational style.

I will attempt to…


In case you missed the last one in this 5 part series — you can read about it at: Key Point 3 — Not POCing enough — 5 things I wish I knew as a Software Engineer

All the 5 key traits can be found here in this article.

I love the following quote which seems apt for this key trait.

None of us is as smart as all of us. — Ken Blanchard

Software Engineering is an art and definitely demands creativity. Often times, due to the nature of work in this field, engineers tend to be cut-off or…


In case you missed the last one in this 5 part series — you can read about it at: Key Point 2 — Focused on Implementation only — 5 things I wish I knew as a Software Engineer

All the 5 key traits can be found here in this article.

POC = Proof of Concept

I can easily say this is often the most overlooked trait that I have seen across engineers even though the most important in my opinion.

Personally, I learned about this the hard way when I realized I was working hard but not learning/ growing at…


In case you missed the first part in this 5 part series — you can read about it at: Key Point 1 — Spreading too thin — 5 things I wish I knew as a Software Engineer

All the 5 key traits can be found here in this article.

When I think of Focused on Implementation only, I attribute it to being myopic i.e. not seeing the bigger picture. Undoubtedly, the top deliverable for a Software Engineer is implementing a given feature request/ implementing a bug fix.

However, the real benefit or growth as a Software Engineer depends on some…


Spreading too thin

All the 5 key traits can be found here in this article.

The first key item in the list is Spreading too thin.

I attribute this trait to our wandering minds. ‘The grass is always greener on the other side’ notion seems apt for this.

  • When I started doing Frontend web development, I felt I should also learn Backend Technologies (Java for ex.) since that might be more valuable.
  • Next, when I started doing a little more full-stack development, I really felt I should level up my DevOps skills and get familiar with AWS/ Azure/ Google Cloud, Deploying code, Bundling…

Anand Safi

Engineering Manager | Technical Leadership | Advisory Board Member | Mentorship & Coaching

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store