The curse of being efficient or the curse of going the extra mile

The curse of being efficient or the curse of going the extra mile.

Why is being efficient a curse? Or, why is going the extra mile a curse?
Well, let's start with something most of you have probably been told before: "you're being too nice!".
See where I'm going with that?

I want to talk here about some of my experiences at work and some of my experiences with some clients.
I'm a Software Developer. I do that for a living and I'm lucky enough to be able to consider it my passion.

Now I don't know how many of you have worked with Software Developers; still, you probably know what the stereotypical Developer looks like. Obviously, it's just a stereotype, but can be true in many cases. 

Inefficient Software Developers

Lots of developers cannot be interrupted. They like to put their headphones on, put on some loud music, and focus on one task only which is writing code. 
If you're dealing with that type of Developer, you need to know that when they need their focus time you just need to give it to them. Because of that many developers end up being not so efficient, either cause of the workplace not adapting to their way of work or because of them not being able to adapt to their workplace (which is the same anyway). 
To give you an example, in most workspaces I've been where developers and non-developer are mixed together, you end up having some developer on some desk trying to focus on a coding task (maybe debugging a for loop not knowing why it's breaking out) while at the same time having to listen to some background noise (usually about some weekend plans or the latest released movies or Netflix series). That's why many developers are not efficient enough (oversimplifying things here on purpose).

Note: fake Scrum and fake Agile bring developers' productivity down dramatically. But that's for another discussion.

The 10x Developer

When so many developers are slow and inefficient or forced into being slow and inefficient, you start seeing the rise of a new breed of Developers that are glorified. These developers even have a name. They're in a category of their own. They are called 10x developers. These developers are supposedly faster and more efficient than a whole group of 10 normal developers; hence the name 10x developers. These developers can develop features on their own while a whole team of other developers is working on a simple task. These developers can quickly fix an issue in prod while a bunch of other developers are wandering around questioning themselves what could have possibly gone wrong.

I might not be a 10x Developer but I'll still brag about myself

Now in my case, I won't tell you "hey! I'm a 10x Developer! Take that!".
I haven't taken the 10x Developer test to know. I'm joking, there's no such test.
What I can tell you though is the following (and allow me to brag here about myself):
  • At my last employer, I was assigned a project. The company had been struggling for 3 years to put a product together. I developed the base for an MVP in 1 month. This was starting from scratch with technologies and an architecture I wasn't so familiar with.
  • At my first job, I fixed one major bug in production within half an hour. Want to know the severity of the bug we're talking about? The whole company's operations and call centre were completely paralyzed. I fixed it in less than 30 mins, while the senior developer with 15 years of experience was still thinking about how to fix it properly. Was I better than him at coding, hell no! I was just more pragmatic and understood we needed a quick fix.
  • Going back to my last employer, I used to get so bored! Not even facing the slightest challenge! I was way too comfortable whereas every other team member (20 of them) was struggling to keep up with the pace. That's exactly why I left.
  • And the list goes on.
