
Ask HN: How do you decide when you've done enough work for the day? - zzaip
I&#x27;m a relatively junior software engineer, a little over a year out from university, with a cushy remote job working for big-co. And I <i>never</i> know how much work to do on a given day.<p>Right now, my daily rule of thumb is to try to have my butt in the seat for ~8 hours. I clock out at 6 and stay disciplined so I don&#x27;t end up overworking as many remoters do. The main disadvantage of this strategy is that it just doesn&#x27;t align with the reality of the job. Some days I work on something complex and want to work more hours, while others I&#x27;ll knock out a few small things and want to call it early.<p>Strategies I&#x27;d like to use but can&#x27;t:<p>- Show up and leave with my coworkers. We&#x27;re a remote team, and have a few serious workaholics on the team (not to mention the issue of timezones).<p>- Leave when I&#x27;ve done my tasks. This might work if we had actual sprints. Our reality is an endless stream bugs and features for us to work on before we launch our product, and we just grab tickets as they come. Hopefully this improves after launch.<p>What do you do? I want to do enough work to feel good about myself, without burning out. I have very little supervision from management, my coworkers seem to respect and like me, and I am generally productive. Help me, HN.
======
cimmanom
How strict is your employer about butt-in-seat schedule?

If you have full flexibility, I’d suggest aiming to hit 40 hours on a weekly
basis rather than 8 on a daily basis. That gives you the flexibility to work,
say, 10 hours one day because you’re really on a roll, and to stop at 6 hours
the next afternoon when you’re tired and distracted without feeling guilty.

Don’t go over 40 hours on a regular basis. That’s a recipe for burnout. A week
of crunch time every 3 months is one thing. But regular 50-hour weeks aren’t
sustainable for most people.

I’d also suggest setting goals in the morning for what you want to accomplish
in a day. Put down your work when you reach the goal, unless you’ve got
several more hours in the day. In that case, set another goal for the
remaining hours. If it becomes clear that you won’t reach your goal within a
reasonable number of hours for the day, put your work down whenever you hit a
stopping point close to the time you’d planned to wrap up for the day.

More experience should help you make increasingly accurate estimates of what
you can accomplish in a day, so you’ll hone this process as time passes. Plus
it’s great practice at estimating, which is a difficult and valuable skill.

It’s unusual to hire junior engineers fully remote in part for this reason:
more experience in a “typical” work environment give you more context for
these sorts of judgement calls.

~~~
Terr_
From my own experience, burnout is primarily _emotional_. Time spent is a
side-effect.

It's not how many hours you work, it's how much of your experience involves
despair, frustration, and resentment. That might either be towards your
employer ("stupid schedules, I'm not valued"), towards yourself ("this should
be easy but I'm failing"), or towards the universe for simply not being the
way it "should" be.

~~~
dstick
Amen. Working on my own products has never caused any kind of fatigue. It’s
energizing :)

~~~
codewithcheese
I find there is inevitably still tough days working for yourself on a project
that takes more than a month. Overworking can lead to losing sight of your
goals which can lead to burn out.

~~~
dstick
Fair enough! Breaks and structure remain important.

I wake up every morning at 5:00, do some excersises, write down my goals, do
pushups until I can’t any more and then process all emails from the past 24
hours. Once that’s done I set a todo list for that day and push things forward
that aren’t a priority.

So far, this ensures I’m able to stay on top, don’t lose track, can work 10 to
12 hours a day easily and not feel tired or unproductive.

There’s still plenty of time left for “life” as well. Just have to be in bed
at 22:30 at the very latest.

Setting goals, cooking every day and adhering to that routine works wonders to
be honest, I highly recommend it :)

~~~
codewithcheese
Ok I can see why you don't get burnt out much. I don't exercise and go to
sleep at 4am lol

------
csel
This is what works for me.

1\. Start the day with a plan (15 to 30 min)

2\. List things that, absolutely, need to be completed

3\. List things that would be great if can be completed (bonus)

4\. Have a set time when you are going to finish work. For me, 6pm. So when 3
or 4pm hits and I still have 1 or 2 things from my list #2 above, I get on it
right away. That also helps me to stay on track whenever I am in meeting or
unexpected phone call etc. Excuse myself or end the call quick so that I can
get back on track.

It sounds very simple but it has helped me feel accomplished when I end my day
at 6pm. Feeling accomplished for the day is very important for me. I usually
hit the gym at 7pm and if I don't feel accomplished, I end up having a sucky
gym time. A good gym time, run or outdoor activity, helps to set the tone for
the rest of the night. If I am working on a side project, I usually start
working again around 10am and stay up until 12 or 1am latest. Rinse repeat
until Friday.

So MY short answer to "How do you decide when you've done enough work for the
day?" = When you feel "accomplished" for the day :)

~~~
spectre256
Starting with a plan has been absolutely essential for me.

This year I started a business which means I work full time from home (or a
nearby coffee shop), because my co-founder is in a different city and
timezone.

While I've worked part-time remote and on distributed teams before, the lack
of structure from being your own boss has been a huge change. A blessing and a
curse to be sure.

When I start the day without a plan, even if I "get lots of things done", I
feel stressed all day and am almost certainly not effective.

------
peterkelly
If I'm in the flow, I just keep going. My only hard-and-fast rule is that I'll
stop if it gets to about 4am, because I find it very difficult to get to sleep
if there's sunlight outside. I haven't always been this disciplined and
sometimes used to go right through until I dropped from exhaustion, but
discovered that was unhealthy.

Having said that, I almost never get started before midday, and often it's
only in the early afternoon or sometimes even the evenings after a lot of
online procrastination. I have some days when I'm _extremely_ productive, and
others where I really just can't get into the zone to do much of anything at
all. In the latter case I'll just write the day off and try to make something
of it in terms of relaxing. I make no distinction between weekdays and
weekends, so I'll just work whenever I'm in a productive mood.

I'm also a remote worker; my client is on the other side of the world, and I
bill by the day. So I have a high degree of freedom over which hours I work,
and to a certain extent, the amount of days I work each month.

Butts in seats and meeting a quota of 8 hours a day is entirely pointless, and
serves neither you nor your employer. The only things that matter are, in
order: 1) your health & work/life balance, 2) the value you bring to your
employer.

