HACKER Q&A
📣 vpaulus

Are authors of “how to be great developer” blogs great developers?


Every time I am reading blog posts about "how to become a great developer", or "what´s the difference between a good and a great developer", I am marvelling the self-confidence of the author. Or better to say: I am wondering if I should have better self-confidence too?

During my 20 years of work experience as a developer, I´ve never felt that I am a great. Neither good. Maybe good enough, or good-ish. And it depends of many factors. First, I always know some guys, who are better than me. One is coding quicker, the other does not need so much googling or checking documentations during work, the next one has better code structure, and so on.

I always had/have multiple leveled lists in my head, what I need to improve. To write tests. To change Js to Ts. To practice quicker typing. To create better snippets. To learn better focusing. I could continue the list...

I don´t think I can tag myself as "great" until the list is done. Do these bloggers?


  👤 adamgordonbell Accepted Answer ✓
Some CEO's have executive coaches that they pay lots of money to. Are good executive coaches good CEOs? No, they are good executive coaches, but that's ok, because that is their job.

Are there executive coaches who are successful and yet give bad advice? Probably, but probably some excellent executive coaches learn to pattern match on problems and deliver a lot of value.

So, this is my long-winded way of saying advice can be valuable even if it comes from someone lacking the skill to use the advice. So, take advice with a grain of salt, realize much advice is autobiographical, but still, it can be valuable.


👤 BeefWellington
My take: I like the Bruce Lee quote:

   I fear not the man who has practiced 10,000 kicks once, 
   but I fear the man who has practiced one kick 10,000 times.
The people who blog about being great developers are largely bordering on snakeoil salesmen/women. I think the great devs are too busy writing code.

👤 onion2k
To practice quicker typing.

This specific one is something that baffles me. Development is all about thinking. You need to understand what you're building well in order to have any chance of making something that works and is bug-free. You need to spend time thinking of names that will make sense in 6 months. You need to organise things well. The actual act of typing things in is a tiny part of the whole process. If typing faster is improving your dev productivity then either you typed really slowly before, or you're not spending enough time thinking about what you're doing. I really don't understand why speed of text input is considered a useful metric on absolutely any level whatsoever. And I say that as someone who types quite fast and who knows their IDE well enough not to be reaching for a mouse every so often.


👤 braingenious
There appears to be a formula to make it to the front page of HN. I haven’t entirely nailed down the specifics, but it’s nearly exclusively self-congratulatory drivel about how to adapt to the world/industry as an individual that’s Way Smarter Than Everybody Else.

I don’t know who these people are that write self help content that is optimized for making it to the front page of HN but if I had to bet, I would bet that their core competency is blog writing and appealing to developers, not coding.


👤 quadrifoliate
I think it's up to you to determine what you want to do, but I see most of the "the real difference between great and good {developers, managers}" sort of posts as overconfident and self-promotional. In our (America-centric tech) culture that's soaked in cheerleading and self-promotion, this might work for a lot of people. It doesn't work for me.

I cringe every time I see one of these posts. To be honest, I may even grudgingly bookmark it sometimes. Maybe I should be thinking more about ten ways to become a great developer, not just a good one!

But the truth is that I will probably never read it, and I certainly won't return to it or link it anywhere. I mean, the embarrassment! It's like telling your friend they should read the "10 Ways to Lose Weight Fast" articles in some grocery store checkout line magazine trash.

I'm an old-fashioned craftsperson that prefers either thoughtful and reasonable reflection about things that have worked out; or flat out angry rants about things that haven't.

And maybe this is because...real life works that way too? If you're talking to someone about your successes, you're probably not going "Here's 10 ways to become a great developer. Number 1..." – you're probably incorporating a lot of caveats into your suggestions, and emphasizing the specific context that they are made in. Meanwhile, about failures or things that didn't work out, you're probably going "Oh my god, I need a couple drinks before I can even begin to talk about how [terrible boss] single-handedly sunk our project".

In summary – You do you. But I prefer to read people who write like they talk.


👤 Uptrenda
It's honestly like 99% marketing and 1% skill. The other day I saw a Vlog from a YouTube developer advocating to avoid else statements completely because it leads to 'cleaner code.' It will 'force you to make all your intentions clear.' But it also means duplicating a negative expression for every boolean that is to have an else which is tedious, unnecessary, and just ridiculous. This is the kind of garbage being given out for advice.

