Junior Programmer – Dealing with Estimates

estimationjunior-programmer

I have been working for a couple of months now in a company that estimates (for the general population, not juniors specifically) tasks and then we are given the task, solve it, it goes through two tests and at the end the estimate should be somewhat met.

I am beyond stressed because some of the estimates are simply impossible for me to meet. I still don't know the entire system(because it is quite substantial) so sometimes half the time is spent finding out what i need to do and where and by the time I finish sometimes the estimate is over and there is still testing to be done (and correcting mistakes if they were any).

The second time I have to deal with a similar functionality it all works much faster, but so far I feel like I am just bad at programming.

Is there anything you did when you were just beginning that helped you get over this stage? I get so stressed when I see how little time there is to code that sometimes I can't even focus properly at what I'm doing which makes it even worse.

Best Answer

  • Many developers with little management experience estimate tasks using their own velocity or velocity of a "best" developer in a team.

  • Velocity varies with experience. Senior developer can take 3 hours to solve something, when it'll take you 2 working days to solve the same problem.

  • Stress can be rarely avoided when you take up a new job. After few months it normally gets better, assuming you put in enough work and ask lots of relevant questions.

  • Your seniors might not be aware of how you feel about estimates, therefore it's important you ask them what do they expect of you.

From my experience:

  • I think that senior developer or a manager should be able to estimate a user story (business requirement) in terms of t-shirt sizes (XL, L, M, S, XS).

  • It is developers job to break the user story into smaller tasks and estimate those. Large task might take senior developer a day to solve, when it might take you an entire week.

  • It is very important to record how long it actually took you to complete the task.

  • Good project manager or senior developer would constantly gather this statistics. When your productivity improves, they will be aware of it and they will send more work your way.

This will not only make your life less stressful, but it will also allow the department to manage their resources effectively.

Related Topic