Hacker News new | ask | show | jobs
by gnulinux 2780 days ago
I'm a junior software engineer. My role in projects is usually optimizing pipelines for scalability, latency etc (though, I do occasionally implement new features too). I work in languages like python, SQL, C etc. So far in my career absolutely none of my estimations has been accurate. My underestimations/overestimations can vary a few days to a few WEEKS! Sometimes, I do some system analysis, find bottlenecks, develop heuristics to optimize those bottlenecks, implement the optimization but later find out now something else bottlenecks the system in a way it's almost as slow/unscalable or the optimization introduces a non-trivial bug. So it takes another round of analysis and optimization. I don't know if I'm just a trash engineer or estimation really is an extremely hard task.
2 comments

It's really hard. And strangely it can be easier to estimate a new project (that's similar to something you've done before) than optimization or bug fix projects. Known unknowns vs. unknown unknowns and all that.

Estimates in general are hard - I've had clients break everything down into micro chunks and estimate to the hour, and come up with a total ~100 hours. When I try to gently remind them that the last similar project took three months, there's generally push back. But if nothing changes in the approach, it generally takes about the same time.

Don’t blame yourself. Estimation is extremely hard.