DEV Community

Cover image for How to provide estimates as a Junior Developer?

How to provide estimates as a Junior Developer?

skaytech on November 13, 2020

Introduction I recently interacted with a friend who had just started out as a developer and she told me that she found it really hard t...
Collapse
 
_garybell profile image
Gary Bell

Pro tip: guess, double it, add some more. Then be prepared to be waaaay off still.

If it's a sales person wanting the estimate, triple it. They are going to take some off anyway and put you under pressure

Collapse
 
aminmansuri profile image
hidden_dude

Doubling it has worked really well for our teams. We've been able to meet schedules that way.

Collapse
 
_garybell profile image
Gary Bell

It's because people either over estimate their ability, or underestimate the work required. Usually both.

Thread Thread
 
aminmansuri profile image
hidden_dude • Edited

yes it also equals out over many people

but always better to be pessimistic

It's also because even if you know exactly what to do.. you do it in the estimated time, but then the customer asks for 3-4 changes afterwards.. so that doubles the time as well. Also bugs.

Collapse
 
skaytech profile image
skaytech

Hahahaha.. thanks for sharing πŸ˜ƒ

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ • Edited

Simplest and best thing to do is not to estimate. Check out the discussion here: dev.to/carmenhchung/how-to-nail-ti...

Collapse
 
jeffrainey profile image
jeffrainey

I tend to agree but usually provide clients with a ballpark range. I explain that the low number is the minimum effort required and the top one is with some nice features like x and x. As for junior devs estimating, I don’t expect them to. I quote the project for how long it would take me and then don’t bill all of the devs hours since they don’t move as fast as I can. As they speed up, I can start increasing their pay for projects.

Collapse
 
skaytech profile image
skaytech

Thanks for reading my article and sharing your thoughts. Cheers!

Collapse
 
skaytech profile image
skaytech

If you do not estimate, then how do you learn to estimate?

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ • Edited

Your question answers itself - if you don't estimate, you don't need to learn how to.

After a while you will just know instantly for some small known tasks how long they will take. That is not an estimate. For bigger unknown tasks, estimation is futile and purely a waste of time

Thread Thread
 
skaytech profile image
skaytech

But sadly, the larger industry doesn't work that way. In an ideal world, I'll agree with you. But, having 16+ yrs experience in various types of firms such as enterprise, product and startup industry, providing estimates is fundamental part of building software. If you say, it's not. Then it's an exception the norm. We'll have to agree to disagree on that.

Thread Thread
 
jonrandy profile image
Jon Randy πŸŽ–οΈ • Edited

25 years of experience in similar industries says otherwise, but maybe I just do things differently

Thread Thread
 
skaytech profile image
skaytech

Thanks for reading and wish you the best!

Collapse
 
skaytech profile image
skaytech

In fact, I went through the comment chain in your posts. Most of what I would have wanted to counter is covered there. But still, you commented in this section, means you want more views for your content πŸ˜ŽπŸ™Œ and I'm cool with that.

Collapse
 
ferceg profile image
ferceg

I do estimation in about 30% of my working time (it's just an estimation, too :) ), from trivial 0.5hour tasks to several hundred hours projects (client expects everything to be estimated for capacity and scheduling purposes). Sometimes I can use more precise approaches, N blocks x M hours + some slack, testing, communication, etc, sometimes I have to bluff something because noone has any idea how long the task will take, simply there are too many unknown factors (technical or something else). Sometimes I have to send my estimates to be reviewed by other senior teammates. Usually the outcome is OK, we are in an acceptable limit, but sometimes things don't go well. It happens and we have to handle it somehow.

Collapse
 
skaytech profile image
skaytech

100% can relate to it. Just like everything else in life, we learn based on our experiences and I've seen senior developers also struggle in areas that they hadn't worked before for providing estimates. Like you said, sometimes it's an educated guess. Sometimes, it's about breaking things down and adding values against it. Thanks for reading ☺️