That said I'm lucky and my company freely comps additional paid time off when I start working more than 40 hours per week.
That said I'm lucky and my company freely comps additional paid time off when I start working more than 40 hours per week.
The optimistic explanation is that I haven't found a good manager + workplace yet and I should keep looking. The pessimistic explanation is that "getting your work done" is a sign of success at the game of politics on one hand and masterful framing on the other, rather than a result of skillful software engineering.
I'm right out of school, I've only had one job, so I don't have a very good sample to make up my own mind from. I'd appreciate hearing opinions on the matter.
When I'm on a more well-defined project, I'll have a deadline and a set of things to do based on how fast I work and what we (me, the project manager, maybe the other developers on the project) think is reasonable.
Several co-workers usually have a single project where work is lumpy. They can have a several-day to-do list one week, and be twiddling their thumbs waiting on other people the next week.
I don't know anyone who gets a daily task list that isn't calibrated to their skill level.
Leaving early for the day is more likely to happen if you complete a big deliverable early than anticipated. Like you reserve a full day for launching a major version, it goes smoothly, so your afternoon is unexpectedly free. The gamble is sometimes you might end up occupied until late into the night, so it tends to balance out.
You are correct that there is always more work to do, but if I find myself reasonably caught up by noon and everything else can wait until tomorrow, I often just call it a day. My manager doesn't care.
When I managed my team, work was never assigned to an individual. It was assigned to the team and the team took responsibility for it. Individuals accepted responsibility for pieces of work as they completed prior work. If an individual wasn't contributing enough, either the team's productivity would suffer or other members of the team would step up to fill in the gap. If that that lack of contribution became consistent, I'd notice, either through poor team performance or conversations with disgruntled team members who were covering.
A lot of it was handled by feel and when a member of my team felt like he was accomplishing enough to keep the team performing well, s/he absolutely had the discretion to leave early. The key is that when the team is responsible, people are motivated very differently from when an individual is responsible. Your team members are often your friends whereas you might have a more combative relationship with your manager. No one wants to be the one that lets the team down. And, similarly, if a team is being pushed too hard, everyone will feel it and everyone can push back together. This makes it really easy to see, as a manager, when you're asking too much of people.
I'd say if you're looking for a healthy work environment, look for ones that emphasize team accountability over individual accountability and then try to find a team where everyone respects each other. That team is, more often than not, going to do well and you'll share in that success. If you have a slump, someone will cover for you. If someone else does and you feel up to it, you can go above and beyond for a bit. It's a lot easier to give that extra effort when you're doing well than it is when you're struggling.
If not, you're just pushing responsibility up.
There was a period where we simply accomplished a lot more than other teams. It wasn't superhuman effort, which isn't sustainable. Instead, it was better tool selection and streamlined processes (automation and continuous delivery, which shed a lot of the baggage that comes with large releases) that accounted for most of the increase in productivity. In fact, my team worked less hours and had fewer production issues than other teams.
The organization (eventually) reacted the way that healthy organizations should...they promoted most of the team into leadership roles in other teams that weren't performing as well. The reward for our success was more money and responsibility and the entire organization benefited from what we'd learned.
I say eventually, because I had to fight a pretty big PR battle before management above me saw the virtue of the way that my team operated. Before that, there was a tendency to give star performer awards and kudos to people putting in long hours to make release deadlines or putting in heroic efforts to keep error-prone production environments up an running. Management saw my team leaving at a normal time every day and didn't think that was worth rewarding. It took a mountain of data for me to show that a boring, predictable production environment that allowed us to push out more features was better serving customers.
I yearn for something a bit different, I don't feel like an endless stream of 100% work is healthy. But the only way for that to be different is for the business to actively say "yes, we would like to make less revenue so that you can do something that isn't what we pay you for"
The realistic scenario is that I work fewer hours and get paid less. Which is fine, and lines up nicely with the meritocracy rhetoric. But I can't help but feel like the work 40 hours, eat, sleep, die method of employment is a slight perversion of life.
The rule in question protects those people where their control is often purely fictional by setting a lower bar.
You get a worker task, say add a button to your application, estimate it at 12h and schedule to start on Wednesday. Ok, Monday is release date. Then it turns out that the worker task actually takes more than 12h. And at the same time on Wednesday some computer/server breaks, which takes 12h to fix, so there are no slack hours this week. Basically you are left with extra X hours this week. Is this overtime? If you took afternoon off on Tuesday?
Another situation. You get a 2 hour maintenance window at 19:00 on Friday. If you get to leave 2 hours early, technically there is no overtime. But in practice your workday is 08:00-21:00 - 13 hours long on Friday.
This is the [moral] issue with yearly/monthly salary. Basically employee agrees to agree on task length estimates and then do those tasks, not much different from consultant agreeing on hourly rate and task list with estimates. And this is somewhat of a problem, because power dynamics usually favour employer and employee can be coerced to work unpaid overtime. It is easy to hourly bill production line workers, but it is much different with intellectual tasks where output is not fixed. Is watching the birds while you contemplate on the problem work or not? Maybe you start thinking about your pet parrot. A huge can of worms here. I would say that higher salaries (despite supply/demand, education, etc.) in intellectual fields are the effect of expected occasional overtime not vice versa.
If your employer takes your actual output as "best you can do" and in some way compensates for everything exceeding 40 weekly/8 daily hours I hope for them to succeed and expand so there are more places like that :)