This may be career suicideā¦ but I feel like a lot of people probably need to see it.
I have a confession to make. Iām not a very good developer.
Maybe thatās a little unfair to myself. Actually, I think I am a good developer, but not because Iām especially clever or fast at building software.
Thereās nothing left to be said about the legendary 10x developer, particularly about whether or not such a beast exists. I wonāt weigh in on that. In the event you arenāt familiar with the concept, though, Iāll just briefly define it. A 10x developer is a developer who is 10x faster, 10x smarter, or generally 10x better than the typical developer.
Even though I canāt say whether the 10x developer exists, what I can say that is that I am not one of them. Iām more like a 0.8x developer. Hereās why.
I donāt write especially clever code. If Iām feeling my oats and want to humble myself, Iāll head over to CodeWars to do a few challenges. Once I find a working solution, I like to browse the top voted solutions. When my solution is 16 lines, the best solution is often a one-liner. I tend to brute force everything. I write code in the way that makes sense to me. I can get it done, but do I get it done the best way? Usually not.
Iām slow. You may already know that I organize a meetup group for new and aspiring devs here in Seattle. Sometimes, we have events where we code together in small teams, each team having an opportunity to present and talk about what theyāve built. Iām frequently amazed at what people have been able to build. These are people without jobs who are able to build far more in 2-3 hours than I could, even though Iāve had years of experience.
Iām not much of a computer scientist. This isnāt a huge deal because Iām not doing computer science most of the time. The only problem is that every developer interview tests you on computer science ā implement a linked list, perform a bubble sort, or write a recursive algorithm.
You may be reading this and thinking, āThese donāt describe me. Iām way better than Devon.ā If so, thatās awesome. Iām sure youāll find a ton of success. Iām happy to help you move forward into your career however I can, but I didnāt write this for you. I wrote this for the person reading and saying, āMe too.ā Iām writing to let you know that none of these shortcomings mean you canāt have a great career as a web developer.
Now, weāre flipping to the other side of the coin. These are the things I do well.
I write maintainable code. One reason my code is generally more verbose than the top solution on CodeWars is that Iāve trained myself to write my code to be read by other developers. This is a skill I have honed for mostly self-serving reasons, those being that I canāt understand clever code and write so that later I can read and understand the code. This has the nice side effect that, if I can understand the code, most anyone can.
I am reliable. I underpromise and over-deliver. If I say I will be at a meeting, I will be there. I will not tell you that your final delivered software will be 100% bug-free and secure because no software ever is. I will not tell you I will ship a feature next Tuesday unless Iām pretty damn sure I can make that happen.
I communicate well. You know that feature I was pretty damn sure I would ship next Tuesday? I now suspect Iām not going to hit the deadline because of a number of factors, and Iām currently writing my client an email detailing all of those and asking how we should proceed. Thatās because this is their business. Even reliable people miss deadlines, but reliable people also have empathy for the people they work for and give them as much time as possible to prepare for those deadlines to be missed.
I care about what happens around the code. I canāt count the number of people Iāve heard say, āI just want to be left alone to write code,ā when confronted with meetings, estimating timelines, or other realities of running a business. I totally understand that impulse, and you can have thatā¦ if you just want web development to be a hobby. If you want to get a paycheck, thereās a business making the money to back that paycheck, and you should probably care about its continued success.
Now, Iām a capable person. If I wanted to, I could probably make an effort to develop those skills I donāt have. I could write more clever code and write solutions that rank near the top of CodeWars. I could develop techniques to code faster. I could sit down and really learn computer science. Iād guess most people could if they really put in the effort.
But the things I do well are things that almost anyone can do well if they make the effort and summon the empathy to care about factors orbiting around their work. These are skills that are incredibly valuable to businesses. I donāt know this for a fact, but Iām pretty sure these are the reasons people want to work with me. They donāt go on a resume, but theyāre factors people pick up on when they work with you, which is why I advocate so strongly for starting with freelancing in your career. Showing is more powerful than telling. You can use freelance work to show people you have the qualities they want in a partnerā¦ or maybe an employee someday, if thatās what you want and what they need.
As Iām reading back through this, doing some editing, it occurs to me that maybe my premise was wrong to begin with. Maybe I am a 10x developer, just not measured by the metrics that are generally used to identify those. Or maybe Iām just a 1x developerā¦ but thatās still better than 0.8x! The skills I do have allowed me to build a career thatās ~8 years strong at this point. Even though Iām not as fast nor smart as many web developers, it seems like some people, at least, have decided Iām good enough for them.
The post Confessions of a 0.8x Developer first appeared on Rad Devon.