Live data from Hacker News

Qualities that I believe make the most difference in programmers’ productivity

antirez.com

231–240 of 321 posts

Re: Qualities that I believe make the most difference in programmers’ productivity

#231
post #160

Earlier quoted context omitted.

"great design is the key to increased productivity" Given how many times the 90/10 principle will brutally murder your time estimates ("we're 90% done, so there's only 90% left to go!"), learning to also harness it in your favor as antirez talks about is a great programmer differentiator. If 90% of the effort is coming from 10% of the design, and you can find some way to cut that part of the design in half, you just…

I'm proud to say that I've accomplished that, at least once. My company was developing a new feature, hundreds of medical textbooks that would be searchable and readable online. The source content for each textbook consisted of a huge xml file and a bunch of images. The problem we faced was that many of our customers were government-funded libraries, and they required a physical product for anything they purchased. (…

Great story.

That's exactly it.

Re: Qualities that I believe make the most difference in programmers’ productivity

#232

Earlier quoted context omitted.

In defense of those people, the layout of the site is actively hostile to people on mobile. -10x for readability.

I'm sorry, for the kind of things I tend to blog about, monospace font was the simplest way to have a truly what-I-write-is-what-appears without using any markup. If I could start from scratch I would use MarkDown, however at this point if I switch all the past blog posts will be broken, or I should switch conditionally from a post ID >= but then the blog will be a bit inconsistent. I'll try to figure out a solution.

I'm on a phablet and it was easy to read. (Also liked it and have questions)

Re: Qualities that I believe make the most difference in programmers’ productivity

#233
Off-topic, but I know that Antirez has mentioned in the past he is always working on his English grammar.

> Surprisingly the ability to use basic imperative programming constructs very efficiently in order to implement something is, in my experience, not as widespread as one may think.

Those words are spun better than I could do, and I'm a native English speaker. Bravo!

Maybe something missing from the list is hard work and long-term dedication ;)

Re: Qualities that I believe make the most difference in programmers’ productivity

#234
post #5

I thought the research that produced the legend of the 10x programmer showed that he was 10x better than the worst programmers who were still good enough to be employed, and only ~2.5x better than the "average" programmer.

Correct. In Peopleware, DeMarco and Lister write: Count on the best people outperforming the worst by about 10:1. Count on the best performer being about 2.5 times better than the median performer. Count on the half that are better-than-median performers outdoing the other half by more than 2:1. What nearly everyone who has read that remembers is the following: The best people outperform the average by 10x.

Here it is in visual form. Median defined as 1.

  |                    |                 | Probably          
  |    Unemployable    |    ___          | Over-     
  |                    |  ,' : '.        | qualified 
  |                    | /   :   \       |           
  |                    |/    :    \      |           
  |                   .'     :     '.    |           
  |                 -" |     :       "-_ |           
  |          __--""    |     :          ""--__       
  |____---"""       0| |     :           |    ""--___
  +------------------+-+-----+-----------+-----------
                       |     |           |           
                      0.25   1          2.5 (10x)    
People with skill below 0.25 cannot meet the minimum requirements for the job, or cannot be productive enough to cover their labor costs. People with skill above 2.5 have likely been promoted beyond the parameters of that job.

Whenever someone exceeds base expectations to such an extent that they hit the ceiling for the position they are in, they either get recognized and promoted, they job-hop to the next rung up the ladder, or they throttle back their own performance to be proportional to their compensation.

There are a few jobs that are at the top of their respective career ladders, where there is no choice but to offer profit-sharing as a means of encouraging best performance. So you can get a 20x CEO, or a 50x celebrity performer, because they get paid a percentage, and there is nothing else to be promoted to, except young passive-investor retiree.

Re: Qualities that I believe make the most difference in programmers’ productivity

#235
Maybe one things missing: 'specific domain knowledge'.

At least 1/2 of programming is learning. You can make a basic Android App, but have you learned how to do 'deep linking'. Well, it can take a full day the first time because it's awkward, and you have to understand a few things, and set a few things up server side.

Second time - it'll take 1 hour.

There's a lot of that.

If you're really comfortable with XMLHttpRequest, and know the ins and outs of post/form structures - well then you can do something quickly in it. If you don't well, it could take a bit to learn for a new dev.

Those things add up a lot. It takes several years to get comfortable with the variety of tools and tech necessary to be good.

Re: Qualities that I believe make the most difference in programmers’ productivity

#236
post #222

Earlier quoted context omitted.

> we use a javascript scrolling library, for reasons etc, long story short a programmer spent a couple day trying to figure out why the horizontal bar wronly showed on edge, until I went in and dropped a display none on the bar itself. Wouldn't an even simpler solution be to just use the scrolling built into browsers?

If you need smooth scroll you can't rely on browser support and need to use a library or cook something up yourself. It's surprising how few browsers work with smooth scroll. Today it's basically only Firefox; not even Chrome.

Not to be a fanboy but I use a Mac and one of the things that they clearly did a huge amount of research and fine tuning on is the scrolling. I can always tell when there's non native scrolling on a site and it always sucks. Maybe I'm out of touch, but IMO the smoothness of the scrolling is an OS or hardware level feature. If somebody's OS or hardware does not scroll smoothly, then clearly it's something that they're used to from every other site they visit.

Putting a "smooth scrolling" library in makes about as much sense as rendering all of your site's text on canvas because some computers have font aliasing issues. It reeks of a micromanaging CEO getting fixated on some arbitrary requirement that makes stuff look better only on his computer.

Re: Qualities that I believe make the most difference in programmers’ productivity

#238
post #160

Earlier quoted context omitted.

"great design is the key to increased productivity" Given how many times the 90/10 principle will brutally murder your time estimates ("we're 90% done, so there's only 90% left to go!"), learning to also harness it in your favor as antirez talks about is a great programmer differentiator. If 90% of the effort is coming from 10% of the design, and you can find some way to cut that part of the design in half, you just…

I'm proud to say that I've accomplished that, at least once. My company was developing a new feature, hundreds of medical textbooks that would be searchable and readable online. The source content for each textbook consisted of a huge xml file and a bunch of images. The problem we faced was that many of our customers were government-funded libraries, and they required a physical product for anything they purchased. (…

I hope you were handsomely rewarded for saving the company tens of thousands of dollars, if not more.

Re: Qualities that I believe make the most difference in programmers’ productivity

#240
post #13

Everything from the original post sounds reasonable, you should absolutely read it. Just some random thoughts to add to it: * For most of my past clients, the skill / output of their programmers was not the bottleneck, even though they thought so. As long as something is not a bottleneck, there's not point in trying too hard to optimize it (since you can get better ROI somewhere else). * Software is a team effort. Im…

Come on, Antirez is a x10 programmer, he coded one of the most brillant software of the last decade. It's so well done I use it as an example in my trainings, making people compile it to stop being afraid of building from source because I know it never fails and it's so damn simple. And programmer reading anything on his blog, or anything on HN for that matter, is not an average programmer anyway. The simple fact you…

Thank you for reminding me of this. I used to tell coworkers these same types of things to remind them to keep things simple, especially since we generally don't pay well enough and struggle to attract top talent. But we've managed to hire so many good devs in the last few years I've started to forget...
Post reply on HN