4

Background:

I am a mid-level developer at a large company.

My company uses a ticketing system to track our progress on issues. Each ticket has an estimated amount of time assigned to it from one of the lead developers, probably in order to make sure we don't waste too much time on any single issue.

Every developer on my team, from Sr. to Jr., use this system to track their progress/what they're working on.

Problem:

On average, I finish tickets in 1/3 or even 1/4 of the allotted time for almost every task. I've noticed that everyone else on the team finishes at roughly around the estimated time given for the task.

I am honestly not sure if some people are truly struggling to complete their tasks on time, or if they are just lounging around because they have the extra time on the tickets.

I am too afraid to ask any of the other developers on the team.

Question: How obligated am I to actually finish my tasks in the time it really takes me? Could I ethically use the extra time to myself, say go for a walk, browse the internet..etc?

I've already technically chosen a path for this dilemma. I complete tickets in the actual time it takes me, submit it to the lead developer, and receive more tickets if I run out, which happens a lot. Over time, I have gained trust from the Sr. devs and am now trusted with the "complex" issues, and sometimes the Sr. devs pass along their own issues onto me when my plate is empty and they're falling behind. I still finish these tasks rather quickly (way ahead of schedule).

As a result, my team has shown a lot of appreciation to me, the higher ups have noticed and given me lots of recognition, and I even received a couple of small bonuses for my work.

Still, I'd like to know if it's the "right thing to do" to take some of the extra time and relax.

1
  • @JoeStrazzere Mostly fear of coming off as "braggy". It's hard to not say "does it really take you this long to do x?". That feels condescending.
    – Programmer
    Jun 28, 2019 at 11:21

4 Answers 4

12

The "right thing to do" is to take the time you need to do your tasks in a complete and sustainable way.

This means that you don't stay till 10pm every night trying to get more and more done - this is unsustainable, you'll burn out and your company will lose you which is bad for you both.

It also means that you don't say "wow, there's 6 hours left on this estimate, guess I'm going home at lunch time and coming in late tomorrow". When a task is complete you start on the next one.

However there's nothing wrong with taking some time to make sure you're relaxed and focused. Taking 10 mins to get a coffee, or 30 mins to have a walk in the fresh air when you're feeling overwhelmed or stuck can (counter-intuitively) actually make you more productive as a knowledge worker.

As long as you keep churning through your tasks without slacking off then a reasonable employer won't mind little breaks.

It would be unethical to pad your time past what you need to be productive, but don't assume that this means the rest of your team is being unethical - people work at vastly different paces, and they quite probably need the extra time. Always assume that your team is working with good intentions unless you have evidence otherwise.

It sounds like you've already got a good ethical compass, so keep doing what you're doing.

5

You've given us some clues as to what's going on here.

You say that other devs, including seniors, give you work to do when they fall behind. You mention that you've gotten praise from the other devs, including higher ups for the quality of your work. You have earned the "right" to work on complex issues.

This is not a 100% guaranteed analysis, just what seems to be the case from what you mention:

It sounds like the other developers are using their time to work on the problems, with minimal breaks/"goofing off". The seniors/leads are doing complex tasks that take them more time than what is allotted and so they run out of time. This is why they hand it off to you.

Juniors might be goofing off some, but most likely they are somewhat struggling to make the time limit for the task.

Since you are able to easily complete your work in a faster way, while maintaining high quality, you might be better than some a fair amount of your co-workers. Just don't let this go to your head.

Unless the time frames are really padded in and of themselves, this is a time for you to shine. Take only the time you need to complete the work, with adequate breaks, and show your leads/seniors/bosses what you can do. Don't push it in their faces, but don't just hide away while you churn through 2-4x the amount of tasks others can do. After a while (1-2 months maybe), bring it up in one-on-ones and definitely in your yearly employee review (if you have any of these, if not, schedule one). Mention how you feel about the times on the tasks in a way that prevents them from trying to shorten the time for others.

Don't overwork yourself, but this would be a great way to move yourself into a senior or lead role. This has pros and cons. Pros would probably include more pay and time off, while cons could be more management duties. You may also be tasked with training others with your "shortcuts"/techniques, or whatever else you do, if it's even trainable. Maybe you're just smart and can see solutions quicker than others.

If your employer starts taking you for granted, feel free to push back on it, asking for promotions, more benefits, and more money. Make sure you are getting what you need out of the job as much as they are getting out of you. At the extreme end of you becoming overworked and under appreciated, you'll need to find a new job, but you're nowhere near that point yet. I only mention it now because there's a good chance it'll happen in your career, and the sooner you watch for it, the sooner you can correct for it.

There's another thing to consider: interest. If you are not using all the prescribed time to work on the tasks, then you are likely to get bored with the job. You'll end up on non-work tasks and maybe even "caught" at it, so that you get in trouble for it. Do the work in a constant manner so that you aren't distracted and bored.

My point is: you should work hard for your employer to advance your career for yourself and your family. At the same time, don't overwork yourself and don't let people take advantage of you.

3

Research has shown that the "performance difference" between the high and low end of a job grade or salary band can be as much as an order of magnitude. Typically when you're at the high end of your band, performance-wise, that you're due for a promotion if you have the next high band worth of skills. That's the background.

The short answer is that you do your assigned work, with quality, in the amount of time it takes. If you finish early, you grab another "ticket", do that one, lather, rinse, repeat.

Productivity differences between skill and experience levels is pretty well understood, and a highly experienced lead developer will be able to accurately estimate the amount of time it takes someone of some skill level to do a task. I was in a staff meeting yesterday, talking about a new platform architecture, and I gave an estimate out of thin air. We discussed it and in about 5 minutes time everyone agreed I was correct. But then, I've been doing that kind of thing for about 25 years. I've gotten really good at making things up.

It's equally likely that these lead developers have noticed that your throughput is better than your peers. It's also equally likely that they've talked to their bosses about getting you "something". You have their attention and perhaps it's time for the "what else do I need to do to get your job?" talk.

What you've described so far is how career development works. I have other managers show up at my desk and ask me off-the-wall questions. I have 2nd line managers do the same thing. I do good work (I hope!), and people notice, and I get paid well. And I didn't get here by staying until 10pm every night. Though there are times when I do that. And that's what you'll eventually do if you want that next promotion -- you take responsibility for Getting The Job Done. I do step out of the building and walk around the block sometimes. I also hang out with developers from other departments and keep in touch with what's going on.

So ... you're doing all the right things, it's just time for that "what do I need to do to get your job?" talk with one of those senior developers who think you do good work.

Best of luck.

2

Didn't you answer your own question?

As a result, my team has shown a lot of appreciation to me, the higher ups have noticed and given me lots of recognition, and I even received a couple of small bonuses for my work.

The allowable thing to do is accomplish the work assigned to you.

The "right" thing is to do as you're doing, assuming you're doing it under normal conditions, not excessive hours, etc. You're seeing the results. You're moving ahead of the others. From there, it's a matter of your employer doing the right thing. You're demonstrating yourself as a high performer. Your raises and promotions should be demonstrating this beyond "a couple small bonuses."

Also, make mental notes around how you are outperforming, especially stories you can pass along. When it comes to review time, use these support. If it doesn't pan out, use these stories in interviews.

I've seen anecdotally and often heard of studies supporting the idea that a really gifted developer can be many times more productive than low-to-middle range developers. You may well be one of those. Keep doing it and don't be afraid to promote yourself--when the situation calls for it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .