Live data from Hacker News

What distinguishes great software engineers? (2019) [pdf]

faculty.washington.edu

11–20 of 174 posts

Re: What distinguishes great software engineers? (2019) [pdf]

#13
Well I guess that makes me about average.

I'm generally liked where I end up working, but tend to just do stuff on my own. I'm polite, but don't go out of my way to interact with others typically.

I do check the boxes on the code quality stuff however, especially writing code that plans for the future.

Re: What distinguishes great software engineers? (2019) [pdf]

#14
post #6

Earlier quoted context omitted.

One place I worked said that you weren't allowed to make an estimate that was longer than three weeks. There are apparently studies showing that estimates longer than that tend to have much larger errors. So if it was going to be longer, we had to break it up into pieces until each piece was smaller than three weeks. That could get tedious. On the other hand, we did do a lot better than normal at hitting our dates. (…

This is also why I like estimating tasks using the Fibonacci scale without a direct correlation to time. In my teams, we generally set 8 points as something that would take an entire day. Every number after that jumps up in relatively large increments as they are more difficult to accurately determine

Interesting take, mind sharing how do you use fibonacci ? Thanks

Re: What distinguishes great software engineers? (2019) [pdf]

#15
post #7
post #5

Earlier quoted context omitted.

> An important part of their role is estimating how long a task will take to complete Agile exists because a very large number of people dispute this.

And then jumps through large hoops to hide that it's still asking people to estimate. Sure, it's not hours, it's "velocity" and "difficulty", and you don't estimate, you play "Fibonacci Poker". But at the end of the day, the question "can we do this in the allotted amount of time" still gets asked and answered. What agile got right is realizing that the error bars increase superlinearly with duration, and that scope…

[deleted]

Re: What distinguishes great software engineers? (2019) [pdf]

#16
post #7
post #5

Earlier quoted context omitted.

> An important part of their role is estimating how long a task will take to complete Agile exists because a very large number of people dispute this.

And then jumps through large hoops to hide that it's still asking people to estimate. Sure, it's not hours, it's "velocity" and "difficulty", and you don't estimate, you play "Fibonacci Poker". But at the end of the day, the question "can we do this in the allotted amount of time" still gets asked and answered. What agile got right is realizing that the error bars increase superlinearly with duration, and that scope…

This is the definition of Agile, the officiak one: https://agilemanifesto.org/

Re: What distinguishes great software engineers? (2019) [pdf]

#18

Great software engineers know not to create PDFs when HTML works fine.

You guys can't take a joke can you? You should read the rules for why or why not to downvote stuff. This sort of "not what I personally want" nonsense is not what the feature is for.

This is exactly why I barely ever post or comment because of the massive "downvote squad" that is hacker news regulars.

Re: What distinguishes great software engineers? (2019) [pdf]

#19
Imo great engineers produce a lot of good to great quality work fast. They care about the big picture and get involved with the actual domain they're working in. They see code reuse opportunities and friction company wide vs only whatever team they're on. Great software engineers will write tools, packages, and guidelines that the entire company can use- not just their small team. They know how to standup to management and produce quality work that users actually want.

Re: What distinguishes great software engineers? (2019) [pdf]

#20
post #2

I'm surprised there is no reference to time estimation. An important part of their role is estimating how long a task will take to complete, and I've found many people, even engineers with a lot of experience, are terrible at this.

People in general are terrible at predicting the future... I don't think being clairvoyant is a quality that should be expected out of an engineer or anybody.

This whole time estimation thing is akin to predicting when the next hurricane or earthquake will occur. The main problem is business people don't understand that so they place this unrealistic burden on engineers.

A manager or business guy who needs constant and very accurate time predictions is a sign of a bad manager that is overly reliant on engineers and lacks understanding of software. A good manager should have the technical knowledge to make a technical guesstimate himself (that will also likely be wrong) and have the foresight to be able to manage delays and allow for buffer time.

A great team of people creating a product consists of both great Technical product managers and great software engineers. A rockstar software Engineer alone may not have the ability to manage the politics of unrealistic expectations.

Post reply on HN