# Why finding “10x” developers is so hard

- Link: https://www.andreidraganescu.info/2017/07/06/why-finding-10x-developers-is-so-hard/
- Published: 2017-07-06T17:19:32+03:00
- Author: Andrei Draganescu

I work on web development projects for over 15 years and the biggest challenge has
constantly been: quality human capital. It is really a weird situation, in a domain
that is so technically inclined, where people face with problems that may boggle
some of the greatest minds, to be set aside instead by problems of HR and HR management.

Attached to this post is a simple image describing my experience so far. Between
a coder and an innovator there appear to be four huge gaps that hinder the access
of the former horde to the latter crew but that also act as a measure of level in
professional development:

 1. the experience gap
 2. the intellectual gap
 3. the goal gap
 4. the opportunity gap

![](https://draganescu.files.wordpress.com/2017/07/9fb65-1l41es30rdn9ltq4axn5u3w.
gif)

> Because the journey is long and the gaps are deep

### The experience gap is simply a matter of involvement, dedication and in the end number of hours invested in growth.

So you’re a coder, right? Here is your first gap.

#### Do you do code review?

Do it, its the best way to adjust your thinking patterns. This will be the best 
way level up in your field by constantly checking if you can explain your ideas 
properly enough as to convince another developer to refactor.

#### Do you have some personal pet projects?

You know some ideas that are far away from your day job’s endless stream of forms?
Oh, come on, this is a no-brainer.

#### Did you ever build anything that should scale up

Well not much you can do about this directly, but if you ever get called for a side
gig: do try to spot the ones that could potentially be some traffic hit. Then take
them on, because that will show you first hand how live ops really is, after you
get the “good news of spike” in Google Analytics.

#### Did you ever build something that is supposed to be used by others?

If not yet, try to do it. Even if no one will use your work, it’s worth it. There
are countless libraries, plugins, themes, frameworks, etc. in the wild and its very
likely you will not reinvent the wheel, nor prove you are a genius just by building
some jQuery carousel.

However, in coding something that caters to an open ended use case, you will learn
how to make things customizable, reusable, self contained (name spacing!) and so
on. Maybe you’ll also rock!

#### Do you know at least one framework by heart?

Why, you say? Despite the heavy online documentation that you get nowadays, for 
all major frameworks, you must remember that those docs are meant to be a speed 
up for adoption, not an excuse to not memorize anything. If you don’t make an effort
to remember by heart exactly what your framework can do, then you’ll never fully
utilize it.

Also stop touting they are all the same. At least one should be your favorite, even
if you build it yourself, because that creates the required mental disposition towards
understanding it.

### The intellectual gap is covered when a programmer turns into a developer.

This is the second phase, where fewer people get shifted trough.

#### Creativity

Creativity is the first guardian of the passage from programmer to developer.

Weird as may sound, I’ve seen a lot of people who, while mathematically inclined,
had basically zero creativity. They learn how to do things perfectly, but they’ll
never, ever, ever step out of the box. There is nothing wrong with that but, in 
particular, it is the biggest career killer.

#### Computer science academia

Computer science academia usually, but not necessarily, goes hand in hand with pattern
understanding.

It is very hard to keep up with the architects that devise the software on which
you code, if you cannot grasp their intentions — the basis of their thinking. When
you ask questions about, say, why should you make some factory object, or why do
you write global functions when you know they’re evil ☺, you need to be sure that
you understand what the architect who created the specification has in mind: what
pattern has she chosen for the build case you work on, what is the O(n) complexity
of it and so on.

You don’t need computer science academia or pattern understanding in particular,
but getting promoted will be harder if you struggle with understanding what a singleton
is, or what IoC is, and why is it so great that Laravel did it pretty good for PHP.

#### Study

Study is something extremely rare but highly valuable. People in this industry that
actually read a book are so freakin’ rare, its basically amazing we’re so awesome
overall. Do you read stuff that is not found at work via Google or on Stack Overflow?
Maybe, if you’d read a book on PHP you’d understand, once and for all, why some 
PHP functions have underscores in the name and some don’t, and in doing so you’ll
save the world of your constant complaining.

#### Self management.

Probably the hardest part, but in becoming a developer the programmer must fill 
in the gap of self management.

