What distinguishes great software engineers? (2019) [pdf]
11–20 of 174 posts
Re: What distinguishes great software engineers? (2019) [pdf]
#12Re: What distinguishes great software engineers? (2019) [pdf]
#13I'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]
#14Earlier 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
Re: What distinguishes great software engineers? (2019) [pdf]
#15Earlier 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…
Re: What distinguishes great software engineers? (2019) [pdf]
#16Earlier 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…
Re: What distinguishes great software engineers? (2019) [pdf]
#17Great software engineers know not to create PDFs when HTML works fine.
Re: What distinguishes great software engineers? (2019) [pdf]
#18Great software engineers know not to create PDFs when HTML works fine.
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]
#19Re: What distinguishes great software engineers? (2019) [pdf]
#20I'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.
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.