DEV Community

Cover image for Could I be a 10x-er?
Justin J
Justin J

Posted on

Could I be a 10x-er?

A while ago, the following tweet bought up the old conversation about 10x
developers. Devs so good, they're worth 10 of the "poor class" regular developers.

I haven't had the chance to write recently so it's not as topical, but this stuck in my mind and I thought I should write.

As a junior dev. I longed to be one of those "rockstars" that frantically fired away at the keys and only produced gold ๐Ÿ†.

10+ years in lets see how it's going?

1. 10x Engineers Hate Meetings.

Yes! That's me. I really hate meetings. Especially if they're about "use of the office fridge" or "what should we name our project".

Except... I like scrum meetings. They can be really handy and I'm convinced they save time overall. Also, it's good to know how we're doing as a team.

Sometimes other people in the team have found some really smart solutions you could employ yourself later down the line.

Oh, I like some client meetings too. Especially ones where the client actually appreciates the effort you put in for them, or work in a constructive way to get requirements right.

Hmm... Ok. A mixed start. I'll go with his comments being just about the fridge and move on.

2. Highly irregular timings.

Errr. I have a kid. Try having irregular timings when you have a school run to sort. Maybe 10x-er's can't be (good) parents too?

One of the best developers I've ever worked with started work bang on 8am every day. So I'm just going to dismiss this one to keep myself in with a chance.

Minus points for me here.

3. Black Backrounds

Black background = +1 For me. It's much better for your eyes. If you're not doing it, you really should. Also - invest in a good monitor! Look after your eyes!

Before you white backgrounders start ranting - I used to be a white backgrounder - and now I can't go outside without sunglasses. I look stupid outside in February rain with sunnies on, so why risk it?

Am I better at coding now I use a black background?

Nope.

I'd say the biggest improvement has been from getting a good nights sleep, but that doesn't sound very "rockstar", does it?

4. 10x engineers know every line of the code that has gone into production

Having worked for a near startup (2 coders), I would say once you get to 3 coders, nobody knows everything going into a code base. Usually, you only know immediately "precisely where the fault is" if you created it ๐Ÿคซ.

There is usually someone who gets to know the product better than everyone else, but that isn't necessarily the 10x-er.

I made a point of getting to know the orignal product best in that company. The result was; when new cool stuff came along; I was stuck with the old product, because I was "quicker at working on it". I had to fight hard to be allowed onto the new stuff.

That is not a situation I'd like to be in again any time soon, so until I'm 10 years off retirement, I don't even want a +1 here.

5. Full Stack + Doesn't do UI

Full stack = +1 for me. Though pretty much all software is going to need a UI at some point, right?

In fact, I'd say that's what end users value over almost everything else? If you had amazing software, but the background was green with orange buttons all placed in the middle-right of the screen - people would hate it. Making great UI's is a real skill (one I wish I had) and should not be looked down on IMO.

6 Thought into code

This just comes with practice and a good requirements breakdown.

Write an entire feature in 2 sittings - well that just depends on how big the feature is doesn't it?

If the new feature requirement is "Add a new textbox and save the data to a simple app.", then yes. I could do that with time to play on the interwebs too!

Another +1 for me (albeit with wiggle room to make it so!)

7. Rarely look at help documentation

I'll make a little aside here. When I started my first job, I started trying to work out a problem myself. My boss came in. After explaining what I was doing he yelled "I'M NOT PAYING YOU TO SATISFY YOUR FUCKING EGO! GOOGLE THE FUCKING ANSWER!".

While his point could have been put a bit nicer, he was right. There's almost nothing you will face that someone else hasn't faced before. I'm sure I can google/stackoverflow some things quicker than I could write them, let alone solve the problem for. So I Google. I Google a lot.

My thoughts here are learn the basics and google the rest.

When you need to work out how to find if a double is a prime number or some kind of tricky date function - don't even bother trying to work it out. Google the answer, take the accepted answer on StackOverflow. Copy.Paste. Move on.

To meet the criteria here, 10x-ers will to have to be in the far end of a normal distribution for A LOT of knowledge.

Here's about where I am. NOTE: I'm not trying to claim any number of x's anywhere here. My point here is really there's a whole lot of stuff I couldn't do without a lot of Googling!

