Your comment could be a line from Sheldon in the Big Bang Theory :)
Qualities that I believe make the most difference in programmers’ productivity
111–120 of 321 posts
Re: Qualities that I believe make the most difference in programmers’ productivity
#112..and an environment that fosters such low productivity norms, probably also gets it's developer productivity measure/metrics wrong as well, so you don't even need a 1.25x for the perception of a 10x...
Re: Qualities that I believe make the most difference in programmers’ productivity
#113This bit articulates what I consider to be the main advantage of experience in programmers: > Often complexity is generated when there is no willingness to recognized that a non fundamental goal of a project is accounting for a very large amount of design complexity, or is making another more important goal very hard to reach, because there is a design tension among a fundamental feature and a non fundamental one. It…
>The requirements will be ridiculously complicated (have to do everything all the projects to be replaced do), One of the biggest problems in this type of project is that many requirements are unknown. Yes, the new system must do what the old system did, but no one can write down exactly what that is.
It's been very hard to define tasks and timescales because there are little dark corners and special edge cases in the legacy mudball that don't immediately jump out at you when trying to review the code and work out what the hell it does, and why. The original developer is long gone and there's not much way of commentary in the code. A lot of the code is illegible because somehow the original dev's indentation went mad at some point in the past.
Then there's the database....
Re: Qualities that I believe make the most difference in programmers’ productivity
#114Earlier quoted context omitted.
Exactly. Years ago, one company I was at proposed we start a bonus plan based on lines of code. I wrote a script that inspected the RCS commits (it was years ago) and generated a report that showed that most of our best developers were net negative lines of code.
And how did you define and measure the "best developers"?
Re: Qualities that I believe make the most difference in programmers’ productivity
#115I don't understand how anyone can say 10x programmers don't exist. There are programmers who DRAIN value from projects and companies. The most insidious I've dealt with are people who assure everyone their part is going to be done on time, but come the deadline, they have nothing. I am today, a 10x better programmer than I was where I started. In terms of quality, complexity, efficiency, readability, maintainability,…
A 10X programmer is supposed to be 10x the average, not 10x the people who drain value. I've watched Notch program, and while he knows of lots of game related algos that I don't, he's not a magical snowflake and it'd take me no time at all to find those algos and implement them. There are huge swathes of the code he writes that I'd be comfortable writing at about the same speed. From experience solving other complex…
Re: Qualities that I believe make the most difference in programmers’ productivity
#116My number one observation about productivity usually revolves around how an engineer attacks a problem and handles scope creep. There are some programmers who can get a set of requirements, and like a trained surgeon get in, fix the big bleed and get out. While they are in there they might fix a couple close issues but they are not re-architecting the whole application. Then there are others who see all the problems, they notice this problem there, and that problem here and keep asking what does this all mean and it eventually cripples them. They spend some much time seeing all the problems, that they never get around to solving the one they were tasked to fix.
Once you realize you won't understand it all from the beginning and you can't fix every issue you see. You become a much more effective engineer.
Re: Qualities that I believe make the most difference in programmers’ productivity
#117This bit articulates what I consider to be the main advantage of experience in programmers: > Often complexity is generated when there is no willingness to recognized that a non fundamental goal of a project is accounting for a very large amount of design complexity, or is making another more important goal very hard to reach, because there is a design tension among a fundamental feature and a non fundamental one. It…
Absolutely. This is why it's so important to have input from engineering during the product design stage of any new product or feature: good engineers can help spot when a minor change to the requirements could have a major positive effect on the overall system complexity and time to delivery.
This is the hardest thing to communicate to people running projects, in terms of why the amount of Python or Django or whatever that you know has very little to do with being a good or bad developer.
Re: Qualities that I believe make the most difference in programmers’ productivity
#11810x what, though? No 10x engineer would accept a unitless quantity from uncalibrated measurements of terrible accuracy. Yes, it's obvious that some people are getting a lot more done, but it's very hard to quantify and vulnerable to social engineering. It can be hard to spot quieter people working effectively, and it's really hard to quantify those who spend their time helping others or improving team effectiveness o…
Re: Qualities that I believe make the most difference in programmers’ productivity
#119This bit articulates what I consider to be the main advantage of experience in programmers: > Often complexity is generated when there is no willingness to recognized that a non fundamental goal of a project is accounting for a very large amount of design complexity, or is making another more important goal very hard to reach, because there is a design tension among a fundamental feature and a non fundamental one. It…
Some years ago I was tasked with taking a program and fixing a major bug and adding a new feature. The original devs were gone, the code base was a mix of spaghetti code and a large number of design pattern layers. I brought up rewriting it but was told no, absolutely not. After thrashing around the code for a while longer I rewrote it anyway, taking the requirements from our actual usage in production plus the desired new feature, and was done in short order with about 1/4 the LOC of the original. A lot of supposed requirements fell on the floor, but none of them were being used and some of them never belonged in that particular program at all.
For someone like me, a "normal" programmer, this is the only way to achieve bursts of 10x productivity. At that same job there was another like-minded person I collaborated with. As a nuts and bolts dev I was as good or better than he was, but his ability to cut to the chase and somehow convince management was almost magical. 10x doesn't come from typing in code very quickly on sub-tasks.
Re: Qualities that I believe make the most difference in programmers’ productivity
#120I've worked with people who could be classed as almost a 10x programmer. Their code worked, but it was also incomprehensible to everyone else on the team. I have found that high-speed programmers tend to develop a very personalised workflow style. They do things their way, they code their way and forget that other people may have to maintain that code.
I've observed on a number of occasions that very good programmers get accused of writing "incomprehensible" code simply because they use data structures that you learn in the second half of CS 101, e.g. token buckets or bloom filters.