Great Engineers need to be ‘Courageous’ — and ‘Why’ You Need to be too

Shehroz Ali
3 min readApr 20, 2022
Credit: Pexels.com/@thisisengineering

Yes, the title says it all. If I would some a character of a great Software Engineer so there’s only a one ‘Secret Sauce’ and i.e. being ‘Courageous’. Now this has a lot more meaning behind but long story short — You need to be Courageous i.e. always ready to perform transitions across multiple Tech domains and stacks.

Now, Wait

Is this ‘what’ meant to be that if you are working as a Senior Android Engineer for more than 7+ years you immediately transitioned into Web domain for (xyz) reason?

No, absolutely not

Now, there’s a whole bunch of explanation that ‘Why’ it isn’t a good decision for your career or (maybe) ‘Why’ it can be? There’s a whole lot debate on this (probably developers and engineers with similar mindset and understanding can relate my point) — But I won’t let you take on this point because the purpose of writing this article is to give you a clear sense of understanding how actually a role of a ‘Great’ Software Engineer looks like?

So what I meant to be ‘Courageous’?

Now, here’s the take — Being ‘Courageous’ actually means that you should always be ready (specifically — brave) enough to act on decisions rightly — Those decisions taken by CTOs and Engineering managers/leads of Startups. There’s no way Escape! (If you seriously wants to sustain in the Company or Startup) else chances are you would end up leaving or quitting your job.

Now ‘what’ can be those decisions?

Those decisions can comprises of many different cultural, technological, behavioral and development shifts in the team. For example: Practicing new Software Development methodologies and cycles, Flipping the Tech Stack, Migrating to new Architecture, Becoming Full-Cloud backed Startup and especially Integrating new Technologies of the Open-source world and Enterprises (paid).

Now here’s the thing

(Assume) suddenly your boss steps inn and He or She ordered you to shift their app from Java to Kotlin. First of all (big pain in your head for all the efforts you putted developing app on Java, engineers can relate this! Haha). Now what will you do? Either would you say — ‘No, I have been working on Java for 4 years now and I can’t, Sorry!’ or rather would you say — ‘Give me some time to get myself adjusted and I will do it’. Now put yourself in place of your boss and think what would be your reaction when you listen to both of these. Obviously, you would be more happy to listen the second because it sounds ‘Positive’ and ‘Confident’ (and that’s what good startups and companies look for) and that’s what reflect the best of your character not being an Engineer only but How confident you are on your skillset.

Building ‘Great’ Engineering teams take much time and effort requires excellent Hiring, Technical and On-boarding process and Well experienced CTOs and Engineering managers but that doesn’t mean whomsoever we hiring is coming with every (latest) fancy industry knowledge and his/her skillset is completed with every perspective — That’s not a Growth mindset! — the team should always be courageous enough to shift, migrate, transition and face modern industry challenges and problems.

(There’s so much to convey behind this so will be sharing my thoughts in my next upcoming writings and articles, be sure to Follow!)

Cheers!

--

--

Shehroz Ali

Building software products to change people's lives.