As you can see, my chances are shot about now, but stick with me - we're near the end.

8. Always learning.

Yes. I love the new stuff....

But one thing to remember is that this may change at some point. Nearly every developer gets to a point in life where they just can't be faffed chasing
shiny ways of doing what they already know. The good thing to know is that I've worked with several people like that and they are still very good developers.

One is so important to a company, they even have him insured!

The other thing with "always learning new stuff" is there comes a point where the learning serves no benefit. I've learnt so much over the years that I've either never implemented, or have used but no longer holds any weight. Even valid technologies can become obsolete. I'd really recommend learning what you need to know rather than leaning to "know everything" as I used to.

Forgotten/ Obsolete learning: AngularJS ๐Ÿ˜ญ, Knockout JS, Visual Basic, MATLAB, Web Forms, Classic ASP, Flash... the list goes on.

9. Poor Mentors

The greatest developer I've ever worked with was also a phenomenal mentor to me. Being a grumpy unsociable arsehole doesn't make you a great developer.

In fact, one of my greatest satisfactions has been mentoring someone who had zero experience to being a professional developer. I'm immensely proud of it.

I'm going to class the guy as a tool (as if I handn't already). I'll take the negative points with pride ๐Ÿ….

10. Don't hack and dont document

There's a difference between not knowing you're hacking and knowing how to code, yet still implementing a hack.

Short term i.e. "Right now" hacks are usually quicker than doing it properly and are sometimes required in a scrape/ Priority 1 bug scenario.

Of course, it can royally screw you over later, but if your boss threatens to sack you if you dont do a 3 week job in 2 hours, or the system is unusable without fast action, you hack it. Don't be afraid to implement a short term hack/ "fix". To my mind, a good company will let you code it properly later - a bad one won't.

If you really want to screw over your teammates - DONT DOCUMENT.

The mantra that good code documents itself is complete bollocks.

Undocumented configs are an accident waiting to happen.

Also, I have been in the situation of understanding a bit of code completely, but not understanding WHY it is as it is. The why is important, because when it comes to changing it you are risking damaging the scenario it works for. I think every developer has at some point changed code, only to find they've broken another scenario.

Almost nobody has 100% code coverage on their unit/ integration tests.

Also, if you document, when people ask, you can just politely say "Read the document", so you get to spend more time coding and less time telling people stuff you've already told them.

Yet again - the guy's a tool. I document where possible.

11. Move around?

People who are that good are ambitious tend to move regardless imo. There can be a big mistake in thinking committed people are loyal.

I used to think you had to move companies every 3 years. I was told it when I started and I stuck to it for a while.

I've been at my current company 5 years and am really happy. I'd have been happy at my previous company if I hadn't moved and just matured a little. I know some great developers who have stayed with a company from their first job.

12. One of the comments which I'll add as I feel it sums up a stereotype.

Heck, Just like over 2 million people, I CAN'T EVEN EXIT THE DAMN THING.

-10 points for me.

Conclusion

When I was a junior dev, I longed to be "great".

I worked with a colleague in my first job who "acted 10x". Managers loved him but, in fact, his code was a big steamy pile of horse shit and was always late. As one of my friends/colleagues put it "If there's regions in your methods, your methods are too long". Still, because he put on a good show, people believed his own hype.

For a while, I tried to act in a similar way as I thought you had to act like that to be respected.

These days I don't care. Clearly, I fail this chaps criteria quite comprehensively.

I am what I am. I'm a nice person, who likes being in a team, who would like to think he is "good at his job".

That describes millions of us coders and theres nothing wrong with that.

In a world where the media makes out that Elon Musk is single handedly writing all the ML on Tesla's while making rockets and 10 years olds are writing all the stuff you do but better, it's easy to feel inferior.

Unlike some people, I'm not in denial that 10x-ers exist. I think there probably are a very small number of people who can be that great.

If their attitude fits this persons sterotype though, don't look up to them. Pick people who can be great, but not make you feel inferior as a result.

I hope if you've got this far you feel this has given you hope. It's completely OK not to be some sort of "superhuman coder" and you really don't need to fit these misguided stereotypes.

As long as you enjoy what you do, that's all that matters IMO.

I wake up every day looking forward to going to work. I hope it stays like that for years to come.

Top comments (0)