Live data from Hacker News

Always Do Extra

bennorthrop.com

41–50 of 129 posts

Re: Always Do Extra

#41
Oh, God. This sums up one of my coworkers. Smart, productive, generates lots of LOC that almost always do the right thing, but oh my God, the "Extra." Dig into any of his code and you'll always find something Extra, like the front end is built in SomeObscureLanguage.js, or the business logic is expressed in a custom DSL implemented by macros, or some piece of the app seems to be mysteriously absent, until you discover it's injected via a custom plugin for the build tool.

Everything he does can be theoretically justified by DRY or some other principle of software engineering (it's almost always DRY, and when it isn't, it's type safety) but the payoff for the extra complexity is always an order of magnitude away. Like, the custom build plugin would make sense if we had a bunch of apps that were structured the same way, but we only have one. The custom DSL for the business rules would make sense if there were a hundred rules, but there are only a dozen or so. Using SomeObscureLanguage.js might theoretically (for the sake of argument) give us an edge that would be worth it if this were one of our reputation-critical consumer UIs supported by dedicated team, but it's an internal tool, and the bugs never get fixed because there's only one person who knows SomeObscureLanguage.js, and he's always doing something more Important.

I don't disagree with the article. Extra will distinguish you more than More, and if done right, it can speed up your team. Just be sure that all the Extra you do makes your teammates Extra productive, and that you aren't adding Extra burdens that slow everybody down and make software development Extra responsible for the slow pace of launching products for new markets.

Re: Always Do Extra

#42
post #39

Not unless I'm getting paid or recognised in some other way for going extra mile. More often than not no one (bug some rare customer probably) gives a damn about you going extra mile. Often it is actually punished, not directly but I've had plenty of examples when people instead of doing extra ventured into doing some fun shit for other teams and uh-oh, cross-team impact, here's your promotion while your actual team…

:) There will be recognition if you perform tasks that continually uplevels your team. There is only so many buttons one can push in a day (doing more). What the author calls "Extra" is often called "Glue" work (think improving test coverage or isolation, creating a bank of interview questions, improving onboarding documents).

If you ask for "money first", response will often be "IDK, we're not too sure about that". If you improve the organization, there will be money & promotions. There will be a gap in this reward.

Re: Always Do Extra

#43
I feel like the people who do "extra", never feel like they're doing extra, they feel like that is part of the job.

The example of "creating two screens", you make the screens, and then look at them and think...is this the best I can do? Is there a better way to protect the security? Is there a way I can reduce the boilerplate? Can I refine this so it's easier for somebody else to maintain later?

That's the job, as far as I'm concerned. It's the same in many other professions.

I like Ryan Holidays perspective on this in Perennial Seller. As a writer, you're not done when you write the chapter. That's the start, now you've got editing, and re-writes, promotion, sales...that's the work.

Re: Always Do Extra

#44

Does anybody have good examples of 'extra' work they've done? I agree with the author's assertion that doing extra benefits one a lot more than baseline or more work. It's essentially a way to inject creativity and studying into one's normal work, as opposed to just flat-out working on a different project or straight up studying documentation. That comes with the benefit of being able to show it off in various ways t…

On the topic of 'looking around for potential improvements/optimizations': I pretty much eliminated my team's several-GB memory spikes we got from time to time. We all knew they were a problem from our dashboards, but no one investigated it, or wrote a ticket for ourselves. I felt curious one day during some downtime @ work, checked logs, debugged locally, and submitted a tiny patch with pictures of the memory savings during a single test run.

Re: Always Do Extra

#45

> It's never something we need to hide, but instead it's something we're eager to share with our teams - ala "hey, I did some research on X, and maybe this is something that could be valuable for us to try". I'll give good odds that in most shops, if you pull this line more than a couple of times, your management chain is going to decide you aren't picking up enough work in sprint planning...

I think the author needs to elaborate more on "extra". I've been on both sides and I know what Ben is referring to.

