Sometimes a developer implements the bare necessary required solution to the problem, i.e. not an over engineered expensive solution.
We'll then state that his solution was poorly engineered and he wasn't a good developer, but it's not fair to look at his solution in hindsight and judge it by the amount of scope creep it could handle(which it obviously had to handle in hindsight).
Your succesor might write here in some time that your solution, while being appropriate for json, didn't use x technique and so couldn't handle XML input, and had you only known about x...
(This isn't critique of your comment, which I found insightful and positive, just one more factor to consider)
These scripts were very brittle, and slightly malformed data could cause them to fail entirely.
After about a year of maintaining these old scripts, one of the data sources got replaced with a shiny new database system, requiring a major rewrite to the scripts. So I just started over from scratch. Having seen the problems running and maintaining the old ones, I made numerous better design decisions, resulting in far more robust scripts, which are (I think) much more easily maintained.
But indeed, my predecessor was no fool. His scripts likely grew and grew and grew until they were a pile of hard to maintain code. I doubt that he himself would have advocated their design, but he just didn't find time / value toward rewriting them. I only rewrote them because I was forced to.
And I'm sure that my future successor could improve upon what I've done. For that matter, I myself could improve upon what I've done, but hey, it works well enough, and I'd be better off spending time on other things...
It /is/ actually a critique. It isn't negative, but it is a critique.
Other parts of the organization had more mediocre programmers, but they tended to adopt standard, 3rd party supported solutions because of that. At this point, they are in better shape then where the 10x programmer has been working.
The moral of the story is that being a great programmer isn't enough (or even that important) a large amount of the time. The secondary moral is that context is important. The 10x programmer in this story probably should have been in a faster moving sector than central IT for a large institution.
The implicit error here is that the perception of this guy being great was flawed from the start. Anyone implementing one offs instead of adopting standard solutions is incompetent, pure and simple. He was't 10x, he was -100x.
Be careful with that one. It think it's precisely that type of programmer who has given rise to the 10x myth.
The guy who heard that "software development is a good salary," parroted his way through university and does the job without showing any interest in it is all to common. I've found that if anything is going to make a person barely competent at development (beyond trivial Excel and Hello World stuff) it's interest. If someone becomes a 10x hire it's because they put time into pet projects, reading papers and reading blog posts.
You can never be a good developer if you don't care about development. If you don't take pride in your work it's possible to fly under the radar and get away with doing as little [good] work as possible.
This applies to any industry, you can be a master craftsman if you commit no energy into becoming a master craftsman. If the 10x hire doesn't exist than the 1/10x hire most certainly does.
Probably not. They would emerge with a new web browser, not a working web frontend. That's my guess.
As time went on, we started to receive the same input from other sources, who of course had different layouts for the their json. Of course the code broke horribly. Myself being well practiced in recursive descent parsing, rewrote his parsing code in a few days, the original had taken him many months. I was perceived to be a miracle worker, because my implementation fixed the problems, and worked mostly error free from then on.
Was my predecessor a mediocre developer? Not at all, he was actually quiet accomplished in his area of interest, he simply wasn't proficient with this one area (parsing).
I'd like to see these discussions of 'rock stars' and '10x' evolve to recognize that perceived talent is really just experience in certain areas, wether that experience comes from personal interest, or job function is immaterial.