Can you control your lolcat addiction? Can you assume things, explain your assumptions,
and then implement without constant supervision? Can you go on for a month without
asking around for directions? Do you track your time? Are you organized enough to
have a personal life too, even if it involves … cosplay all day, and yet still deliver
on time and on budget?

### When a developer aims at becoming an architect they’ll hit the goal gap

Developers, as they have seniority levels in most companies, can and will retire
as developers. They can grow gray beards and write books on industry specific subjects
and still be developers. The goal gap is the sum of what motivates a very well paid
person to climb higher on the career ladder, when money is more than enough:

#### CRUD applications and getting tired of them

This is a gap that’s repeated from the coder days, and its recurrence is because
some folks simply have had enough rut and organically feel the need to shift the
gear.

#### Personal development

Personal development is a matter of self esteem, social influence, increased financial
stability and so on.

This is the biggest false positive, because every human being dreams of a better
future — but personal development is not about the better future, it is the sum 
of all your efforts towards that future.

#### Entrepreneur spirit

Entrepreneur spirit is probably the biggest part of the gap to be filled by a developer
that aims for an architect career step.

This is where supervision will be so low that you need the eagerness, love of craft
and pure enjoyment of doing what you do, to keep yourself motivated and on track.

#### World view

Do you aim for success? Do you dream at the rush of being at the top of the game?
Or do you dream of the tranquil silence of some beach in Bali? None is better than
the other, but you must decide, you need a world view, and that will reflect 100%
in your work as an architect and the decisions you make. This choice will probably
dictate if you go for architecting the latest medical imaging device software or
the next Facebook.

#### Last but not least, family.

This might sound weird, but shifting up from senior developer to an architecture
related position is a big life changing event. Travel requirements might multiply
by a big factor. Architecture is not something you can leave at work as your best
ideas will come during coffee or the evening movie. You need to make sure you can
shield your loved ones or, if not, then make sure that they’re also ready for the
ride.

### The opportunity gap is the final stage of a career path for a coder.

After reaching architect level — usually after a lot of years in the field — you’ll
hit the opportunity gap, here is what it is about:

#### Business size

What business size have you worked for until now? For example, I have worked for
years with advertising agencies, doing tens of challenging websites. I had plenty
of “experience”, but the business size was as micro as you can get.

What happens when you hit the corporate bureaucracy, and the intricate decision 
making that’s happening in these environments? Do you know how to scale your patience?
I had to learn that the hard way, and only eventually I did it.

Also, when a business is really big you get a new, overwhelming I might say, love
of small numbers. A tiny bit, like a 0.1 increase, gets to become millions of dollars
in revenue, 200 milliseconds become an eternity when you hyper optimize your ten-
million-a-day landing page.

#### Financial worthiness

Financial worthiness means the opportunities you’ve had to estimate, not the cost,
but the worthiness of an investment, from two major points of view: ROI and strategic
expenditure. This is really important, whether you want to be the next miracle garage
entrepreneur or you are about to get the CEO position for some bad ass company, 
you will constantly flex this muscle.

This is an opportunity gap because to do all the above, you’ve definitely networked
with industry people, plus analyzed, studied and gathered data which is potentially
uniquely owned by you, adding a lot of value to your innovator status.

#### Business influence

Business influence is the opportunity to work for game changers. This adds a lot
of weight to your calls. You’ll have far better success rates as an innovator, having
already gone trough a first hand experience in a company that set some industry

#### Executive positions

These are the opportunities you’ve had to work as an executive: low, middle or top.
It is essential because you cannot successfully be “a real artist and ship”, if 
you cannot understand staffing, budgets, investors, partnership and equity, board
decisions and so forth. It’s not required that you’ve been the CEO of BigCorp, but
it helps if you have risen something from the ground up in a company, or founded
your own, or managed “larger than one room” teams etc.

#### Luck.

You cannot have the opportunity gap filled without a drop of luck and who says otherwise
is a liar.

> - — -

So, there you go. Are you planning your next move? Analyze yourself to see where
you are and what gaps still exist in your career path and strive to fill them, because
the older you get the wider they become.

Are you building the next big thing? Go trough this when you hire folks, ask those
questions to them during interviews or to yourself when screening applications.

---

If you think this is close of helpful recommend it, so others can reap what you 
sow ☺