Call me a 10x Developer or call me whatever you want to call me.
What I know and what you should know is that:
  • I work fast. I work efficiently.
  • Trying to overengineer? I'll tell you off. I believe in simple solutions. Simple solutions work.
  • Worrying about how your algorithm will perform and trying to optimize it before it's even needed? I'll tell you off. Premature optimization is the root of all evil!
  • Don't get me wrong. Trying to compromise on quality? I'll definitely tell you off! Efficiency is by no means an excuse to accepting lower quality!
  • I understand what being truly agile means.
  • I understand what an MVP is and how to build one.
  • I understand continuous improvement.
  • I understand communication (with most people. With some it's just impossible).
  • I'm reliable. If I tell you I'll do it, I'll do it. Get it out of your head now.
  • I'm tenacious.
  • I can do anything that can be done. If someone can do it, I don't know I wouldn't be able to do it. Don't ask me "can you do this feature?" but ask me "can this feature be done".
  • If something can't be done, I'll try to find you an alternative solution. I'll find a workaround.
  • We can always meet halfway.
  • Sent me an email? I'll respond immediately.
  • Don't have time to respond properly? I need a couple of days to get back to you with the answer that you need? I'll respond immediately, I'll let you know I'll need a couple of days to come back to you.
  • Didn't respond to your email? I either didn't see it yet or I won't.
  • Ok enough of that. Apologies for maybe sounding arrogant but this is coming out of frustration.

The curse of being a 10x Developer

Finally the curse of being a Developer: why it's not always great to be super-efficient and go the extra mile.

You can exceed expectations once. Not twice

So you're super-efficient, we get it now. That's awesome. People will be impressed. It won't last too long though. 
If you constantly exceed expectations, you end up raising the bar for yourself. Your super achievement becomes the norm on any normal day.
Say you're working on a really complex problem and you expect it to take long. Say you estimated it will take you a week worth of work but finished it in half the time. Well, guess what? Don't be surprised if next time people nudge you halfway through asking you if it's done yet.

You can't have an unproductive day

When you're constantly working at your 200% and just full-on, well people won't understand you may have unproductive days. Live your life unproductively and no one will even notice but have one day where you're tired, have a headache, can't focus and you'll be questioned.

Oh, thanks!

So you worked really quickly and thought of going the extra mile?
Been there done that.
If you're lucky, you have an amazing client who will be more than grateful.
Feeling unlucky? Well here's sort of how it can go and how it went for me a few times.

I usually build software and websites, but I'll make the analogy with building a house.
It has happened to me to be working for clients where I'm helping them build a house.
I would have finished my work fairly quickly, and just because of how passionate I am about my work, I would go on and run the extra mile.
For example, I would finish building the house sooner than expected and knowing they also need a landscape artist for their garden, I would decide to give it a go. I work on their garden as well. For free! Not expecting anything in return. Just going the extra mile, just cause I'm so excited to see how that finished house could possibly end up looking with a beautiful garden! 
Well, guess what? It happens that some clients may ask you if you could dig a swimming pool for them. Apparently, they always dreamed about having a swimming pool.
Basically, it's just to say be cautious. You give your finger to some people and they'll take your whole hand. They might not even be grateful for it.

Work with good people. Work for good clients

Please do not misunderstand or misinterpret what I said last.
I'm by no means saying you shouldn't be going the extra mile.
I know I will almost always go above and beyond.
My bet will always be on working with the right people and for the right people.

As we say back home:
"Honor the generous and they will praise you, honor the wicked they will rebel."

Just know who you're dealing with.


AND AS ALWAYS!
Until next time!



Comments

  1. We are eagerly awaiting your writing, every time you have new ideas, in addition to lessons that everyone will benefit from. And I am glad that in this difficult time those who innovate

    ReplyDelete
    Replies
    1. Thank you Ahmad! It's really appreciated! will be writing some more articles this week :D

      Delete
  2. Great article. I think you address a problem that most of passionate and highly professional people face. I personally can identify myself to what you have said from my own experiences. Your advice is gold, do not change, just find the right people able to see the value of the extra mile you've done.
    Thanks a lot!

    ReplyDelete
    Replies
    1. Indeed it seems that most passionate people face these issues unfortunately. But hopefully we can all find the right people to work with and work for...

      Delete
  3. Great piece Jad! Very true words here. I can definitely relate to having put in extra effort and have it not being appreciated, or expected as the norm.

    ReplyDelete
    Replies
    1. Thanks Ritesh!
      I was very surprised to see how many people shared my views and were able to relate to the issues discussed.
      But we should never let anyone lower the bar for us or lower our standards. It's important to find the right place where one can strive and go above and beyond without feeling any frustration...

      Delete

Post a Comment

Popular posts from this blog

Back to writing! (my wedding)

Back to writing (part 2)