Back again for more Facebook conversations with thought and opinion. This time we're talking about why it shouldn't be unreasonable to only work 40 hours in a standard work week. Someone decided to disagree, but didn't give a good reason beyond "that's just the way it is". Read on for yourself...
Is it unreasonable for me to want to work a standard 40-hour week as a lead/senior software engineer, by default? Obviously exceptions for outages and emergencies apply...
I would say those are two slightly different points.
A senior software engineer, in my experience, is primarily expected to write better code the first time rather than require more time and/or more iterations to get it right. They can also mentor less experienced programmers, but aren't necessarily a lead.
A lead, on the other hand, is expected to be more of a people person, has explicit control over how the project is done, and is expected to keep track of everyone on their team, including pushing them in the right direction to do things right.
To your point I would say it's not unreasonable to expect a standard 40 hour work week as a lead, and especially not as a senior software engineer. In fact, I would go further by saying anyone who has to work more than 40 hours a week needs to re-evaluate their role: either they're expected too much of, they have a terrible team (bad programmers and/or won't listen), or they're being inefficient about how they do their job (micromanaging, watching over everyone's shoulders all the time, ambiguous rules or guidelines, etc).
Companies that expect more hours out of higher level employees are fundamentally screwed up.
You are making a lot of assumptions there Zimzat.
Well don't just leave me hanging, tell me what you mean. Let's have a conversation about this. Why do you say that?
As a senior or lead software engineer, you have a lot more on your plate. That is just part of the job. In addition to the responsibilities you listed, you also attend a lot of meetings, answer a lot of emails, interview candidates, and...yes...you still need to write code and design new systems. Unless you are super human, more hours are pretty much a necessity.
The critical question I want to get at is why are you expected to fill two roles in the same amount of time as one? I would hope the reason you get promoted or hired to the role is because you're trusted with the new responsibilities, and not just so they can get more out of you for the same amount.
Not every programmer should become a lead, because not everyone has the skill set or desire to be one. But any programmer worth their salt who becomes a lead should already know the mantra of "Work smarter, not harder". I call into question the need for all those meetings, why there are so many emails, and why it takes so long to interview candidates.
I've done interviews, both phone and in person. I developed a system of interviewing candidates such that I got to the meat of the question and figured out very quickly if they were any good at all. Most of them I wouldn't have even given a phone interview to because their resume was terrible or off topic, but I wasn't the one who scheduled the phone interviews or screened the resumes. All I could do is stop them from taking any more of my time than absolutely necessary, and keep them from taking up everyone's time with an in-person interview.
Meetings are, more often than not, entirely unnecessary. One a week or a much shorter one every day just to give status has, in my experience, been sufficient. The longer meetings were often called at the behest of managers and wasted everyone's time going over things that not everyone needed or even wanted to know. It was also very obvious when someone called a meeting just because they didn't want to do their job.
As for emails, why are there so many emails? Sometimes a 5-15 minute one-on-one conversation at their desk saves everyone an hour of writing and reading a dozen emails back and forth. There could be half a dozen more things that can be done, too.
If you have a developer putting in 60 hour work weeks, you need 2 developers. Period.
Russell, why would anybody take a lead or senior position for the "same amount"? Those positions usually come with a hefty pay increase.
Franklin, I said two roles for the same amount of _time_ as one, not money. The reason you get more money is because you have more critical or sensitive responsibilities (although even that I call into some question, although not nearly as much). You seem to be equating salary back to an hourly amount, so 75k/year = 36$/hr, 100k/year = 48$/hr, so by your math the person who makes 100k/year has to put in 53hrs/week over the person who makes 75k/year and only works 40hrs/week. I don't agree with that.
I never said or implied that.
Zimzat, if you take a lead position, you should expect to work some extra hours. Should it be a constant 50 or 60 hours a week? No. Should there be times when you work a standard 40 hours? Sure. But should it be expected that you will only work more than a standard 40 if there is an emergency? Probably not. That's all i am saying. If you want to be paid for every hour you work, you may want to work as a contractor.
You haven't given any solid reason why this should be expected beyond "that's just the way it is". I think we'll simply have to agree to disagree, then.
I understand crunches and extreme circumstances. What I don't like is when a 50-hour week is the norm. It shouldn't be.
then quit. it's not like there isn't still a massive developer shortage.
Another option is to be the change you want to see. Try to talk with them about workload, expectations, etc. Only accept or agree to work that you think you can get done in a 40 hour week. Be explicit that something won't get done until the next week, and then ask which item on your plate is more important. And stick to your guns, only work 40 hours and then go home. If they're really going to be sticklers about 50 hours a week, one way or another, then they can fire you.