7 ms·
What makes a great developer? A story of an extraordinary blacksmith
- EliRivers 8y agoI see they repeat the myth about a great developer being ten times as good as a mediocre one, even though the actual reference they point towards in support of that statement disagrees with them.
- busterarm 8y agoAnd the myth that great developers are always trying out the latest new thing.
- aceBacker 8y agoBUT, an average developer is better than a developer who just puts in their 8 hours a day and never learns new skills. The people who you make a point to address an issue with and then a few weeks later you see they created the same issue again. I think the key is to actually care about your work. You got even a little bit of that and you're fine.
- hvidgaard 8y agoI don't think that a single developer can be thought of as 10 times as productive. But a good developer absolutely can have a tenth of the "collateral damage" after releasing a product with less need for support, fixes, and refactoring. If I think of it as team dynamics, I can see a single developer making that much of a difference. On his own (s)he is not that much better than your average developer, but in a team (s)he can lift the team with his/her experience and really make them significantly better. 10 times better is probably a stretch, but measurably better at least.
- ludston 8y agoI know that this is not a myth because I have seen it. Just today I saw someone reviewing some piece of work that had taken another developer two weeks to implement, throw it all out and solve the same problem with only a few lines of code. The speed improvement isn't like, "This person can type 10 times faster than everyone else", but more like, "This person doesn't get stuck or waste time chasing dead-ends". Possibly your code-base needs to have more than a certain level of complexity before developers start getting stuck like this.
- zimpenfish 8y ago> piece of work [...] two weeks to implement, throw it all out and solve the same problem with only a few lines of code I've been in similar situations and, invariably, the "few lines of code" is inscrutable nonsense that no-one else will be able to maintain (and often even understand.) I can write obtuse one line "clever" hacks to solve problems but I'm keenly aware that a) I'll have forgotten how it works in an hour and b) some poor bastard (which might well be me) will have to maintain it for N years after I'm gone.
- techopoly 8y agoRight, and the product owner will expect all future maintenance to be done as quickly as the one-line clever hack that took 15 minutes but didn't encompass the edge cases.
- alexandercrohde 8y agoSome 10x engineers just say "No" to product owners. If you let a product owner to convince you that you need an .xls export rather than .csv for internal use (this is a real-life example!) you may add a week+ of work/maintenance versus the time it takes me to explain "no."
- zimpenfish 8y ago> an .xls export rather than .csv for internal use Presumably this was a trivial data dump and not something like a report that could have benefited from, e.g., embedded formulas, multiple sheets, etc.? (I've produced exports with the latter and the enhancements were greatly appreciated over the plain old CSV export.)
- dsego 8y agoFrom my experience it's the opposite, a mediocre programmer will create way more code than needed because they don't try to understand, but just blindly copy conditions and cases they see in the surrounding code (cargo cult). This leads to more convoluted code that looks clever and covers edge cases that wouldn't exist if it was coded properly or if they pushed back. Then the experienced programmer comes in and rewrites it to solve the actual problem with as few lines as possible.
- brianmcc 8y agoI can't help feel that this is quite misleading - let's take a bunch of concepts we happen to like about our software team and project them onto a 17th century craftsperson. I mean, you can construct a picture of such a blacksmith being Mr Super Customer Focused, sure, doesn't really make it true though? Why add in such an extra layer of distraction when you can just, well, describe good software team members?
- Manfred 8y agoRight, I was expecting an account of an actual blacksmith. I'm pretty sure priorities in the 17th century were not the same as they are now and people had a totally different perspective on work.
- TheOtherHobbes 8y agoIndeed. I think there's an apt and pithy description for the original article. It's rather sad, because it turns out that real blacksmith stories (if you ignore the mythological ones) are far more interesting and inspiring than this superficial nonsense. http://theconsummatedabbler.com/2016/06/25-of-the-worlds-most-famous-blacksmiths/ http://theconsummatedabbler.com/2016/06/25-of-the-worlds-mos...
- onemoresoop 8y agoAnd strong arms too. A smart black smith with weak arms/shoulders/wrists would under-perform one who didn't. And the tools were a) quite simple, b) they wouldn't change every 3 years and would last a generation. The comparison to the software craftsman is quite silly, I agree
- brianmcc 8y agoYeah I thought that too - 30 years of fine tuning one's horseshoe shaping skills is admirable, but it's wildly different to the "constantly learning new things" narrative. It's a shame, I did quite enjoy the "our sword guy let us down" cartoon!
- crankylinuxuser 8y agoSo.. What are they trying to stealth-sell here?
- encorekt 8y agoLooks like just themselves -- a team of developers I guess. Or horseshoes?
- andrewla 8y agoThis article seems to be more a series of backhanded complaints that managers make about software developers rather than any sort of useful comparison. Any software developer who routinely had requests that were analogous to "make 100 swords" would undoubtedly kill themselves immediately. I mean, that's not really true; there's always a market for software developers who are expected to churn out the same program that they've written before (program, website, crud app) with slightly different branding. But it would be a stretch to call such a person a "great developer" unless they built a framework that would allow them to create each one while barely lifting a finger. Here are the points in the article, translated into whining about software developers: "He Loves What He Does" == "Why are good developers expensive?" Curiosity - "If a craftsman does not love what he does, he is usually working for money or prestige" == "I should not have to pay a developer very much money" Creativity - "The best ideas come when you walk home from work and your brain just cannot stop thinking about the exciting problems you are working on." == "My developer doesn't think my ideas are exciting" Long-term motivation - "His motivation comes naturally the process of building and creating new things" == "I should not have to pay a developer very much money" "He is humble" == "Why do my developers think they're smarter than me" "He is courageous and honest" == "Why can't my developers give me good estimates for how long things will take" "He is a team player" == "I want my developers to be instantly replaceable with another developer" "He is extremely customer-focused" == "Why do my developers keep saying that my ideas are bad?" and "Why can't my developers give me good estimates for how long things will take"
- AllegedAlec 8y ago> backhanded complaints that managers make about software developers Bad managers, I'd say.
- jchackert 8y agoAgree. Good managers are still relatively rare, even given all the attention being paid to improving management in tech lately.
- sev 8y agoInterestingly, what makes a great chef is when they can consistently churn out the same exact dumpling.
- gabrielblack 8y ago"He is a team player". Do you ever seen a team of blacksmiths forging a sword ? IMHO a blacksmith is the figure more distant than ever from the perfect team member. Do you know what a team member looks like ? An assembly line worker. But who want to be an assembly line guy ?
- daef 8y agoteam striking is a thing... https://www.youtube.com/watch?v=YslKzxLF8Uw https://www.youtube.com/watch?v=YslKzxLF8Uw
- JAdamMoore 8y agoThis is one of the stupider things I have ever read. It's an amazingly bad analogy, written poorly. Where does HN find this garbage? Who is promoting it?
- ppeetteerr 8y agoSo, this person is: - Curious - Creative - Humble - Communicates well - Sees the big picture - Teaches others - Honest - Brave That's not just a good programmer, that's a good person to have on your team regardless of her/his responsibilities.
- alexandercrohde 8y agoTrue. Also I want to point out some basic math, if the traits are independent, the odds of finding a person who is more of each of those traits than average i.e. > 5 / 10 on each is 1/2^8 So roughly 1/256 people will have all of those traits more than average. This on top of hopefully being able to program.
- pacala 8y agoOn top, you'd hope the respective manager is matching the engineer's traits, if not exceeding them.
- deleted 8y ago[deleted]
- carapace 8y agoWith respect, you are mathing worng: those traits would hardly be independent variables. eh?
- alexandercrohde 8y agoNot matching wrong. I stated that was the math for the premise of independent. Am I psychologizing wrong, well I don't know. Depending on the psychology research (which doesn't exist as far as I know) the odds could be much higher or much lower.
- dragonwriter 8y ago> Also I want to point out some basic math, if the traits are independent, the odds of finding a person who is more of each of those traits than average i.e. > 5 / 10 on each is 1/2^8 If by “average” you mean ”median”, sure (the median is an average, by not the only or most common one), but it's pretty obvious that they aren't independent. Curious, creative, and sees the big picture are clearly correlated, as are communicates well, humble, and teaches others, as are honest and brave. There may even be correlations between the three groups.
- C1sc0cat 8y agoActually "Blacksmiths" don't forge swords or shoe horses - there is a whole hierarchy of smiting trades in the European tradition. I bet Masamune (considered the best sword smith in japan) had an amazing wait list and you probably had to know some one to even get on that list.
- victorbojica 8y agoDon't really get the point of this article... Especially on hn. To me it sounds very passive aggressive to be honest.
- ken 8y agoI've never met a blacksmith, but I've met people in similar jobs (welders, etc) and I'm not sure I'd describe them as having "fun and joy at his craft". The best ones make it a point to be good at their work, for sure, but they make it a point to do their best at everything they do. I've met people at the top of their game who have won awards for their work, who tell me they have no passion for their profession. It's just what they happen to do for money. I'm probably reading too much into this, like someone complaining that computers in a Hollywood movie are not technically accurate. Bloggers have re-invented fables, only this time with medieval trade unions instead of animals. Aesop got this right. Nobody thinks he's making a judgment on the work ethic of tortoises. You use animals in morality stories for the same reason programmers use "foo" and "bar" in sample code. Write about blacksmiths and you risk naive people like me thinking that you actually mean a real blacksmith.