You're (probably) wrong about being a software engineer MVP



By Noam Shabat for Beyond The Blocks - Wednesday, June 22, 2016

Best-Software-Developer-776561-edited.jpeg

How to make sure arrogance doesn’t keep you from becoming an even better software engineer. 

I am hypocritically modest. And I think you are too.

When you first meet a hypocritically modest person, you may perceive us as reserved, perhaps insecure or shy. If you are insecure yourself, you may feel that we are a little bit snobbish.

After a while, you will discover that we have somewhat of an ego, and find it hard to admit when we’re wrong - traits that we usually counter by developing a Socratic rhetoric style, to retain the appearance of modesty.

Then, when (if) you get to know us well, you’ll learn that, in fact, modesty is a strategic behavioral pattern we use to hold down the arrogant beast within - since experience has taught us this is a better social strategy.

I’ve been in the coding industry for 18 years. Writing everything from exit routines to mainframes Os-390 in Assembler, to retail applications in C#. I’ve worked as a consultant, developer, team leader, R&D manager, QA manager, and of course, a waiter. I’ve done GUI development, cloud management, IT administration, 3D programming, big data (before it was called that), retail applications, web development, QA, and in-house automation.

You could say I’ve been around, and this is what experience has taught me.


BEING THE BEST IN YOUR GROUP SAYS WHAT?

humility-185221-edited.jpeg

For the last 8 years, part of my job was interviewing people, and one of the more important lessons I’ve learned doing that is: most software engineers have little to no awareness as to where they stand professionally. I think at least 80% of the people I have interviewed said the following:

‘Oh, I was very quickly the best person on-site everywhere I worked.’

When I asked one of them what kind of job he was looking for, he responded - with a shy self-satisfied grin - that he was a C# coder looking to write code in C#. This answer spells out clueless in so many ways that I won’t begin to describe here as this is not the point of this post. What does matter is that this was the moment when I realized that perhaps many people out there have the hypocritical modesty bug, and maybe some of them are not even aware of it.

It’s even possible - and this was groundbreaking for me at the time - that the real reason why I am hiding arrogance, is that I am not all that certain of my software engineering superiority over my fellow coders. Maybe I wasn’t the best person on-site wherever I worked!

Oh... Shit.

This is how my long and on-going journey from feigned modesty to true (I hope) humility began - Although, can one still be humble when referring to oneself as humble if it’s a trait they appreciate?

Guess I’m not quite there yet…

Here are my recommendations to become a humbler, hence better, software engineer:

 

1. CREATE THE RIGHT ENVIRONMENT TO WORK

Work-643338-edited.jpg

I’ve realized why so many people misjudge their skills. There are simply not many proper work environments out there that allow a software engineer to become an MVP.

So what makes a proper work environment?

A complex question that has dozens of parameters, but one that is important to the current topic - in my opinion - is that you want to have smart people who are at least as experienced as you that you can learn from, and you want to have them around you as colleagues, or even subordinates.

Good superiors are important, of course, and may turn out to be life-changing mentors, but there is nothing better for humility than working with truly talented peers.

Here are some hard-earned lessons I want to share on that matter:

  • If you’re not working with talented peers that ‘engage’ you, you are not doing as much as you can to keep progressing. This can lead to boredom, loss of focus, and slow mental decay.
  • If you work with less experienced coders that come to you for advice, try to teach them as thoroughly as you can. There are two main reasons why this is important::
    • If you teach them properly, you will soon be able to rely on them as peers as a result of having a better understanding of their abilities.
    • A good indicator of how well you understand something is how well you can teach it to someone else. It is always surprising to find out how little we know about the things we think we know.
  • If you really are the best person on-site, you should probably look into changing your current situation: Move on to a more challenging work environment within or outside of your current company.


2. BE HONEST ABOUT YOUR OWN AND YOUR PEERS’ KNOWLEDGE GAPS

conversation-456858-edited.jpeg

A well-known phrase in my native tongue states that ‘silence is an indication of wisdom.' I challenge that by saying that the other side of this coin is that some people choose silence to hide their lack of knowledge in order to maintain status.

As we all want to be better and more professional, it is more effective to be humble and admit to your shortcomings, so that you’ll have a chance to learn.

On that same note, when someone displays their flaws - whether on purpose or out of lack of knowledge, a common way to respond to this in many workplaces is to ignore the erroneous intervention and continue the conversation with the people in the room who “know what they are talking about.” Although this gently signals the speaker that what they said was wrong or irrelevant, and is usually excused as an attempt to remain ‘on-topic,' it’s important to take the time (if not on the spot, then after the meeting is over) and explain what was discussed to the less knowledgeable member of the team.

We all learn from each other all the time - we might as well do it with an intent of benefitting the entire group.


3. TEST THE WATERS BEFORE TAKING A NEW JOB

test-waters-252969-edited.jpg

Lastly, if you are a developer looking to work in a startup, I recommend asking your potential employers if you can look around the office, maybe talk to a few people, and get the feel of the place. Look for signals that indicate that this place will make you a better professional.

Although unorthodox, there’s no reason for your potential employers not to allow this, especially if they’re proud of their staff.

This will help you get a feel of the place and the people - these are the ones with whom you'll share most of your working hours in the next few years should you get the job, so don’t treat this lightly.


A HUMBLE CONCLUSION

download40-353600-edited.jpg

Developing a humble approach to your professional skills will lead to you being a better professional overall. Keeping a critical eye on your results helps to avoid ‘falling in love’ with your solutions and keeping an open mind towards alternatives. It will also make you much easier to work with, listen to, and learn from.


Happy coding!

 

Noam Shabat

Written by Noam Shabat

Noam Shabat is a veteran software engineer with experience in technical / training / leading roles. He has spent most of his careers working in startups and is currently leading the automation team of Reduxio. Apart from coding, Noam plays chess on a daily basis, likes reading psychology and philosophy, and playing the piano.



Want to comment on this blog post?