~~~
emp_
Amazing how I wrote this post without typing anything in it, I bill by
estimate so if something is estimated 40 hours and I do it in 2, I can get
more work or just chill, I usually book my time around 200 "hours" a week and
some good weeks I work 18 real hours and the bad ones around 70, pays
extremely well but has very little margin for error so the bad weeks have to
be rare. I had 18 straight months of good weeks and now I'm in a 6 week streak
of bad ones, great/awful clients make or break this system.

~~~
yurishimo
How do you handle deployments on those "40" hour projects? I understand that
you provide that much value, but it the client thinks they are paying for
hours, even if not directly, seeing a contractor push code in 2 hours and then
bill me for 40 has to hurt a bit.

Obviously if your estimate is devoid of any hourly numbers, this conversation
is moot.

~~~
emp_
Those are closed price projects, they do use hours for reports and all but its
really a fixed payout for a fixed amount of features.

------
arandr0x
What's going to happen to your life is you're going to learn what other
people's natural speeds are, what yours is, and what is needed for your
specific job, and you're going to have a much better barometer for that.
That's going to happen naturally over the next 2-3 years.

In the meantime, you can:

* Try to incrementally improve. Keep a daily log (wish I had started this my first year), write down your stupid mistakes, false starts, other things. Re-read entries sometimes. Try not to make the same mistake twice and to be doing more complex tasks over time.

* Do the "butt in seat" thing without beating yourself up. A good one is to try to work ~40h a week (even 35), except if you can see an immediate career benefit not to by working the extra hours on a side project or stretch assignment. It doesn't have to be 8 hours every day it can be 12 on one day then 4 the next. Log your hours (remote people should always do this) and note patterns. For example, if you are consistently working less than 40h, try working harder, more than 40h, reconsider your approach or appeal to your manager.

* Ask for feedback. You can set up a meeting with someone (for example lead, manager or just someone more senior you work with) and ask "what do you think I should do to be more useful to the project?". Alternately you can wait until a more social occasion or a lull when working 1:1 with someone and just ask "so how do you think the project is going?" If they think you have a time management issue, they'll tell you, if not, you're good. Side note, you may hear stuff like work on your soft skills, have better work life balance. It doesn't strictly mean "work less" but it means your coworkers think you're too focused on individual achievement.

------
Bahamut
This is something I generally recommend to juniors, which goes against a lot
of advice I’m seeing here - spend more time learning if your work is all good
for the day. Early on, it is important to ramp up to get to senior as quickly
as possible. If you don’t, you risk having trouble if you get laid off for
whatever reason and need to ramp at a new job with a new codebase. I generally
recommend doing around just under your max focus abilities - enough to push
you hard, but not to the point where your mental health suffers.

Once you get to senior, your job prospects will reflect how quickly you got
there - the quicker, the better opportunities you get, which has a cascading
effect on your entire career.

I have seen junior devs fall into the trap of taking the job for granted, and
run into trouble searching for new jobs - you don’t want to be that person.

------
codingdave
Most employers who are mature enough to support remote work are also mature
enough to understand that you are paid for the value you deliver, not the
hours you spend starting at a screen. I made my decisions accordingly when
working remotely. I would spend the bulk of normal working hours on work...
but if I had to think out a problem, I'd go for a walk or clean the house
while thinking. I'd also lay out some goals for the days that felt reasonable,
and if I got them done by lunch, I might relax in the afternoon... but if I
was still working on them at dinner, I'd keep working til they were done. I
also worked harder on the days when I was in the zone, and didn't waste my
time forcing it on others days. Over time it all balances - even though no
single day matched expectations from an office job, I delivered results.

------
papacuppa
A lot of good answers but I'll throw mine into the mix. Assuming I know what
the ultimate goal is for what I'm currently working on, the day-to-day becomes
working towards what I call momentum tasks for the next morning. The start of
the day is when I'm at the highest risk of being derailed, so super easy tasks
are paramount. So before I wrap up for the day, I'm making sure I'm stopping
at a point where I know - and perhaps am excited - to continue the following
day. I never stop at an impasse, personally. That means I can sometimes put
extra work in, but generally I come up with momentum tasks quite intuitively.
I'll write my todo list before going for a 5k run after work [typically ~5pm
to reset my brain for relaxing a bit, and often get ideas for how to overcome
larger challenges that comes with the concreteness of thinking about momentum
tasks. I find self-set constraints really helpful in my productivity. I am
generally a pretty boring person, though, so it suits my personality. Just my
2 cents.

~~~
bo1024
> I'm making sure I'm stopping at a point where I know - and perhaps am
> excited - to continue the following day. I never stop at an impasse,
> personally.

This is a very nice trick, and one that's less likely to happen by accident if
you set your own hours.

------
userbinator
When the end of the day approaches, start finishing up whatever you were
working on, and mentally prepare for what you'll be doing the next day. Then
forget everything until tomorrow morning.

There's a huge amount of variability between developers, so don't think that
the "workaholics" doing 50+ hour weeks are necessarily being more productive
than you; unless you actually compare, they could really be struggling and
just trying their hardest to keep up with everyone else. In the past, I've
solved problems in _minutes_ that someone else on the team had spent many
long-houred _weeks_ and eventually given up on.

~~~
thrower123
> When the end of the day approaches, start finishing up whatever you were
> working on, and mentally prepare for what you'll be doing the next day. Then
> forget everything until tomorrow morning.

Be prepared to either let go of whatever plans you have made, or to stash them
in actionable form in longer-term storage for a rainy day, in the event that
you start work the next morning and are thrust into reactive triage mode. It
can be immensely frustrating if you are anticipating and have expended mental
energy planning tasks A, B and C, and attempt to juggle completing them with
surprise Sev 1 priority tasks X, Y and Z.

------
EZ-E
Try to know how many hours of "deep work" you can do before losing steam.
Usually it's ~4 hours, once you get past that point, do some tickets that are
not too demanding, and preparation for the next day. That should be around 6
hours of work and that's more than enough, almost no dev does 8 hours of solid
work a day, a part of it ends up being browsing the internet and reading
articles.

------
TallGuyShort
I'm remote and have been prone to workaholism in the past. Here are my
techniques:

