During my 8-hour working days, I work on a software app (my actual job) for about 6.5-7.5 hours, with good productivity and quality as attested by my supervisor. The rest goes for meetings, having issues (technical and otherwise), rest room visits, stretching and short walks near my desk ... etc. Is this considered normal and acceptable, or I have absolutely to work the full 8 hours, and any time I spend on doing anything else other than working on the app, I am accountable for it, and could be questioned about it at anytime (which is something I wouldn't like) I am asking because recently my manager said in a group meeting that we expect you (as a group) to work on the app close to 8 hours, which is kind of vague to me. What is considered "close to 8 hours"? I am hesitant to have this conversation with my supervisor, because I expect her to tell me the same thing my manager said in the group meeting.
From the 8-hour working days, I work on a software app (my actual job) between 6.5-7.5 hours, with good productivity and quality as attested by my supervisor. The rest goes for meetings, having issues (technical and otherwise), rest room visits, stretching and short walks near my desk ... etc.
An 8-hour working day should include whatever your employer wants you to do during those hours (within the reasonable range of duties described in your contract of course):
- That definitely includes any meetings - you wouldn't go to those meetings on your personal time otherwise.
- Having technical issues is normal if you're working with technology, and it would be unreasonable for an employer to have you work overtime because your laptop suddenly died. You're most likely expected to seek technical support as soon as possible to get back to work once those issues are resolved.
- As for things like restroom visits, lunch breaks, stretching, etc., this would normally be considered part of a healthy workplace culture, and as long as you're not attracting your superior's attention by the amount of time you spend away from your keyboard, you should be fine.
Although some of the activities you've brought up may or may not be included in your working hours (e.g. some workplaces would consider a lunch break to be outside of working hours), expecting a software developer to spend 8 hours a day just writing code is unreasonable. If you're starting to get reprimanded for the number of restroom breaks you take during the day then you know you're in a toxic environment and should start finding your way out. By all means discuss this topic with your supervisor, as some details would be specific to your workplace, but keep an eye on unreasonable requests.
I will assume you are hired to work 8 hours a day.
That means you should "work" 8 hours a day, where "work" is basically whatever you boss says. If that's program the app, then you program the app. If it's a meeting, then you go to the meeting.
In most civilized countries, normal routine of living applies to jobs, too: you can take bathroom breaks, you can get something to drink, you can stretch and walk the hallway. In my country, this is protected and even required. The company can get into trouble if you don't take a 5 minutes paid break for every hour spent in front of a screen. But it has to be in line with what you would normally do. Having a quick coffee is fine, spending 30 minutes on making the perfect cappuccino is not. Eating a pre-made sandwich at your desk might be fine, actually having a full meal in the canteen is not. Bigger breaks are actually "breaks", normally unpaid and normally do not count towards your 8 hours worked.
The accepted normal is that out of a 8 hour work day you get 6 hours of productive work done on average. The rest is phone calls, emails, meetings, talking to someone else about their problem with their work and finally all the small breaks like coffee or restroom.
Your employer has every right to demand that you work 8 hours and spend all 8 hours on things they approve of (having something to drink and bathroom breaks is something your employer has to approve of by law in most civilized countries, because not allowing it damages your health and that's illegal). That's in your contract. Whether they can come down on the 2 hours wasted every day with non-productive tasks is largely up to them. They want you to help your colleague. They want you to read your emails. They want you to attend those meetings. It's just that many bosses just look at Excel sheets and not at the actual processes in their company.
The easiest way to show them that they actually want this, is to make a detailed list of what you do every day and ask them what to not do in the future. That sucks because it's all about paper pushing, but it's the only thing that gets people off your back that do not understand these simple things. The more passive aggressive way is to do what they say by the book and block every request for anything that is not the app and send everybody who calls you, writes you or comes by to your boss, so your boss can approve of this new task for you or explain to the person why you won't do it. This way your boss gets swamped in people that don't understand why you can't "just do it quickly" and sees first hand how much it actually is that you do.
Personally, when you wrote you get to program 6.5 to 7.5 hours a day, I thought "wow, that guy is lucky". But if your boss is inexperienced or just ignorant, there is no other way but to show them what else besides programming the app you actually do.
You 100% should, nay, you need to, have that conversation with your supervisor.
IMO, you are actually asking the wrong question. The question is not "what counts as 'close to' 8 hours", the real question is "what counts as 'working on the app'?". Your meetings should count as "working on the app"; if those meetings don't happen, then details don't get ironed out and you end up building something that's not according to the specifications. If your laptop dies, then the app doesn't get built because you don't have a computer to build it on. If debugging doesn't happen, then the app goes out buggy with issues and the customer gets upset. All of the above, and others, "should" count as "working on the app". I say "should" in quotes because some toxic work environments care about KPIs like "lines of code written" or "number of tickets finished" instead of actual KPIs like "difficulty of tasks", "criticality of tasks", and others, and you want to see what kind of company you are working at.
The rest more or less falls into place from there: if your boss says that, what I will call "normal work activities", including debugging, fixing your laptop, and having meetings, falls into "working on the app", then the rest is more or less given to you; you should be able to easily put in 7-7.5 hours per day "working on the app" in that case, and the boss's request is not unreasonable; it more or less means "don't take a 2-hour coffee break". If, on the other hand, "working on the app" just means forward-moving development, and anything that isn't building a new feature doesn't count, well then you may have a serious problem that might be employment-ending (from your side, not theirs; you can and should quit over that, and you may want to consult an employment lawyer as well to see about bringing a lawsuit depending on your locale).
Ertai87's answer comes closest to touching on this, but I think the core problem here is a severe disconnect between your manager's understanding of your job and reality.
Programming is what I call 'creative labor', which means it's next to impossible to make a binary yes/no distinction of what counts as 'working'.
When you're operating a forklift or a piece of machinery in a factory, productivity's an easy metric - if you're at the conveyor belt/driving the forklift, you're working, and the number of boxes stacked or pieces produced at the end of the day can clearly be counted.
On the other hand, when you're working on a programming problem, you don't stop "working" on it just because you're not at your computer. Your brain doesn't instantly switch off when you go to the bathroom, and if the current specific problem is tricky enough you'll still be thinking about it while you're at home having dinner or trying to sleep. Likewise, just because at your computer doesn't mean you're currently actively working on it as opposed to goofing off at a social network Q&A site.
Measuring "lines of code written" is arguably an even worse metric, because I've had work weeks that went roughly like this:
- Monday: Spent 4 hours trying to focus while sorting through start-of-week tasks. Write 100 lines of code in the other 4 hours
- Tuesday: Spent 5 hours poring over the code logic before deleting 10 lines and rewriting 5 others as an optimization pass.
- Wednesday: Spend most of the morning trying to reconcile input sets, give up, talk to manager, learn that he'd miscommunicated the parameters. Spend half an hour in an empty room screaming, scrap roughly half the existing code and start over.
- Thursday: Wrote 20 lines of code to replace the stuff gutted Wednesday after having an 'Eureka' moment the night before.
- Friday: Debugging, optimizing, cleaning up commented out stuff, remove another 30 lines of code.
Going by strict KPI metrics I have spent 40 man-hours writing roughly 40 lines of code, but that's clearly not the whole of the story.
That isn't to say that programmers slacking off isn't a realistic concern; if anything the fact that it's harder to track makes it a more realistic one. It's just that "8 hours on the job" is a bad way to go about it.
A more sensible approach would be to have periodic (say, once a week) meetings to discuss progress and address concerns, and otherwise refrain from shoulder-sit your programmers as long as deadlines are met (or the reasons for missing them are reasonable, at least).
Where I work the formula is
WORK_TIME = TIME_SPENT_ON_PREMISES - 1 HOUR. This includes the lunch break, and a number of smaller coffee / loo breaks one is expected to take during the day.
If your boss insists that you spend "close to 8 hours" on actual coding, ask him which meetings he/she thinks are not essential, then stop going to those meetings. Obviously, you can only get as close to 8 hours of actual work as few essential meetings and other interruptions (like helping out your colleagues) are there.
It is absolutely unacceptable to spend all your work time on a task AND still have meetings and other work-related distractions. Doing so amounts to doing unpaid work.
I'd struggle to believe that someone spends >6 hours productively each day. That's very high output. At my old place the scrum masters would try to reach 6 productive hours per day, stating this is perfectly reasonable
I would say i'm at 4-5. With the rest of the time being spent on useless tasks, meetings, Slack, emails
As far as what's normal: Your boss doesn't have you in mind. You're productive. He has in mind the people on your team who he only sees in the office 3 hours/day and who are behind on their deadlines... despite not being authorized to work from home. And on the flip side of that he doesn't have a problem with the person who is only around once in a blue moon but is always delivering on time with high quality. And no, you are not expected to count every hour you work as a software developer unless you are a contractor who bills hourly.
And even in the contractor case, bigger companies don't really care as long as they think they're getting a good value. The smaller the company the more paranoid management is about this.
That said, some industries are very rigid and do things the way things were done in 1850. Insurance companies, (some) banks and any small company that is run by people in an industry with a long history of buying lots of time clocks too. At places like that you can get fired for showing up to work 5 minutes late 2-3 times, regardless of your productivity. Good developers tend not to want to work in those environments.
It sounds to me like someone from on high was getting concerned about goofing off affecting productivity, and sent down some sort of "guideline." Which then percolated downwards to your manager, with orders to communicate it to the rank and file, which he/she dutifully did. I suspect it isn't anything to worry about if your supervisor is happy with the work you are doing.
However, if you are concerned, I most certainly think that you should talk with your supervisor. But rather than detailing everything in your post, I suggest that you simply say (using your own words) "I'm not quite clear on what I need to do with this requirement to work on the application for nearly 8 hours. Do I need to make any changes to what I'm doing now?"
That's it. If she tells you that you're doing fine as you are, then keep up the good work. If she tells you that you need to make some changes, then let her explain (write them down, too, and repeat them back to her in an email) and make them.
From an emotional standpoint, you seem like you're walking on eggs here. Don't. Managers are accountable to you, too: it's their job to manage you effectively. If you don't understand one of their communications, it's their job to help you understand it. But it's your job to ask for help when you need it, and being afraid that your boss is going to treat you like an idiot and refer you back to the vague directive if you ask for help makes it very hard to ask.
Maybe she will do that, but probably not. And what if she does? You know something you didn't before, and can start looking for a job where managers hold you accountable and also expect to be held accountable themselves.
What is considered "close to 8 hours"?
Usually this means you should spend all your time working on the app except for restroom breaks, stretching muscles, meetings and other things of that ilk.
You're fine unless you're spending an hour on facebook or writing questions like this during work hours.
Talking with your supervisor about football or cricket for an hour is not work (unless you’re a sports journalist for example). It’s also not work for your supervisor so you both need to work an hour extra. Unless your supervisor ordered you to talk about football.
A one-to-one for an hour with your supervisor is work. That’s one of your eight hours a day done, seven to go.
What’s the difference between work and not work? If you can say “that’s not work, I’m not doing it” without any negative consequences then it’s not work. Can you freely decide to attend a meeting or not without any negative consequences? If not then it is work.