Most of the stuff I see is really just fortune cookie style bs that sounds useful but isn't. Blogs are actually a horrible source to learn from because they lack a systematized comprehensive framework for knowledge. I still love books or trying things out myself.


👤 ajkjk
No, god.

There are good developers out there writing blogs. You can tell how good they are by how intelligent and insightful their thoughts are. Most coding blogs (99% of what you find on Google) aren't those people; they range from "unhelpful" to "criminally bad, you just learned to code last month and your bootcamp requires you to keep writing blog posts and pretending to know things until you get a job" (a real thing!).


👤 hiltmon
I occasionally write one of these blogs. I have been programming for 32 years and have achieved more success by doing it than I could have expected. I've learned a few things here and there. Some days I write amazingly great code, most days, vomitus shit code. All this experience just means I recognize better which is which. But I keep learning, every day.

I was lucky when I was a rookie to have a great mentor, to guide me into thinking about what I do and in challenging the practices and techniques of coding. I see a lot of developers these days without mentors, who look elsewhere for guidance and ideas.

And part of the problem with us (great and not great - it irrelevant IMHO) developers is we're all really good (or getting better at) at coding (it is what we love and do), but on average we're pretty awful at communicating. I learned much from the few I met who could communicate.

So I started to write. To learn how to communicate. And the best forum for that is the internet. Fast, clear, and often brutal feedback abounds. You either get better or you get out. Looking back, my early writing was terrible, you decide if it got better.

My goal was to share the nuggets I picked up over the years and share them, the good and bad. To be a virtual mentor, to pay back what I received. Some nuggets I believe are solid gold and I hope readers will find parts of them to help themselves grow, and some nuggets are radioactive and I hope readers will dodge these traps. I do not believe I am right all the time (and again, an internet discussion often reveals flaws in my knowledge and experience), all I wish to do is add value.

I do not tag myself as a "great" programmer, I trust I am not being too arrogant saying I am an "above average" programmer, this industry is huge and there is still much to learn for anyone to claim the title "master builder".


👤 lucasyvas
All the programmers I consider to be role models don't have time or care to blog, so I would support the hypothesis that they are mostly not great developers and only trying to sell you something. I personally never had much of a doubt.

The old household names (like Fowler) that speak at conferences or write books I trust far more than your average blogger though.

Development is a form of craftsmanship. If I was commissioning an artist I would look at their portfolio - not how they "talk about art". So the question is, have the folks blogging actually produced something well known? If yes, I'm happy to take their blog seriously.


👤 lordnacho
You don't have to have been a great racehorse to be a good jockey. A lot of advice about some ostensible topic is actually advice about how to organize your life, good habits, that kind of thing.

👤 beardyw
Let's face it, developers are like plumbers. What we do is not meant to be on show. Being a great developer is like being a great plumber.

👤 As_You_Wish
Being able to synthesize information, and write, is a talent that is completely different from being a developer.

The world is full of examples of fantastic developers that cannot show others what to do.

I have been a coach, but not an elite Olympic athlete.

Look at all the great sports coaches - they were not Superbowl or World Series winners.

I've always hated the saying, "Those who can, do. Those who can't, teach." Teaching is a skill. Great teachers have great teaching skills. We've all had crap teachers, we've all had great teachers.

If I read 500 books about developers, and talk to 500 great developers, and I have enough knowledge about development, and can then put together an enjoyable read that imparts great knowledge that is correct, even if I can't develop myself, that's fine, if the information is actually correct.

To your point of working 20 years as a developer: I was in a sport a long time and pretty much sucked at it, trust me, so many people were way better. I was better than 99.9% of the general population, but of those elite in the sport....no. But I REALLY enjoyed being a coach, it was great. And, the people that I taught got perfectly good information from me.

But, it wasn't like I was Vince Lombardi or Bill Belichick. Nobody knows me from my coaching, except those that I coached. But, if you are getting paid, why does it matter? Good enough is good enough.

I think you are worrying about things too much. What I know about you is that you are better than 99.999999% of the world's population at what you do. If you are not part of the elite .0001%, oh well, nobody is, except that .0001%. Not even worth bothering yourself about.


👤 oh_my_goodness
I accept that there are some people who are unusually great at coding, who are also able and willing to explain how they do what they do. What I'm skeptical about is how many of them are writing these things ... vs how many of the authors are more like me (aspirational, more or less mean well, and like to hear myself talk).