\- I do track my progress on key long term objectives. If I'm getting behind I
need to know, and burn the candle at both ends until I catch up. This should
be rare.

\- I try to set a daily goal or two of stuff to get done to make sure I stay
focused on something productive and don't get distracted with yak-shaving or
non-work.

\- I stop hourly-ish and assess what I've achieved in the last hour. Sometimes
I'm just not getting anything done and I'm better off calling it a day to get
some real rest and diversion.

------
a-saleh
Best thing in my opinion is to have something external that limits your
schedule.

For me and few it of my coworkers it definitely were our children. I know I
want to be at home by 18:00, so that I can have dinner with my family. One
colleague was starting at 7:00 and and finished by 15:00, because he was
pisking up his kid from preschool at 15:30 most days :)

I am not suggesting for you to get a kid :P but knowing that every day I want
to end by $HOUR because I have a $THING does wonders :-)

------
bbbobbb
This of course depends on the flexibility of your working hour window. I see a
lot of fairly complicated answers but for me, having a simple punch clock app
so that I know exactly how long I have worked for the day, every day, works.

Some scenarios with my approach:

1) No flexibility, chair sitting required from 9 to 5.

With paid overtime, I would be there for 8 hours and never 10 minutes longer,
unless the project was ending in two days and was not finished or the
production was burning down.

Without paid overtime, I would be there for 8 hours and consider staying a
little longer if production is burning down.

2) Flexible (meaning it does not matter if you work from 8 to 4 while skipping
lunch, 10 to 6 or you don't show up at all - this is my situation now).

I will still track my time down to a minute. The overtime rules stay (unless I
am really having fun with something and know I will get paid 150% of hourly
for it). As for daily hours - usually I will work longer hours whenever
required (within reason), at least at the beginning of the month.

Since my hours are flexible and I know exactly how long I have worked so far,
I can easily stay there for 9-10 hours one week and leave after 6-7 hours the
next, depending on the workload / situation.

I have noticed that some people, unless they are contractors with billable
hours, look down on tracking your time or "punch clocks" as if it is beneath
them. For me personally, it brings me the peace of mind. I don't have to ever
debate myself whether I am working too much or too little since I have the
exact numbers.

------
Vinnl
This is really dependent on your employer's attitude. What worked for me,
though, when working independently, is:

\- Start the day by making a list of tasks you can do that day. You don't need
to finish them all, but there should be no moment that you don't know quite
what you could pick up. \- Then work using the Pomodoro technique: alternate
25 minutes of work with a 5-minute break, and every fourth break is 15
minutes. In those 25-minute sessions, do not e.g. check Hacker News, and in
the 5-minute sessions, do not work. \- My day was done when I finished 12
"Pomodoro's", i.e. did six hours of productive work.

I was way more productive than I was when I had to go to the office, yet had
more spare time. I guess that helps: if you can compare it to going into
office, you feel less guilty for fewer hours butt-in-seat if you're getting
more done.

Of course, things like meetings can complicate this.

------
reificator
> _This might work if we had actual sprints. Our reality is an endless stream
> bugs and features for us to work on before we launch our product, and we
> just grab tickets as they come._

> _Hopefully this improves after launch._

It won't. It will improve after you or more likely someone more senior stands
up and does something about it. Which requires buy-in. Which is much harder to
get in a highly remote team IMO.

Or it will change when you find another job that already matches your
criteria.

------
jypepin
we as human are expected to stay 8hrs in the office because that's what our
culture says: 40hrs a week is a normal work week. But if you analyse what we
do in the office: barely ANYTHING.

My advice to you: As a Junior, you should expect good mentorship and support
from your more senior peers and your manager. So lean on this. Make sure that
the expectations between you and your manager are clear. Ask your manager the
productivity he expects you to have. What tasks are expected to be done either
daily, weekly or in the sprint. Try to see also what other engineers of your
level are accomplishing. Once this is a little more clear to you, then forget
about hours, butt in seat, etc. Do those tasks and find the sweet spot. If the
expectations take you 1hrs/day, take a little more work, because performing
better than expectations will make you feel good and motivate you (and
probably be good for your career). If it takes over, say, 4-6hrs/day, the
expectations might be a little too much, or you might need to growth a bit
more and learn how to be more productive.

------
grigjd3
You're a junior SE and working remote? Yikes. I'd want others around that can
help me out. So simply fixing bugs and adding features is a junior dev kind of
task. Prioritization, understanding the business need - that's how you
differentiate yourself at this point. It's not about hours worked but about
identifying what is and what isn't as important.

~~~
OJFord
Junior at big-co has a say in prioritisation and business need?

~~~
grigjd3
If you have a good manager or reasonable people on your team, you'll be given
chances to see if you stay in the rails.

------
annywhey
What you are looking for here is primarily a feedback mechanism issue. This is
something that is a _hard problem_ , since good, useful feedback is never
quite as simple as just asking someone. Employees are looking for it. Managers
are looking for it. Executives are looking for it.

With respect to work time and workload there's always an element of presentism
- if "enough" surfaced activity happens over the course of each week and the
work is not obviously deficient, then most managers won't ask questions. And
you already know that much, since you had many years of school to get that
idea in your head. And when it's on-site, it's simple to get to that level -
if you're in the office, you're at work, even if it isn't time-on-task.

But there is always going to be a level beyond that, of taking on tasks that
are a good combination of "builds up a career" and "builds up the company" \-
stuff where you can act more independently, and likewise fail independently.
You can easily fall into work that does neither or only one of those things,
or convince yourself into workaholic behavior and sacrifice everything else.
Nobody can offer a clear bright line of "this is the best possible course of
action". But there is a "better" out there somewhere!

So if you can measure yourself by whether you did something of both career and
company and other life things each day, then you already have a more balanced
self-measurement than "quantities of issues" or "lines of code" or "hours in
seat".

------
edoceo
The night before I make the list of the three MUST-DO items, always three.
Once those are done, I can bail whenever and feel good about my work product.

I have a similar expecting from my employees.

These items are the detail, the standing orders still remain (answer phones,
do meetings, email, etc)

------
Bombthecat
How I handle juniors and beginners:

It is ok to stay longer

It is ok to stay longer especially as a beginner. You are in a learning phase.
But still need to do your stuff.

It is also ok to screw up or ask questions.

Never ever go every week over 50 hours. I have a junior right now which works
longer because he sees us working long hours. I will tell him soon to suck it
up and go home on time.

~~~
vidanay
To be honest (not always fair), if someone is working too many extra hours "to
learn how it works", then that says something about the capacity and
capability of the person.

~~~
OJFord
Or the support/documentation/culture of the 'team' or organisation...

~~~
Bombthecat
I work in consulting and in that it is about api platforms.

There is no documentation. Everything is new and unique :)

