TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Becoming a Better Software Developer: A Handbook on Personal Performance

360 pointsby encorektover 6 years ago

19 comments

whorleaterover 6 years ago
Man, I thought this was going to be an article on better code reviews and how to get better feedback from people you work with regarding your performance.<p>Instead the article is some strange &quot;self-help&quot;&#x2F;&quot;hustle-hard&quot; blogspam, quoting Malcolm Gladwell and shading a picture of the normal distribution and pretending it&#x27;s arrived at some brilliant insight.
评论 #18034064 未加载
评论 #18034006 未加载
projektirover 6 years ago
Software is not sports. Stop comparing software to sports. Stop comparing developers to athletes. Stop making analogies to running. Just stop.<p>In fact, please stop doing that for all serious vocations, life is not a game and that&#x27;s all sports are: a game. That&#x27;s why everything in sports is super simple, straightforward, and measurable [except when it isn&#x27;t, but don&#x27;t mind me].<p>Sports are not really a good analogy for most things, because sports are entirely <i>relative</i> and have no fundamental value. No soccer player has any inherent value except for being better than a large amount of other soccer players. So it makes sense that soccer player skill follows a binomial distribution since it&#x27;s basically that by definition.<p>This is not the case for developers. Developers do not need to be relatively best to produce a lot of value, and mostly produce value by the nature of, well, producing it. If you create a useful website, you created a useful website, it really doesn&#x27;t matter if you are the best website creator on the planet. The value of that website has no relationship to your abilities relative to others, and has much more of a relationship to things like whether it&#x27;s useful for customers.<p>And since there are a range of domains, you actually end up with balderdash if you measure developers against each other, since some are good at debugging, some at C, some at websites, some at arguing with product owners, and some at writing AIs in Python. There&#x27;s really no point or benefit from trying to homogenize them all into a group and rank and file them.<p>What we need is not &quot;great&quot; developers, what we need is higher <i>standards</i> for all developers, so that across all these varied domains we have lots of people who respect quality.<p>The &quot;fundamental gap&quot; between developers is likely not there and I think this thinking is actively harmful. All we need is to encourage more developers to <i>care</i>, which is already a hard enough problem without getting into the useless weeds of being the developer equivalent of Muhammad Ali, which seems like a great way to discourage literally 99% of developers because that is how sports work in practice and most sane people avoid sports [as a job] for that reason.<p>Rant over.
评论 #18037249 未加载
评论 #18037457 未加载
wbronitskyover 6 years ago
This seems like an article that would not have been on HN&#x27;s Front Page a few years ago. Are people blindly upvoting articles based on the title? How can HN moderate incredibly low quality articles like this one? This is a checklist of how to become a better anything, how to more effectively work on a team and other work how to&#x27;s without diving beneath the obvious surface at all.<p>Am I the only person seeing HN descend into terrible click bait with flame war comment sections? In this case, I really hope my observation is the outlier, and that people continue to find this site helpful and contructive.
评论 #18035795 未加载
评论 #18042900 未加载
_bpglover 6 years ago
&gt; The well-known 10,000-hour principle, popularized by Malcolm Gladwell, illustrates an important lesson for developers. ...<p>It’s not often I’ll wholesale dismiss an article on HN because of one sentence, but this is one of those times. The fabulist Gladwell is not credible in general, and his 10,000 hour “rule” can no longer be thought to even remotely approach science, or even fact. The author lost all credibility with this sentence.
评论 #18035389 未加载
评论 #18036462 未加载
onion2kover 6 years ago
Here&#x27;s the key thing that I think has made me a better developer - focus on being a better communicator. At some stage in your career you&#x27;re going to work on something that would be impossible for a lone dev to write. At that point being someone who is happy to have a meeting, write a clear document, or answer the phone is going to make you a key person on your team. You&#x27;ll be in the center of everything, hearing the facts and making the decisions. That&#x27;s what senior devs do. They communicate.
评论 #18035023 未加载
mendezaover 6 years ago
I have been collecting similar guides to improve on software engineering, as I am a recent graduate looking to excel in my career. Here are some other blogs I found useful:<p><a href="https:&#x2F;&#x2F;recurse.henrystanley.com&#x2F;post&#x2F;better&#x2F;" rel="nofollow">https:&#x2F;&#x2F;recurse.henrystanley.com&#x2F;post&#x2F;better&#x2F;</a><p>&quot;Ask HN: What topics&#x2F;subjects are worth learning for a new software engineer?&quot;: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18000410" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18000410</a>
zackmorrisover 6 years ago
My favorite takeaway from this is that I&#x27;m an ANGELIC TROUBLEMAKER (because much&#x2F;most code is demonstrably terrible but I do have a fair amount of experience in greatly simplifying it), but other than that I find several points in the article to only be relevant in these times.<p>I&#x27;ve been through several boom&#x2F;bust cycles and right now we&#x27;re living in a boom period where:<p>* Programming demands a high hourly rate<p>* There are many programmers on the market, tending towards making them interchangeable cogs<p>* Income inequality is high, leading to a wide discrepancy between wealth and technical literacy<p>After the coming web2.0&#x2F;mobile bust in a few years, these will likely no longer be true. I think what will make a good programmer then is the ability to map use cases (design) to abstractions and then to business logic in as little code as possible (preferably none at all). We&#x27;re going to go back to a time more like the 1980s, when nontechnical people were able to get Real Work done with spreadsheets and DBMSs like Microsoft Access.<p>I looked at Airtable a bit and it has some interesting ideas but is no panacea. There are other interesting attempts in that space but almost everyone seems to be moving in the opposite direction towards large volumes of highly imperative, object oriented code which is prone to technical debt that requires a longterm support staff of technicians to maintain it. In other words maintaining is currently more lucrative than architecting, but that wasn&#x27;t always true, and will likely not be true again in a few years.
评论 #18035650 未加载
shady-ladyover 6 years ago
may as well lead in with truthful sentence: &quot;For this article, we reached out to every kind of role except actual software developers&quot;
SonnyWortzikover 6 years ago
I have three rules for better coding performance, for me.<p>- Ask Questions<p>- Do not Multitask. One problem at a time.<p>- Test control answers i.e. You want result to be 10 then test for 9 and 11. Wrong results create a more stable solution.<p>Speed has never been my strong suit, but when I deliver code to QA, you can bet that you will be testing a well thought out solution.
partycoderover 6 years ago
Highlights of this article:<p>- 10,000 hours mastery: Another power-of-10 based bullshit stolen from Rocky I.<p>- Stacked ranking: Bullshit belief that gives you 100% probability of ruining a company. Costed Microsoft 10 years to fix the damage caused by it.<p>- Personality types: Horoscope-grade pseudoscientific bullshit used to justify bad management. See also: MBTI<p>- Hyperbolic decay: Often applied to impress people easily impressed with math, i.e.: bullshit<p>- Self-promotion<p>My thoughts and prayers to the 278+ people that upvoted this article.
exabrialover 6 years ago
The most valuable skills I&#x27;ve learned are empathy and a servant attitude. I cringe at some of the things I&#x27;ve said in the past with an inflated ego and poor attitude. I try to put relationships first and listen before problem solving.
zwiebackover 6 years ago
Despite the weird formatting and general buzzwordiness I actually enjoyed this quite a bit.<p>Chapter 2 resonated the most, finding a meaningful metric and then measuring against that is something every engineer should do, not just in SW, but sadly it&#x27;s very common that teams just bumble along hoping for the best.
casper345over 6 years ago
Was hoping for more concrete insights. Things only developers with decades of experience would know.
评论 #18036117 未加载
d--bover 6 years ago
God, what a badly formatted article. Fonts, line spacing, paragraphs. Everything is wrong. It&#x27;s unreadable...
namelezzover 6 years ago
Be warned! There is no correlation between being a great software engineer and having a rewarding career in the workplace. You need other skills to survive the politics in hiring and promoting as well[0].<p>0 - <a href="https:&#x2F;&#x2F;cis.org&#x2F;North&#x2F;Oracle-Sued-White-Males-Indians-Receive-Different-Kinds-Favoritism" rel="nofollow">https:&#x2F;&#x2F;cis.org&#x2F;North&#x2F;Oracle-Sued-White-Males-Indians-Receiv...</a>
评论 #18037144 未加载
Rowaway45over 6 years ago
Unfortunately you need half of this. Just listen and understand what other say don&#x27;t go over it. Don&#x27;t think you have it all right. Work hard keep your head down, but look for the options.<p>There is a lot of stuff to say to go kill it, but not. To kill it you have to be exceptional and usually people are not exceptional. Unfortunate is most people will think the6 are exceptional and fail.
tenpoundhammerover 6 years ago
This is an excellent general framework for upping your game in software development within the context of a decent sized software engineering organization. I&#x27;ve stumbled my way into much of this advice over the past 2-3 years.<p>One caveat is that much of the advice is predicated on having a supportive environment.<p>For Example, &gt; Application development is a team sport. Period. Full stop.<p>What if you work in an environment where people primarily work on their own? I have done a lot of that in the past.<p>&gt; For many, the best way to learn is to teach.<p>What if there aren&#x27;t feasible opportunities to teach or your management pushes a pace that makes it not plausible?<p>&gt; Create side projects<p>There are managers that support the idea of doing side project but not the execution.<p>I&#x27;m sure you can find more examples of suggestions that aren&#x27;t plausible in your environment.<p>Here is my answer to these examples, I wasn&#x27;t just complaining. If you don&#x27;t have opportunities to fulfill sections of this framework that you feel you are lacking in, do it anyway. If your manager tells you not to spend time learning and improving ignore them. Do it anyway.<p>You might say, &quot;that&#x27;s fine for you Mr. internet commenter, but I&#x27;m the one that has to take the risk&quot;. Well, that&#x27;s true but I&#x27;ve already done it. Here were my results.<p>Did exactly what my management asked me to do for two straight years. All reviews for two years were &quot;Meets expectations&quot; with a long list of things I should improve.<p>One year ago, I read a book with an abhorrent title but good information &quot;stealing the corner office&quot;<p>I stopped listening to what my manager told me to do and instead I picked up random side projects with little to no perceived business value for my team, spent 10x more time reading code and made commits in projects I shouldn&#x27;t be working on, and started spending a lot more time understanding basic fundamentals of software engineering.<p>Have had &quot;exceeds expectations&quot; on every review since and glowing praise.<p>It&#x27;s counter-intuitive but, don&#x27;t give the people what they ask for, give them what they want!<p>Note: I got a bit carried away on this comment, I should have mentioned that in reality I spend 10 - 20 % of my time working rogue, and the rest of my time doing what my boss tells me.
评论 #18034334 未加载
评论 #18034210 未加载
评论 #18034391 未加载
macintuxover 6 years ago
Orthogonal content that inspired me to finally get serious about learning functional programming, and led me to Erlang: <a href="http:&#x2F;&#x2F;sijinjoseph.com&#x2F;programmer-competency-matrix&#x2F;" rel="nofollow">http:&#x2F;&#x2F;sijinjoseph.com&#x2F;programmer-competency-matrix&#x2F;</a><p>Sure, it&#x27;s flawed, but isn&#x27;t everything?
RivieraKidover 6 years ago
In my experience the main determinants of programmer productivity are innate thinking ability and motivation.