As for people who conscientiously study "great programmers" without being one of them ... I'm tempted to say (a) This kind of study can obviously be extremely interesting and worthwhile (e.g., Dava Sobel, Tracy Kidder, James Gleick, or John McPhee on scientists and engineers). But (b) It's still obviously going to mostly miss the real point for practitioners, as it isn't actual professional literature. Mostly.

Where did I read this approximate quote? "Earthlings will tell you that they are a race of inspired tool builders. Anyone else can plainly see they are really a race of passionate after-dinner speakers."


👤 Normille
Probably to the same extent as the writers of 'How to become really rich, really easily' courses are really rich. Which always makes me wonder why they need to try and earn money selling self-help courses.

👤 thenerdhead
You can’t sell shovels in a gold rush unless people think you’re a prospector.

👤 activitypea
Whenever I read the actual article, it's pretty clear from both the prose and the actual content that they're either just regurgitating the stuff they heard from Uncle Bob, or they're just making up what they think sounds like a good engineer to them, without ever checking if their headcanon lines up with reality.

Not that there's a big difference between the two ;)


👤 fxtentacle
All of the people that I consider exceptional developers don't have an active blog.

But I can name plenty of mediocre developers who wrote a book...


👤 projectramo
Consider this set of ideas -- made up right now, on the spot -- as potential answers to the question "How to be a great developer?":

-- Practice code

-- Read code

-- Read ideas about what makes good code

-- Write about what makes code good, try to practice the principles

-- Try different languages, especially ones that are different from the ones you first learn (i.e. functional if you learned procedural, object oriented, and of course Prolog)

What is wrong with these suggestions? Do you believe they will make you a great programmer?

Well, yes, these are great suggestions but the problem is:

1. They are self evident

2. They take a lot of time

What is missing is the tradeoff. If you just tell people all the ways to practice, then you aren't really giving them information. Its not false, and I don't have to be a great programmer to render this simple advice.


👤 pkrotich
I'm always skeptical of listicles... I assume they're good Authors who happen to be developers, not necessarily great ones. I think a good analogy is great law professors who are not necessarily great lawyers in the field - it's a domain thing.

👤 scrapheap
We all think there's things we need to work on to be better programmers, it doesn't mean that we're not already great programmers.

The real trick is to identify those things that will have a beneficial effect. In my opinion, being able to write tests well is an essential skill for any programmer.

Personally I think switching from Js to Ts won't have a big impact on your ability to program, but learning a new paradigm of programming will have big impact.

Very rarely have I seen a programmer where their typing speed has been their limiting factor - I have seen programmers type a rat's nest of code very quickly though :)


👤 jdmg94
There are some people who are truly talented like Kent C. Dodds, but we also have a lot of people in tech whom we have made famous for next to nothing, a few that comes to mind: Techlead, Ben Awad, and the likes

👤 rr888
I feel most confident programmers have probably only worked in well architected and well resourced projects, or more likely small projects with clear requirements and easy implementations. The big systems with under resourced teams and loads of tech debt are needed to make any dev doubt themselves.

On the subject of who is "best", everyone has a different criteria. Someone who knocks out lots of websites has different skills to someone who's tuning old systems, vs CS researcher, vs startup founder who makes $$$. Which one is best?


👤 rychco
Of course they’re not. They’re selling a shallow self-help brand, disguised as greybeard developer insights.

It’s easy to find examples of actual great developers & read about their work.


👤 klft
Related comment about thought leaders:

https://news.ycombinator.com/item?id=27468654


👤 aclavelle
It doesn't necessarily take a great developer to identify the characteristics of great developers. Does a football coach need to be a great football player?

👤 he11ow
This obsession with being "great" is unhelpful. The only question that matters is: Do you ship?

Someone who ships practices their craft. Someone who ships learns seeks out how to get better. Someone who ships discerns between the new shiny and actually useful.

Mediocre coders who write well - and ship! - may be more useful than an ace developer who can't lay out a plan. It depends on the task at hand. But it's the actual getting something made.


👤 jleyank
What is a great developer? Are they people who single-handedly deliver memorable products of such scale or in such short times as to be amazing? Are they people who raise the level of their team to significantly higher levels? Either way, such people are known by production -> reputation. Once there, some write about the path (bell labs).

I am unaware of a coaching analog as in pro sports - for development, one must do the work.


👤 la64710
Not to forget almost all of these blogs are attempts at self promotion and establishing one as thought leaders or post the link in their resumes for help with their own careers. Any leader who has spent some time in the industry should recognize this and protect their organizations from blindly wasting time and effort to walk down every latest and greatest thing that is vended by these “thought leaders”.

👤 indymike
Somewhere there's a Venn diagram that shows a small circle of great developers, and a large circle of people who are blogging about how to be great. The two circles barely overlap. That said, I've seen many a coach who was not a great player produce great players... and many a professor who toils in anonymity produce students that become experts in their fields...

👤 baremetal
I'd say it's a lot easier to write articles on how to become a great developer than it is to be a great developer.

👤 mkl95
Another way to perceive it is that a great developer is one who has consistently contributed to great projects. Any generalist who shows up to their job every day could potentially achieve that. There is a large overlap between being a gifted engineer and being hard to work with, so the opportunities will be there.

👤 comprev
I’d say the vast majority are for SEO reasons and the “great” developers can easily find work by professional reputation in their networks.

If a recruiter / hiring manager sees a name attached to such blogs they naively automatically believe the candidate is “great”.


👤 geekjock
Check out this summary of a peer-reviewed paper titled “What Distinguishes Great Software Engineers?”

https://abinoda.substack.com/p/great-engineers


👤 Fletch137
IMO it's essentially marketing themselves. There can be good lessons there and they can be worth reading, but it's important to remember that the post itself is often there to "show expertise" rather than inform.

👤 satisfice
Why do you care?

I guess you must be writing this to get some comfort that other people are also struggling with self-doubt as developers? Yes, definitely. Don’t worry about the bloggers. Take what ideas seem useful and move on.


👤 yakshaving_jgt
Maybe I am one of those writers, but I don't think you and I have the same definitions of greatness in this context.

To me, greatness comes from wise economic reasoning. Using TDD is an economic choice. Using a more sophisticated type system is an economic choice. Being quicker at typing is an economic choice — you can be the fastest typist in the world, but it's not much use if everything you type exists in a vacuum.

I think the software craftsmanship idea of greatness is to be disciplined enough to refactor every bit of code until it's squeaky "clean", whereas greatness in my mind is [at least partially] the ability to recognise when a part of a system is a bit of a mess, but functions correctly and reliably and is unlikely to ever need to be changed, rendering any effort expended in "refactoring" to be a waste.


👤 krnlpnc
Hmm do great developers really even think or worry about being a great developer?

Everyone is on their own path and has their own strengths, there’s not much point in comparing yourself to others (unless you want to be unhappy)


👤 Chris2048
I remember there was some youtube series that showed famous developers (from famous software) develop - actually showing their process and IDE screen as they work.

Can't recall what it was called though.


👤 treeman79
Interviewed a guy that wrote a JavaScript book. Don’t recall which one.

We were all excited to talk to a him. He failed the interview, badly. He was really good at writing. Just not programming.


👤 melvinmelih
In my eyes, if you’re self aware enough to realize that there’s always something to learn and improve, you’re already better than 90% of your peers.

👤 erdos4d
What are the economics here? Can one make more money as a developer or a blogger? Talent tends to follow money, so that should tell us something.

👤 badpun
Most people are average-ish by definition (either somewhat below or somewhat above average), chances are you are average-ish too.

👤 stevenalowe
"I'm not a great developer, I'm a good developer with great habits." -- Kent Beck

👤 umen
There are very few which are great in the level of carmak . All the other just poor click bait

👤 heikkilevanto

   Those who can, do
   Those who can not, teach
   Those who can not teach, manage
   Those who can not manage, teach management
   and those who can not teach management, manage teachers

👤 rvz
Like artists, good developers copy from StackOverflow (and give credit or references) and great developers steal from StackOverflow using Copilot (and claim it as their own).

👤 jmatthews
https://xkcd.com/1053/

The truth is that "great" is subjective, and any given developer blogger could be a proper resource for any number of people depending on where they are in their journey.

If it were otherwise you could say to any aspiring developer, "Read The Art of Programming by Knuth and just derive everything else from first principles"

A truly mediocre programmer could teach a great deal to a beginner. A master could skirt over various complexities and disappear up their own butt in abstractions.


👤 wawjgreen
great developers are busy making $$$$$ they are not trying to persuade others they are great developers by writing blogs.