------
mirimir
I'm not sure what "butt-in-seat" means, unless you're working interactively in
real time with a team, or doing customer support. Otherwise, what matters is
billable time. That is, time when you're actively on-task, and not on HN or
whatever. A reasonable practice is tracking 10-15 minute intervals.

Then limit that to a rolling average of 40 hours per week, or whatever you
like, and can negotiate with your employer.

I've mostly worked as a consultant, so there's been no limit, other than
however close to 24 hours per day that I can handle. And sometimes, with rush
jobs from multiple clients, I've just about maxed. But in that case, I've
discounted work time, especially for clients who weren't pushing as hard.

------
newshorts
Start the day with a plan.

I use the Franklin covey method of listing out tasks ranked by importance
first. Most important have “A”s next to them, then “B”s and so on. Then rank
the list by order, 1,2,3,etc.

List should look like this:

1A - most important fire drill task I need to get done today

2A - def have to do this too

3B - let’s do this after that

4B - blah blah blah

...

This will focus your efforts on being effective rather than efficient.

Then I intentionally detach myself from accomplishing everything on the list.
There will be days when you can’t even get through task 1A so you really have
to be able to cut yourself off and sleep on it. If you get too emotionally
attached to completing the list you’ll experience dissatisfaction. Instead,
choose to value other aspects of your life like the fact that you have
flexibility, family time, good health, etc.

------
sbinthree
I generally try to get as much work done (in life) as I can. Some projects I
can work for 12 hours a day on, others I'm tapped out at 6, so I just maximize
output. If output is below the debugging cost of that code or something, I
stop. Could be 2pm or 10pm.

~~~
zzaip
Do you think this approach applies if you’re trying to save energy to work on
side projects? I feel like if I work as hard as I possibly can at my day job,
at the end of the day I’m not left with much juice left to work on the things
I actually care about.

~~~
grigjd3
This is a place where having an awareness of what is important at your job can
help. You described a process of adding features and fixing bugs. If you ever
want to achieve balance, understanding the value of a feature so that you can
determine what actually needs your time is important. Then, it's not about
quantity of your time and effort that matters, but how much value you are
adding.

------
Ninjaneered
I own a small start-up and struggle with work life balance. I'm a night owl
and generally not terribly productive in the morning, but once I hit my stride
in the afternoon/evening, my productivity continues to increase and I often
find myself plugging away at 3-5am. I have found that it's in my best interest
for throughput to continue when I'm "in the zone", but it does create some
friction with the spouse.