This isn't about showing off so that your boss thinks you're not busy. I think OP is trying to encourage people to care about their job to the point where they want to do it better.

I think what he means is: doing extra is insurance. It is knowing your job more than just punching a clock and getting the sprint done before going home and drinking. It is engaging in your task deeply so that you can do it better, whether that means architecting defensively, or being more nimble when something blows up because you went one step further and know it better.

I've had programmers that look at their sprints, see they have to do Task A, B and C, and do exactly tasks A, B and C. No more, no less. That's fine. That's better than doing task A and being overwhelmed (or whiny).

But some programmers do A, B and C and then look it meta-task D that is a "why A B and C?" task. They then see those tasks in a more holistic fashion.

No one ASKED them to do that. They took the initiative.

Those folks get promoted.

No one gets promoted from doing A, B and C and that's it. That's called status quo, or simply, "Doing your job." That's why your paycheck clears.

Sorry, but that's how it works.

Re: Always Do Extra

#46

> It's never something we need to hide, but instead it's something we're eager to share with our teams - ala "hey, I did some research on X, and maybe this is something that could be valuable for us to try". I'll give good odds that in most shops, if you pull this line more than a couple of times, your management chain is going to decide you aren't picking up enough work in sprint planning...

It depends. "Let's change to " is annoying. But if you do a little more research and reframe the problem to make it simpler, that's just good senior dev work. Understanding the problem and finding what the business really needs instead of diving in.

That sounds like normal work to me. Identify business value, communicate, prioritise, build.

Re: Always Do Extra

#47

I feel like the people who do "extra", never feel like they're doing extra, they feel like that is part of the job. The example of "creating two screens", you make the screens, and then look at them and think...is this the best I can do? Is there a better way to protect the security? Is there a way I can reduce the boilerplate? Can I refine this so it's easier for somebody else to maintain later? That's the job, as f…

If you follow this path, I think it's important to remind yourself that you're doing extra, otherwise you might just forget that that's one thing that separates you from many of your peers. It can be an important point of pride and continuing growth.

Re: Always Do Extra

#48

> It's never something we need to hide, but instead it's something we're eager to share with our teams - ala "hey, I did some research on X, and maybe this is something that could be valuable for us to try". I'll give good odds that in most shops, if you pull this line more than a couple of times, your management chain is going to decide you aren't picking up enough work in sprint planning...

> I'll give good odds that in most shops, if you pull this line more than a couple of times, your management chain is going to decide you aren't picking up enough work in sprint planning...

If planning is very top/heavy and ticket centered, that's a red flag for the organization.

Re: Always Do Extra

#49
post #33
post #14

Earlier quoted context omitted.

Yes, and the next time a 50-hour task comes up, they'll expect you to do it by tomorrow. The problem with faking your way into being a 10x rockstar is that expectations grow faster than compensation. The other problem is that if you can't sustain the pace, you're going to burn out and your life will be utter crap.

Either I, too, faked my way into being a 10x rockstar, or expectations always grow faster than compensation.

> expectations always grow faster than compensation

They always do, especially if you never switch jobs, but there's no need to unsustainably accelerate this process.

Do good work, don't burn out, get paid. Keep things simple.

Re: Always Do Extra

#50
Never do more. Never do extra. Always do less.

Still homeworking? I recommend playing the piano for the rest of the week after you finished your properly overestimated tickets. Any other instrument will do. You can also cook one new dish a day, work out or learn any other new hobby! Feeling uninspired? Just clean, do a spa day or watch tv.

Trapped at work? Read a book! You could also try audio books if reading isn‘t your thing.

It‘s important to always overestimate tasks and blow them out of proportion. Have careful conversations with team members to encourage them to overestimate and teach them this skill. Keep 10x rockstar developers out of the team, if at all possible. Be an inspiring leader to help manage the worklife balance of your teammates!

Never forget to prepare something to say in the standup for every day. Do more work at the beginning of the week.

You will pick up new skills this way and have lots of things to talk about.

Post reply on HN