Muhammad Usman

Crazy tech lover, endless learner

Why Many Good Developers Don't Get a Good Job

I have seen lots of really good developers looking for work and they don’t find good work for months or years. On the other hand I’ve seen some really good companies looking for developers and they don’t find good developer for months or years. What’s the problem? After looking at the situation of some of the developers and companies I have tried to find out the reason behind it. Let me share my thoughts with you.

What Made Me Think?

First of all let me tell you what made me think about it. I work for Vegan Cuts, a company based in Canada and I work from Bangladesh. I am really very happy working with them, they are very good guys, they pay well and they have everything to attract a really good developer. They are also very happy with me and they want to keep me.

Recently my company invited me for a meeting in New York, we also attended a conference where I met a lot of good PHP developers. Most of them were amazed to hear about me that I’ve made it here from the other side of earth, Bangladesh(which is a least developed country). Some of them wanted to hear my story, how I joined Vegan Cuts. As I am an isolated, homesick guy, for the first time I realized that my situation is not ordinary. I met some really great developers, who are struggling to find work. They have better programming skills than me and they’ve very good open source profile, they’re from a mature economy with many social and other benefits. It made me think, something is there.

Nature of Developers

“Yay! TheKoolLibrary released version 54.4598 today, which adds bunch of cool features. One feature is, now you can open things in a single click instead of double click, wow! Let’s tweet about it, write an article on it.”
A typical day of a developer usually starts like this. We developers love cutting edge technologies. Like a kid, we want to play with a new toy everyday then the next day we throw it away for another toy(is that why the term “cool kid” is so popular among us?). And the problem is we want the companies be like us. Out of 100 toys we play with, only a few survive after a year.

Wow! Grunt is cool.
After few months, OMG! Gulp.

IDE’s are bloated, Sublime Text is insanely cool and Vim is hot for showing off.
After few months, JetBrains PhpStorm is powerful and highly customizable.

Fortrabbit hosting is awesome, git push to deploy.
After few months, go back to Digital Ocean, I can write a 5 line script for git push deploy.

Trello! It’s free.
After few months, wait, Asana is insane! Too complicated, go back, pay Basecamp.

There are hundreds of examples.

Well, I am not against learning new technologies, but we need balance on everything, sometimes we just need to shut up and go to work with what we currently have.

It really reminds me a chapter of Rework: Focus on what won’t change. In one place it says:
“That’s fool’s path. You start focusing on fashion instead of substance. You start paying attention to things that are constantly changing instead of things that last.” - Rework

Nature of Companies

End of the day it’s all business. Asset maximization, this is the goal of a company.
What a company looks in you is, value, how much value you generate for the them. How serious you are to help them achieve their goal, how much you think this is your own business, even if it’s not. How quickly you can provide proper solution to a problem.

Well, if a company is using CodeIgniter for 4 years and the application is stable and generating a good value for company, no company will ever want to build it anew. But a usual good developer will burn out of hell working with CodeIgniter. But if this developer had owned this company his view would have been different.

So a good company, when hiring, mainly looks at your seriousness not coolness. They also take skills into consideration but it’s only when you’re serious. If you’re serious for your work, you’ll be generating good value for your company.

Here are few write ups from some company co-founders:
Leo Widrich of Buffer says in his article:
“Of course we need to know that you’ve got the skills and experience for the position in question, but that’s a secondary element for us.”

Jason Fried of Basecamp/37signals says, in his article that they look at the approach/effort of an applicant when hiring.


I won’t suggest companies to change rather I would suggest developers to change.

  • We’re so busy becoming a good developer that we forget to be a good worker.
  • We’re so busy learning every shiny, new thing that we forget to think about what we currently have, which gonna last for years. That’s our current work and current technology, let’s focus.
  • We’re so busy thinking about the next big thing that we forget to generate value for our current company.

Of course, you’ve to be a good developer, but that’s not all, you’ve to be a good worker too.
When you’re in a sports team, your main target is to make your team win, even if you performed your best and your team lost you’ll go bed unhappy. Let’s apply sports rules to our work:

  • Play your best and enjoy the game.
  • Play to make your team win.
  • Keep practising.
  • Obey your captain/coach, definitely you can suggest.
  • Don’t try to change the rule of the game with something new, play your best with what you have.
  • Invent or introduce new strategies.

I want to end with few quotes:

I had feedback from my current employer and previous employers, which are quite similar, if I sum up these feedbacks it stands something like this:
“You’re not a just good developer but a smart developer, if one task is assigned to you we don’t have to worry about this anymore.”

“Remember, fashion fades away. When you focus on permanent features, you’re in bed with things that never go out of style.” -Rework
(Sorry, for too much Basecamp stuff)

“Perhaps the world isn’t giving you what you want because based on all your distractions : it’s simply unclear what you are asking for.” -Brendon Burchard