I'm very interested in how to define the "enough work for the day" question.
Or we could just listen to Dan Reeder:
[https://www.youtube.com/watch?v=xNWhiXxdbWk](https://www.youtube.com/watch?v=xNWhiXxdbWk)

------
danielvf
I always stop at 5pm. I take some kids for a walk to decompress. Around 9pm,
after kids go to bed, then I’ll do another hour if I’m working on something
fun.

I love coding, and I would be coding if no one was paying me, but there’s more
to life than just that.

------
scaryclam
If your team are not able to have at least a short term roadmap for planning
your work, then think about assigning points to tickets yourself. Let's say,
you think you should be able to do 5 points a day. If you knock out 5 one
pointers or one 5 pointer, that's your goal achieved, so you can clock out
early if you want to (or carry on if you're in the zone). If you find 5
doesn't fit well (you're working too much or too little for your hours) change
the numbering until it's closer.

Keep track of your progress and you should be able to get more of a feel for
your own productivity (as well as getting better at estimating tasks).

------
sigi45
I get paid for 40h so I do 40 hours.

At the beginning of my career I was probably less active but now I work
better/fuller.

This article remindes me how I wanna be.

[http://bookofhook.blogspot.de/2013/03/smart-guy-
productivity...](http://bookofhook.blogspot.de/2013/03/smart-guy-productivity-
pitfalls.html)

So if I can't anymore for the day I take a break and continue later. Not sure
when I had a time when it was just no longer possible but than I would just go
home.

Also I don't read Reddit or hn when I work. Helps a lot to keep focus. And I
try to work on something else for the company in break time like when a build
is running.

------
molayariasad
To me, it's more about making sure that you accomplish while pushing your
learning curve up. This is easier when you work for an employer, but hard when
you work for yourself as you always want to push more in less time. Another
thing in a virtual work model is to make sure that you are engaged with your
other coworkers throughout a regular basis especially if there are some others
that are not working remotely. I think it's more about making sure that the
team has a good feeling of the virtual model. I wouldn't be too worried about
keep tracking of the exact clock in/out.

------
sxp62000
I spend the first 70% of the work day on hard problems and things I absolutely
have to get done. For me this 70% ends at 4pm.

At 4, I step out for a coffee, stroll around the block and grab a cookie. Then
I come back to my table and reply to annoying emails and tackle the easy stuff
till about 6-6:30.

I never start working on a tough problem after lunch, because if things go
wrong, I end up working long hours and can't get it out of my head even when I
go back home.

By the way, I'm really impressed that many people commenting here can work
6-10 hours at a stretch. I need to stretch every 45 minutes to 1 hour lol.

------
wink
In this past job which was the first one that didn't track time at all, I
still wrote down my hours every day and still tried to balance it to +/\- 0 at
the end of the week, if not possible then end of the month. After a while
(months?) I did what everyone else seemed to do. Just eyeball if it's either
roughly 40 hours per week or if the last days/week was very stressful tread a
little more careful, or if nothing seemed to work and I was distracted make a
mental note to catch up next week.

That said, I enjoyed most of my time there very much and often would be doing
exploratory stuff that I might have done on my own time anyway, so sometimes I
took some extra time to evaluate one more possibility and used some spare
time. Other times I just did some private stuff only veeery distantly related
to actual work stuff and chalked it up as "learning".

So yeah, probably not a really helpful answer. But if you're having fun and
are learning a lot a few more hours won't hurt. If a fun evening of spare time
does not include programming (which I guess is true for at least 50% of
programmers) then don't put in extra time. I think I've mostly done "I have a
guilty conscience if I leave a lot sooner" but I also try really hard to not
slack off during my 8 hours and count them as working hours. And yes, if you
have that "Today I achieved more in 6 hours than the whole last week" then
absolutely stop working, it's probably true.

------
enraged_camel
>> I'm a relatively junior software engineer, a little over a year out from
university, with a cushy remote job working for big-co. And I never know how
much work to do on a given day.

Protip: Optimize for consistent performance. It's better to close 3 tickets
every day, than close 30 tickets on Monday and one or two every other day,
even though the latter scenario adds up to more tickets.

(Obviously, replace "tickets" with your own measure of productivity.)

------
matchagaucho
Using TDD (Test Driven Development) I tend to stop working when fatigue sets
in and I'm tempted to skip unit tests for the sake of immediate gratification.

~~~
cube00
Unless that sweet green bar is your immediate gratification.

------
camgunz
> I want to do enough work to feel good about myself, without burning out.

Two things about this:

\- I think you should be careful of linking your work ethic to your self worth

\- It would probably help if you had a more clearly defined goal.

Common healthy goals are:

\- I want to be Tech Lead in X years

\- I want to retire early at X

\- I want to learn about technology X and work primarily with it, here or
elsewhere

\- I believe in what my company is doing and I want it to succeed

From that standpoint, you can start to tie your behavior to whether or not it
helps you achieve your goals.

> I have very little supervision from management, my coworkers seem to respect
> and like me, and I am generally productive.

I think you should also examine this. Don't let others set your priorities for
you. If your manager or company want you to work more than you're comfortable
doing, find another job. If your coworkers don't respect you based upon how
much or little you work, find another job. If you find yourself not being
productive for reasons like "this is boring", "I don't believe in this", etc.,
find another job. Dealing with situations like that -- while not always
avoidable -- is a short road to burnout.

------
zoomablemind
Feeling good about oneself is obviously very personal. From your post it seems
that you're mostly satisfied with your flow. So your motivation is a key for
the adjustments that you're seek.

If your motivation is about advancing in your career (getting noticed), then
it's somewhat specific to your workplace.

What's it there that gets one promoted? Overwork? Yes-man? Report athletics?
Plain year count?

Either way, being junior you need some feedback from your supervisor, both to
show your progress and to gauge the expectations. There's probably a yearly
review system in place, if not yet. So setting one own goals is a good way to
prepare for a future review.

In a kind of 'conveyor' style of workflow where you just draw tasks from the
stack it may be harder to see the larger project scope. But it's still there.

Your department/team may have commitments, e.g. to reduce the bug backlog, to
deliver features for integration. Basically, it's business goals, larger than
just a personal churn.

Once you understand how to contribute to the team value, you can decide about
how much is your fair contribution.

------
thrower123
When the clock hits 4pm, I have a daily standup meeting. About half the time,
this meeting occurs, and I go home afterwards immediately. If it doesn't
happen, a quorum of people had something better to do. If I don't have
anything actually urgent or interesting, I tend to bail with the others.
Otherwise, I work away until maybe 5:15, then I go home.

I'm basically paid to be on-hand 9-5, so that's what I do. I don't check email
outside work hours as a rule. If there's something technically interesting, or
is important to do but cannot be done within the constraints of a business
workday (basically, anything that involves deep thought, concentration, and
sustained effort), I may choose to do it when that's convenient for me. And I
know things; I remember, and I've been around long enough to know the whys and
wherefores and sequences of events that led up to the present state of things.

~~~
shimon
Not that you asked, but this sounds like a totally dumb time for this meeting.

It creates a reliable interruption, such that if it happens you're likely to
be distracted enough that it isn't even worth trying to get back into serious
work for 45 minutes before you need to go home.

It's also late in the day, so any tasks that come up must pass a high bar to
be actually remembered and resolved. A task must either be so urgent that it
is worked on immediately (and then people will resent the standup for making
them stay late) or so important that it can be remembered the next day. This
means a whole bunch of simple-to-fix issues are probably being ignored, either
by forgetting or just not being raised in the first place.

I'm not surprised that the meeting often doesn't happen. A better time for a
standup is before lunch or earlier in the morning.

~~~
thrower123
I haven't found an actually good time to have these kinds of standup meetings.

First thing in the morning is not good, because it requires people get in in
time, and so it becomes a gate on starting work if you are on time until the
latest person arrives. Also kind of useless to do until the morning email
triage is completed.

Midday doesn't work, I've found, because it is impossible to carve out a
consistent time to meet. External sources always try to clutter up 10-2 with
calls and meetings that involve herding cats and aligning schedules over which
there is little control. Also tends to blow into lunch time and people get
hangry and cranky.

End of the day at least serves as a terminus to the day, and since standups
are mostly useless, skipping it to sneak out and play golf or whatever tends
to be a common outcome.

~~~
shimon
What you're describing is a workplace with a generally broken approach to
meetings. The best thing you can do with standup in this environment may be to
eliminate it, or minimize it as you've described. But there is often a place
for a standup meeting in many work environments, and barring the other stuff
I'd suggest before lunch is a good time - anchored to another interruption
that would happen anyway, and provides an incentive to finish quickly without
making it a hard stop.

------
sunstone
Pedantic guy asks "what is your definition of 'work'"?

The short answer for me is, I've done enough 'work' when my efficiency curve
drops more than 15-20%.

After that though I relax my scanning the latest news, HN and other consistent
sources of interesting and useful new information. Is this work? Actually I
(as in the guy in my brain who uses it when I'm not) often comes up with work
arounds for the local maximum I've often hit in my "real work". Things like a
better way to structure some code, a better way to approach a system problem,
all kinds of useful things pop up from time to time. Really it's a way of
getting out of the rut.

I've come to view this as essential work though it seems like just goofing
off.

Well the Brits have a saying for it. "Bed, bath and bus." That's often where
inspiration strikes when you least expected.

------
lettergram
I'm always objective focused with my team...

1\. we breakdown issues/bugs into 2 - 4 hour increments where we write test(s)
to replicate. Then share with team. Hopefully there can be a fix in that time,
else create a new issue.

2\. we breakdown new tasks into 2 - 4 hour increments with a new
function(ality) + necessary tests

Then we spend ~1 hour a day doing code reviews. Some days I can get through
multiple issues, some days it's just 1. In either case, we can assume 5 - 8
tasks / issues a week are completed. How everyone does it is up to them; so
that's how you decide how much work you need to do.

Unfortunately, estimating can be poor for these tasks, but that's why we time
box it and require a team notification for any issues (plus tests). It works
relatively well, and everyone checks for open PRs or code reviews between each
task -- so blockers don't occur.

I recommend trying something like that.

------
watwut
I thint tgere are two strategies that work.

1.) Keep log of worked hours. When you want to stay longer, whether because
need or because it goes well, stay longer. Note additional hours. Take those
hours back (work less) within next two days or so. That way you will not
overwork your self and will still take advantage of continuous time chunks.

If you are organized person, you can also note how much was "focused
effective" and how much "staring into it butt in seet". I did that in past and
it was eye opening.

2.) Work every day exactly same schedule and live very regular life. This his
frustrating and hard for most people. Anyway, after a while you will codition
yourself to be focused at exactly those times even if you are working on
something big.

Large disadvantage of 2 I'd that you will become overall less flexible person
that way.

------
chrisbennet
Once I get 5 billable hours in the rest is just gravey. I’m a consultant
though so I get paid by the hour.

------
wellboy
Humans work in cycles.

So, you already had the right hunch.

You don't really have a good direction on a random day and can't really get
into the zone? Fix some small bugs for 2h and then call it quits, go to the
gym, drink beer with your friends.

You got that one feature that you know exactly how you build it and you're on
fire for it? Knock yourself out in a coding session of 2 x 20h and take 3 days
off afterwards. Much bette than forcing yourself to quit at 6pm even though
you're burning to do it.

Productivity means taking advantage of the human cycle, which is comprised of
your mood, hormones, the characteristic of your problem and many more factors
that you can't really control.

------
ryanmarsh
Read _Deep Work_ and find a schedule that works best for you. If it doesn’t
work for your employer find a company that it will. You’ll be happier and more
productive.

I have clients for whom I averaged 5-6 hours a day. They saw me come and go
and were happy to pay me 40 hours. I have other clients who act like they
cannot survive without me there 8+ hours a day. For them I get there at 7am
and work till 5. Many days I leave still feeling like I didn’t get to
accomplish everything I’d hoped.

There’s quite a bit of variety in expectations out there. You have to cross
this river by feeling the stones.

------
partycoder
Switching context has a cost. Resuming work has a cost.

If it is already end of day, it may be reasonable to start your next task
tomorrow rather than spending time next morning trying to resume your work.

------
namuol
I try to end my work day right in the middle of "Flow"; especially when I know
_exactly_ what my next move will be.

This has two functions:

1\. Gives me something to jump-start my next day with; I'll be eager to finish
my work, instead of dallying on Slack/email/GitHub.

2\. Keeps me from overworking. It's easy to think you're "being productive" by
pushing lots of code late at night, but at least for me, this is when my
lowest quality work happens as my brain has started winding down. Save it for
later!

------
exabrial
You need to plan. Merely having sprints will not make your days shorter!

Think what's your 1 day, 3day, 5 day, biweekly, monthly, quarterly, yearly,
and 5 year goals for yourself, team, product and company. What unknowns may
influence decisions or are strategies? What assumptions need to be confirmed?
How often are we checking ourselves on our progress? When do we get to change
our mind?Do these things and how much should you with in a day becomes very
clear.

------
mikekchar
As a remote developer, setting a schedule for yourself is really important --
at least when you are getting started. Once you have an established work
pattern that you are happy with you can experiment to see how things work.

I recommend doing what you are doing until you feel like, "OK. I'm in a rhythm
and things are going well." Perhaps you are already at that point.

Next, when you have one of those days where you are feeling good and want to
continue, work an extra hour. Then play with how you are going to use that
hour the next day. Will you start late, or leave early or have a long lunch,
or whatever? Tell your coworkers that you're going to do it. "I worked late
today, so I'm going to X tomorrow". This keeps them informed so that they
don't panic if they are looking for your help the next day.

Evaluate the progress. Did it feel good to you? For example, starting late
does _not_ work for me. I'm a morning person and taking an hour or two off in
the morning means that I will get started on my side projects... and never
stop. Then I end up working my "day job" until midnight --- no good!

Also, evaluate the reaction on your team. Were they OK with your behaviour?
Every team is different. It's important to try to work _with_ the team and not
just stubbornly go your own way. I've worked with people who have the
attitude, "It's my right to do whatever I want. I'll come in at 2pm and leave
at 4pm and make up the time when it suits me". I hate working with people like
that because programming is a team sport and _I_ have to accommodate your
weird schedule.

I work time shifted by 9 hours from the rest of my team. I know it impacts
them and I do whatever I can to help them -- including working late nights
sometimes (even though I'm a morning person). But you do what you can. Some of
my colleagues can't get up early in the morning, so I'm happy to accommodate
them, just like they are happy to accommodate my choice to live on the other
side of the world. There is a give and take there, and as long as you are
aware of it (and not always taking), then I think it's fine.

Deciding whether or not to work late is always a judgement call. My advice is
to consider 2 things.

1: Is it truly and emergency? The server is on fire and you are losing
customers. Somebody needs to work on it. You should stay if at all possible.
_Even staying around to provide moral support for your colleagues can make a
big difference_. Sometimes there is nothing you can do, but if you hang around
and read slack (or however you communicate) and make occasional comments, it
can really help the team. Nothing is more lonely than sitting in front of a
melting down server, not having a clue what to do and everybody has buggered
off for beer.

Sometimes people _say_ it's an emergency and it really isn't. In those cases,
consider the cost of saying no. There _will_ be a cost if someone asks (or
hints strongly) for you to stay and you say no. It sucks. It's not what it
should be. But it's very common. If you can afford to pay the price, then feel
free to draw the boundary. If you can not, then do what you have to -- and
then try to get yourself into a situation where you _can_ afford to say no the
next time.

2: If you just feel like working, then go for it. Keep in mind that this comes
_after_ you have established a "normal" working day for yourself _and_ when
you know how to take back the time later. But stopping yourself from having
fun (even if it's making other people money) is just silly.

Always keep in mind your own health, though. When I was younger, I seemed to
be able to work a lot of hours and still stay very energised. As I've gotten
older, I can not longer do that. I have to pay attention to my energy level,
because a 12 hour stint can wreck me for the next 2 days. That's no good for
anyone.

Finally, I occasionally work a short day when I'm really not on the ball.
Again, I confer with my colleagues before I make any decisions. People know
I'm usually around between 9am and noon their time. Sometimes I need that time
off and around 9am I say, "I'm not getting anything done today, so I'm
thinking about packing it in for the day. Is there anything that somebody
needs me to do before I go?" Sometimes there are _lots_ of things, and I stay
and do what I can -- which is good because that often makes me productive,
when I wasn't before. But if there isn't anything pressing, I'll rest and be
able to do a very productive day the next day. That kind of thing really
depends on the team and the amount of trust everybody has in everybody else.
It won't fly on some teams, but I work with a good team.

------
purplezooey
This is the question of the next few decades. How much do we keep the "x
amount of hours a each day" thing built into our culture.

------
dmourati
Try the pomodoro technique. [https://lifehacker.com/productivity-101-a-primer-
to-the-pomo...](https://lifehacker.com/productivity-101-a-primer-to-the-
pomodoro-technique-1598992730) [https://open.buffer.com/work-
less/](https://open.buffer.com/work-less/)

~~~
13of40
I do this. I also sometimes tell myself that if I can get these - let's call
it 3 - things taken care of I can consider the day a success and leave early.

~~~
bitsquirrel
This is the best way I've found to get things done, with a corollary: spend a
little extra time at the end of the day deciding on what tomorrow's 3 things
are.

------
goatherders
I'm a business owner and I start my day early (5ish). I am usually done around
1 for a few hours then do another hour before bed. As I've grown older I've
learned to recognize when my brain is mush and I've replaced actual work with
the appearance of work. Even when things are going great there is a limit to
what I am capable of each day.

------
harlanji
Have boundaries and respect personal needs. Quit when needs unmet or crossed
enough. Be homeless if necessary.

------
navchatterji
Look up the concept of Flow Theory by Mihaly Csikszentmihalyi. I run a
relatively small Creative Agency called Lazy Eight, where we are experimenting
with 60 hours a month(measurable execution), its been working well so far but
will be interesting to see once we scale a bit more.

------
RickJWagner
I think your approach of 8 hour day is fine.

Add to that anything you feel passionate about-- things you'd learn for 'fun'
and you should be fine. (For me, there are tasks that I'd do even if I weren't
employed at the time. Those are the 'after hours' items.)

------
hobo_mark
I wrote an app for my old pebble watch to display on the watchface how much I
work. Some days are inevitably longer than others but by Friday evening I try
to leave once I clocked 45 hours for the week. Any remaining brain power at
the end of each day goes into side projects.

~~~
zzaip
This is brilliant. Gonna see if there’s an equivalent for Apple Watch, and if
not, write it myself.

------
AndrewHayes
I use rescuetime to track my computer usage and aim for a certain number of
“productive” hours a day. This way I don’t feel guilty for procrastinating or
falling into a hacker news hole, that time is not counted toward the
productive time goal.

------
brentis
Read the Joy of Craft. [https://www.amazon.com/Joy-Craft-Paradoxical-Approach-
Learni...](https://www.amazon.com/Joy-Craft-Paradoxical-Approach-Learning-
ebook/dp/B01CPJ5B9S)

------
marcochavezf
[https://medium.com/@marcochvez/how-i-get-my-workday-done-
in-...](https://medium.com/@marcochvez/how-i-get-my-workday-done-
in-3-or-4-hours-everyday-22b8ded00800)

------
andrewstuart
I know cause I start to get slow at programming and find it hard to solve
problems.

------
sebastianconcpt
Easy. Once I have to do pretrain 30min before training in the gym. Nothing
except exceptional routine change (a short trip) or emergencies would get in
the middle of that.

------
anonu
When it's 5pm...

But seriously, you should have a metric of quality over quantity. If you work
on a team or a highly collaborative environment, the Dynamics and the answer
will change.

------
achanda358
I have a hard stop at 6 PM, and I made sure everyone else knows that. I do
check email one last time at around 10 PM and work on a code review or respond
to a comment.

------
IloveHN84
When I reach a milestone..it can be done in less than 8 hours. If the 8 hours
limit is reached, then enough work is achieved anyway and go home. No extra
hours

------
chkte
Excuse me for the off-topic, but how did you find that job? Junior + remote
seems a very difficult combination.

------
dvh
I try to not go over 20k keystrokes a day

~~~
dmichulke
I hope you don't write java in a text editor

------
Tongueincheek
These days I just do one big idea. If I finish early I might do other smaller
tasks which I don't care about too much. When I was a junior dev I tried to do
a lot of things everyday to prove how fast I am. That worked for the short
term but looking back there are actually very few things which are genuinely
useful. Creating new revenue streams for the company for example.

------
tluyben2
When my concentration drifts too far. I can have breaks in concentration but
when I really start to think about completely different things I call it a
day. That is when doing dev work; for sales/investor/board meetings, it is
just when they finish, which is usually when food and/or drink appears on the
table and people start talking sports.

------
gigatexal
Having had my first tate of work in an agile shop there’s a lot of nuggets of
wisdom here.

------
zzaip
The quality of responses in this thread are why I love HN. So much to chew on
here.

------
amriksohata
When it's 5pm, regardless

------
expertentipp
Once I'm braindead, have stomach ache, become too distracted, etc.

------
Spooky23
Start at 8:30, end at 8:45. If you’re end of day meeting load or other demands
make you stay late, come in later.

The challenge is to get your stuff done in that time period. IMO, if you’re
working more than you are paid to work, you’re a sucker. Direct your passion
elsewhere.

------
person_of_color
How did you get a remote job at BigCo?

~~~
zzaip
Sheer random fluke. Originally I was on a normal team - then that team got
shut down, and I was transferred to a new team that was partially remote.
Management wanted us to go into our nearest office, but it was _far_ and
nobody on the team was there anyways, so it was pointless. Management knew we
might quit if they made us trek 3 hours round trip to this empty office, and
the project was behind schedule and they couldn’t afford to find new devs.
That was that.

It helps that the current project is iOS and there’s a dearth of qualified iOS
devs here. If it was some generic service work, we probably wouldn’t have had
much leverage. Crazy way to start my career!

------
randomsearch
Work regular hours. The secret to productivity is routine, discipline, and
sleep. That’s non-negotiable. So you’re going to have to set a base day. I
like to work hard so in your situation I’d say a minimum day is 8-5 or 9-6.
Then I’d build on that.

First thing to do is to make sure you’re working well in those hours. Don’t
try to compensate for procrastination by sitting there longer. On the vast
majority of days I will literally not do anything other than work when at my
machine. Quitting social media massively helps, or at least logging out on
your work machine and vowing never to log in. Delete the apps on your phone,
or keep your phone in another room or powered down. Have two phones if you
really need one to make/receive calls during the day.

You’ll have days when you’ve done less than you want. It’s tempting to work
extra hours to compensate, but instead you should say “right, I screwed up by
procrastinating today or making a bad call on proceeding down that problematic
road to achieve X that soaked up a lot of hours, but tomorrow I’ll have
another go and get it right.” Go to bed, try again.

The most important thing to learn is how to decide what to do. This is far
more important than the number of hours, or your skill level. A great
programmer writing the wrong code has zero productivity. This is the most
important advice for getting things done: deciding what to do. Sam Altman said
something along these lines recently, he’s bang on.

At this stage you’re junior and won’t be as productive as others. So you’ll
want to work some extra hours if you’re ambitious. If you’re keen, I’d
recommend working Saturday rather than more hours in the evening. It’s less
stressful and you’ll get more done, particularly if no one is contacting you.
And a Saturday day can be more relaxed, maybe you want to socialise and you
just do half a day, maybe you work on a laptop in bed or in a cafe for a
change, you’re the boss that day.

You need to skill up, technically and managerially/organisation-wise. One
method is to devote an extra hour a day to learning some tech skills. For
example, you have a git problem that costs you an hour. Write on your todo
list - learn git - and that evening (or whenever you invest a few extra hours)
you study git, make a cheat sheet. That investment begins to accrue. Other
things you might consider: mastering IDEs or emacs, build tools, testing, dev
methodologies, languages etc. An hour spent googling and reading blogs, stack
overflow, watching screencasts, without any pressure to get other work done is
remarkably constructive.

So the todo list: you need to learn to organise yourself. This will up your
productivity and reduce the need for long hours. Read a few books: Getting
Things Done, Rework, The Now Habit. These soft skills are so very, very,
crucial.

Finally: take care of yourself. Junior devs tend to have more of a social
life, and it’s important to enjoy yourself. But be aware of and invest in all
these things: exercise, diet (minimise caffeine, sugary drinks/snacks),
relaxation time, and more than anything: sleep. Sleep. Sleep. Cannot emphasise
enough. If you’re going out late one day, that’s fine, but try to sandwich it
with good nights of sleep either side.

This might sound like a productivity guide rather than answering your
question, but essentially I’m answering a related question: how can you spend
your time well so that you don’t need to work 12 hours a day, but get enough
done and still enjoy your life?

There will times you have to break any routine or hours limit you have. In
which case, that’s fine, but as soon as that period is over: have a rest, make
a firebreak over a long weekend, then do a reset and get back into that
routine.

~~~
zzaip

      The most important thing to learn is how to decide what to do. This is far more important than the number of hours, or your skill level. A great programmer writing the wrong code has zero productivity. This is the most important advice for getting things done: deciding what to do. Sam Altman said something along these lines recently, he’s bang on.
    

This is strong advice - I’m saving this to refer to later. Thank you. This
whole post is great, and you were insightful to see the real question I was
asking, and answer it. =)

------
mirko22
I know this is not bery popular point of view on HN but:

Burn out? You are in your mid 20ies, if you can’t put in long hours and hard
work now you won’t be able to do it later in life trust me.

It really comes down to how industrious and conscientious you are rather then
how smart and happy you are.

If you’re a hard worker and know your job well you will make it on any job,
even the ones with shitty management. If the managers are unbearable leave -
you are lucky to be in the industry where if you’re any good you can land a
job in a day. Most people don’t have this luxury, work very long hours in
completely shitty jobs (think cleaning toilets) and never burn out and lead
happy life.

It’s basically down to your personality and what you value in life, nobody
else but you can really tell you what’s best for you.

~~~
mirko22
Like i said, not very popular:)

Question is why is everyone so obsessed with work life balance?

I come from 3rd world country and I never heard of that concept before I moved
to some European countries.

I used to work anywhere from 6-16 hours a day and even night, I never
complained and always did my job as best as I could, so not sure why is that
viewed as horrible, and I feel the only reason people think about this is cos
it’s easy to find a job in this profession, I don’t see people working in
Mcdonalds or stock traders talking about it.

I’m sorry if you don’t share that point of view.

~~~
andscoop
No need to be sorry. I don't think many here will be envious of your point of
view.

As for why work life balance is seen as something to be strived for, there
might be several reasons.

Most workers here are thought workers, which means productivity is incredibly
hard to measure. Along with this, the general consensus seems to be that we
have limited number of hours of true productivity per day with this sort of
work. (Idk if the science is there to back it up, but it is the consensus). So
by this logic working 70 hour weeks has a cost.

Another reason is that an hour at work takes an hour from society as a whole.
Another hour at work is an hour not being a husband, not raising kids, not
spending money at bars with friends, not shopping (to the benfit of the
economy) not cooking or other hobbies which develop well rounded citizens.

Also maybe to the larger point, why? Why give your life (50hpw+ consistently)
to an employer if it's not needed and you don't love it? There is a whole
world out there and you already give an majority size chunk of you life to
work and sleep, what are you going to do with the rest?

