66

My employer doesn't treat employees too well, for example we often work overtime without pay (for details you may check my other question How can I argue against the idea of working overtime to fix bugs (constantly)?)

But the situation is out of my control and I still have a team to manage. So how do I manage my team to maintain a reasonable productivity when I know they have their reasons to work slowly?

For example, sometimes I observe that my team-members don't work as focused as they should because we all know we need to work overtime again. I just run out of ideas how to tell them to be focused.

----- update -----

When I said they did not work as focused as they should, one typical example is I see they use social media from time to time. I am totally ok if they just have a social media "break" (like a coffee break). But if they spend too much time on it that is definitely a problem. On the other hand if it is Sunday but we are at office work overtime, how much time is acceptable to use social media?

My other question's title may be a little big misleading. Feature creep is one of the main reasons we have some many bugs to fix. We develop new features in the name of fixing bug!

7
  • 5
    Do you have any data to show that more bugs are added on a Sunday than are fixed? Oct 24, 2019 at 8:29
  • 3
    This is at its core an ethical, not a management or technical question. "Does an organization which mistreats its members or employees deserve support?" It's one of those questions which abruptly inverts cause and effect when examined closely. In my experience, there's only one answer which doesn't actively create unjust organizations which exploit the many for the benefit of the few. Oct 26, 2019 at 6:22
  • 6
    You got the votes to close your question because of Sunday. If it's Sunday and they're not getting paid to work overtime, they can check their social media account for as long as they want! Your company is committing wage theft. It's literally stealing from its employees and bullying them. Oct 29, 2019 at 7:52
  • With that said, I don't believe in having people check their social media during working (paid) hours. If they must check their social media during their breaks, install an old Chromebook in the lobby for that purpose. And if they receive notifications on their phone during working hours, it better be a real emergency, not a Facebook notification. People rarely do good focused work when they're thinking about the next funny message they're going to send out on social media. Oct 29, 2019 at 7:53
  • 3
    @Qiulang, Yes, that's true too. In any case, what would you tell a manager who is required by his employer to regularly steal from his employees? Or what would you tell a scammer who is required to scam people over the phone? You would tell them to quit and find a better job. Wouldn't you? But the scammer might tell you: "I don't have a choice. It's either scamming people or sweeping the streets. I can't sweep the streets." What would you tell him? Oct 29, 2019 at 15:59

12 Answers 12

205

A wiser man than me said “You can make people stay in the office for 80 hours a week, but you can’t make them work more than 40 hours a week.”

That’s the problem you are running into, and there’s nothing you can do.

People come to the office because you pay them. They work because they want to. And you know why these people have no motivation to work.

17
  • 131
    Actually, there are studies (I think from Norway or Sweden, not sure) that show that especially in jobs where you need to think a lot (e.g. coding), your productivity caps at around 30h per week, so even a normal 40h week already contains some unproductive sitting around.
    – Dirk
    Oct 23, 2019 at 9:17
  • 30
    You clearly know this already given your rep, but (from Help): Make sure your answer provides that – or a viable alternative. The answer can be “don’t do that”, but it should also include “try this instead”.
    – Chris E
    Oct 23, 2019 at 10:54
  • 19
    @Dirk , do you have a link to those studies ? I find that 30 hours per week is the maximum number of hours I can commit in a week, however hard I try. It would be interesting if there are researches somehow validate my limit
    – Graviton
    Oct 23, 2019 at 11:32
  • 28
    @Qiulang I don't have one, which is why I didn't attempt to answer it. That's my entire point. When you don't have an alternative or an actual answer you, one shouldn't post "you're screwed buddy". It might technically be an answer but it's not helpful. That's also why I posted the clip from the Help section.
    – Chris E
    Oct 23, 2019 at 13:07
  • 26
    @ChrisE It is actually a helpful answer. OP is looking for an answer that does not exist, and gnasher is confirming that the answer does not exist.
    – user57251
    Oct 24, 2019 at 12:04
61

The way your employer treats people benefits nobody. They might get unpaid overtime from their staff but that is likely to result in poor morale, low quality work and a high turnover of staff (along with the cost/time required to train replacements).

In the long term, I think you need to push to change your employer's mindset. They are unlikely to experience sudden enlightenment so you'll need to chip away at it. Keep knocking on the door, pointing out the risks and problems with their approach and eventually you might get somewhere. Be careful though - you'll have to tackle this with subtlety because you don't want to be seen as an irritant. (Also - I don't know the company size or structure - you may need to go through your line manager and ask them to carry it up the ladder for you).

(If the company is in a tight position financially then you need to adjust your requests accordingly. There are more things than money - perhaps extra annual leave, time-in-lieu, the ability to knock off early on a Friday, free fruit/soft drinks could make all the difference)

In the short term there is a lot you can try to improve the team's performance.

  • The company might not appreciate their efforts - but there is nothing stopping you from doing so. Saying "thank you" for a job well done, praising good work and really showing appreciation when somebody goes above and beyond will show you recognise their hard work. (Also bringing in a box of donuts now and then will do wonders!)
  • Be flexible. Again, I don't know the type of work you do, but if it's possible try to make life easier for people. Let them slip out early if they have an appointment or need to collect their kids. I find that if you give some slack in situations like that you will get it back twofold when the deadlines are tight or backs are against the wall. It's all about give and take.
  • Career Help. Chat to your team members. Find out where they want to be in 5 years. Try (it might not always be possible) to get them exposure to that kind of work. Maybe it's learning a new skill or technology, maybe it's taking on different type of work (sales, support, project management). If people are learning and feel challenged by their work they are likely to work harder at it.
  • Be an advocate. All the previous points fall into this category a little. You need them to know (or at least feel) that, while the company wants you to manage them, you are also fighting in their corner. Tell then you appreciate the position they are in - but also tell them that you are trying to change it. Tell them what you've tried and the progress you're making.
  • Communicate. Continuing on from the above, communicate the progress you're making. If you hear something from management, decide what if anything, you can share with the team. If they feel involved they will feel invested and therefore more committed.
  • Monitor more closely. The above won't work for everybody. In those cases you need to monitor them more closely. Know what they are working on. Have them commit to a time for delivery (you need to know if this is reasonable or being padded) and then check in regularly to make sure they hit that deadline. If they don't, find out why. You're not aiming for conflict, it should be a "well how can I help you to meet the deadline next time" type discussion - maybe the process needs to be improved, maybe they were interrupted or re-assigned, maybe something went wrong. If deadlines are missed continually then you probably need to go down the disciplinary route.
2
  • "Be flexible" is what I do right now. Oct 23, 2019 at 12:46
  • @Ian - thanks for the proof-reading and editing!
    – amcdermott
    Oct 25, 2019 at 9:46
33

Your job as a team lead / manager is to shield those in your team from the rubbish that comes from above so that they're productive.

You need to find out WHY they're having to work overtime. Are they being generally unproductive, or are the timelines unrealistic? If they're unrealistic, then you need to take steps to make them realistic... Get the team involved in making the estimates for time scales; and if management push for unrealistic time scales then you need to push for more resources.

Management won't like you saying it... no one likes it when people push back; but in the end they might prefer it when the productivity goes up, people are happier and deadlines are hit.

4
  • 1
    @Quilang i think you should consider this answer. This mindset and attitude can be hard but it's worth it in the long run.
    – wmorian
    Oct 24, 2019 at 6:58
  • 17
    "Your job as a team lead / manager is to shield those in your team from the rubbish that comes from above" <-- This.
    – Fildor
    Oct 24, 2019 at 7:51
  • I would correct the opening line of this answer to read, "Your actual job is to shield management from the consequences of their decisions."
    – EvilSnack
    Oct 26, 2019 at 1:14
  • In our company we called that responsibility the "shit umbrella".
    – fgysin
    Nov 4, 2019 at 8:33
8

Culture Problem

I think Karl Bielefeldt's answer is the best one, but I would like to state it even more forcefully: you have a culture problem, and it has nothing to do with China. Your boss wants bugs in your software fixed? Awesome!!! There are countless times in my career when I wanted to prioritize bug fixing, but management wanted more feature delivery.

The real problem you have is your team's attitude towards code quality. Ultimately, this is a maturity problem. Most teams end up with buggy, broken code for a few common, recurring reasons:

  • Not enough time/resources spent testing
  • Not enough time spent documenting + reviewing code
  • Too much focus on delivery
  • Willingness to accrue unlimited technical debt

It is not your boss' job to fix these problems. These are not organizational or corporate problems. These are developer problems, and developers must acquire the proper attitude and strategy to deal with them.

Cold Read

Without knowing anything further about your company or team or business practices, I'm going to make a few predictions:

  • Your codebase has few to no unit tests (code coverage < 20%)
  • Your team engages in manual testing (few to no automated integration/functional/acceptance tests)
  • Your team puts little effort into code review (either treats it as rubber-stamp, opportunity for gratuitous nitpicking, or skips entirely)
  • Your team rarely documents code, or adds trivial comments (// next line prints a message to the log file)
  • Your team does not engage in regular refactoring, or only has 1 or 2 engineers that believe refactoring is even a useful thing to do
  • Your team loves to write new, green-field code, and tries to avoid maintaining existing code like the plague
  • Your system lacks automated metrics of success (number of successful transactions/requests vs. attempts, number of errors per transaction, counts of timeouts, user-facing errors, etc.)

Climbing Out of the Hole

Even if I'm only right about half the predictions, that's enough to explain your predicament. The solution is not more overtime, nor trying to convince your boss to back down. Part of the problem is that you lack strong technical leadership on your team. Your team really needs a senior engineer or five that can promote mature software development practices that reduce defects as early in the pipeline as possible.

As you can imagine, the prescribed fixes will directly address the defects I predicted above, along with a short blurb on why you should invest in the activity:

  • Unit Tests--I think 80% is the absolute bare minimum for a long-term maintainable codebase. I strive for 98%+, and that is almost always achievable. This isn't about checking off some box in a masochistic SDLC checklist. First, not all code is easy to unit test. Writing tests against such code forces the developer to rethink the design and organization of the code. Making code unit testable makes it better. I say this as an absolute truth, because I believe it is, and have never seen a counter-example. Furthermore, unit testing uncovers a lot of bugs that eventually manifest in production, and often in an insidious, hard-to-reproduce way. Finally, unit tests serve as a kind of documentation of developer intentions when the original coder has moved onto another project, and the maintainer is trying to infer what they were trying to accomplish. I claim that unit tests always save more time than they cost, which is why mature developers will invest the time to write them. Unfortunately, I would wager that less than 20% of developers worldwide count as "mature" by this metric. :/ You can't tell how well you are doing on unit testing until you implement a code coverage analyzer in your build process, and put the results on a "radiator panel" that the whole team can see 24/7.
  • Acceptance Tests--your team has lots of bugs to fix because you have outsourced proper testing to your users, and this makes your boss quite understandably angry. Your developers are lazy, believe that someone else should do the testing (like, dedicated testers), and are clearly not maintaining a suite of automated tests. You need tests which run on every merge, on every production build, on every deployment to every test environment, and on every production deployment. You want broad coverage via randomized test generation and extensive data validation within your code. This is a whole topic by itself, but is also core to your problem. You don't need to write thousands of test cases to have a useful acceptance test suite. But you do need to find a good testing framework, get very comfortable with it, and make it your new best friend.
  • Code Review--many developers don't get the value from code review which is readily available. First, code review should help maintain a consistent style and approach across the team. I don't think developers need to write code as if they were all clones, a la XP style. But it does help to enforce some common standards, without devolving into formatting wars. This extends to design patterns and coding idioms which occur frequently in your problem space. Second, code review is an opportunity for learning, for both the author and the reviewers. It's an especially good way for junior developers to learn good practices from more senior ones (assuming the seniors are actually good coders). Reviewers should ask lots of questions whenever code isn't clear, and the process should be collaborative rather than confrontational. Third, good reviewers can often spot bugs just by reading the code. This won't happen all the time, and is no replacement for testing. But it is a nice bonus, and one which you get "for free" just because you bothered to ask 2 other people to read your code. Every merge should have a code review.
  • Writing good documentation is overlooked by about 95% of all developers, given my highly unscientific judgment. You don't need NASA-level documentation to improve your codebase, nor does all code require the same level of documentation. In general, the more code is re-used, the more documentation it should have. Therefore, any kind of shared libraries/classes/modules should get extra documentation, especially for things like thread safety, exception safety, intended usage, detailed function APIs, null handling, etc. Bespoke app code should tend more towards being clear and self-documenting. Again, you can't tell how good your documentation is until you generate it as part of the build process and publish it to a local web server. A lot of bugs occur because there are mismatched assumptions and expectations between engineers (about valid values for fields, where validation occurs, etc.). Documentation helps mitigate this failure mode.
  • Refactoring--this is one of the most valuable things you can do for crufty codebases which have acquired a lot of technical debt. It is perhaps the second thing you should do (after writing unit tests, of course!). For a small company or a startup, there are times when moving fast and breaking things is the correct course of action. But that cannot be sustained indefinitely. If you do not push hard for refactoring pauses, then your team will eventually fall off a cliff of technical debt (sounds like it's holding on by a tiny little branch as we speak). Good engineers should push for refactoring anyway. The fact that you have not mentioned any developer-advocated remedies tells me that you lack such engineers. Code does not have to be perfect the first time you write it (and almost never will be). But you should be able to improve it every time you touch it. Refactoring should be second nature for your whole team, and everyone should feel empowered to do it, when the changes are clearly beneficial to the whole team. Obviously, you want to avoid gratuitous refactoring. But I doubt this is even a risk for your team.
  • Ops/Metrics--Not only do you need tests at the code level and external to your product, you also need operational metrics to see how your product is performing. And these metrics should include quality parameters (transaction count, speed, error counts/rates, etc.). Your boss shouldn't be the one demanding that you fix bugs. You should have your own team-defined quality targets that force you to go into cleanup mode when you stray outside of them.

Next Steps

Curiously, the one thing you have not mentioned is your boss demanding that you deliver 20 new features by next week, in addition to fixing all the bugs. I assume there is some such pressure, but your failure to highlight it gives me hope. It suggests that you have space to ask for a feature delivery pause while your team pays down the massive technical debt it has accrued. If you put together a detailed plan for your boss on how you are going to systematically improve the quality of your product, and maintain a high quality level going forward, then perhaps you will find support for such a plan.

Of course, you need to work with your team on the plan, and get buy-in as to which steps will be most appropriate and effective. And surely there will be compromises that will need to be made on all sides. You may need to amortize refactoring across a few product cycles, while your boss may recognize the urgency of building out a decent test suite right away, even at the cost of feature freeze.

In summary, I think your situation is totally salvageable. However, I think it requires a big change in thinking and attitude for your whole team. Instead of seeing your boss as the enemy, you should start thinking of the boss as an ally in a new era of software quality. And be sure to use the focus on quality as your ammunition when you sell your remediation plan: "Well, you did tell us you want all the bugs fixed. We have a plan to do that, but it will require you to meet us halfway. Here is what we propose..."

Good luck!

5
  • His answer and your answer were both based on false assumption that we did indeed work overtime to fix bug. But this one is on me. I can't blame you. Oct 24, 2019 at 5:47
  • 1
    If you can list for many reasons for bad code quality I was surprised to see you did not mention feature creep, which is actually the no.1 reason for our current situation! Oct 24, 2019 at 6:02
  • @Qiulang So, with "feature creep" you mean that bugs get reported, that are actually new requirements because the software "works as designed"?
    – Fildor
    Oct 24, 2019 at 8:54
  • With feature creep the original schedule was definitely need to be redefined, but sadly it is not always the case. The schedule was the same, engineers rush to implement the new features and definitely introduce bugs. Then we work overtime to fix bug. Oct 24, 2019 at 9:01
  • 1
    It's still about managing quality. You need to explain to your boss that rushing features will result in bugs. If he wants bug-free software, he needs to accept the features that everyone agrees to when you start a sprint. When features get added, punt them to the next sprint. Oct 24, 2019 at 18:13
7

There are other ways to increase productivity on bug fixes than just working longer. I would solicit ideas from your team about that and give them time to implement their ideas. Empowerment goes a long way toward morale. For some ideas:

  • Improve testing and get tests to run before every merge.
  • Refactoring of problematic code.
  • Prioritize your bugs so the important ones get worked first.
  • Figure out which code causes the most bugs and allocate time to improve its general quality.
  • Use linting or static analysis tools.
  • Fix the warnings and turn on -Wall -Werror or your language's equivalent.
2
6

Focus on the employees. Make sure that you hold (best practice) weekly one-on-ones to talk about larger goals, big ideas, professional development. Here's a great resource, with a mix of paid and free offerings -- there's real value in the free stuff: https://www.manager-tools.com/

Specifically, seek out information on the "one-on-one" meetings.

I had a situation years ago where my boss informed one of my guys that his contract would not be renewed -- a year out. Can you imagine? Here's what I did. I focused on working with the guy to buff his resume. What do you want your resume to say? Let's make some of that reality. Where do you want to go from here? How can I help you get there? This worked very well, until the guy found another opportunity, at which point it was pretty much on rails. But it helped immensely.

The one-on-one meetings are the key to engaging with your people -- as people. BTW, these are not project or update meetings. This is you as a manager doing one aspect of leadership one person at a time.

There's an old saying that usually people don't quit jobs -- they quit managers.

Since your people are "merely" mistreated, rather than already fired, you have more options than I did. Make sure that your people know that you are doing what you can for their benefit, whether in this job or the next.

4

Are you using a formal process? I'm guessing from the contextual clues and your other question that you are a) building software and b) in China. 'a' is relevant, 'b' may not be, but keep in mind I'm coming from a United States/Canada perspective and there may be cultural/learned behaviors that affect the viability of my suggestions or require adapting them. These suggestions are based on 20+ years developing software professionally and having worked in companies ranging from tiny start-ups to massive global enterprises and having everything from extremely supportive management to rule-by-fear despots running things.

  1. If you are not already doing so, start doing test-driven development, or a similar fast-feedback solution to immediately let you know if new commits break anything (assuming step 0 is done and you are using source control -- if you aren't, implement it immediately). Testing needs to be automatic and performed on every commit.
  2. Adopt a process to take in, perform, and deliver new work. Scrum is very popular one. They key here is to be extremely transparent about how you estimate and deliver, and provide continuous feedback about the progress. Hold the line on what you can realistically deliver: fast, inexpensive, good -- pick 2. As part of this, create a backlog of known bugs and work on reducing it.
  3. Prioritize not introducing new bugs. If #1 shows anything broken, fix it before heaping on even more changes. If you keep adding new bugs you will never catch up and productivity will never improve. And a constant cycle of never-ending bugs is a sure way to drain productivity and motivation.
  4. Track your progress: time to deliver, bug creation rate, bug backlog count, etc. Demonstrate via data that when the team is pressured to deliver more than they say they can comfortably deliver, the quality of the product declines. Celebrate incremental improvements and treat setbacks as learning opportunities, not an excuse to dole out punishment.
  5. Help team members recognize that management's treatment of an employee is not a reflection of that person's worth. This is something that each person on your team needs to understand. They are working in a toxic environment and that takes a huge toll on your mental health. They may not even realize how it is affecting them until somebody points it out.

The last item is probably the most important, but the first 4 are what will help get your team there. You can't force people to "focus", at least not effectively.

An observation I've made over the years is that companies run by owners who consistently interfere with the professionals doing the work and try to squeeze productivity through threats of punishment have also tended to be the least successful ones.

1
  • Came here to write this, just not in this much detail. Well done.
    – Mara
    Oct 24, 2019 at 13:44
3

Answering this bit specifically:

sometimes I observe that my team-members don't work as focused as they should because we all know we need to work overtime again

What's probably happening here is that they've realised that they're not just in the office until a few bugs are fixed, but that they're stuck there for however many hours senior management has chosen, and the amount of work they do is irrelevant.

Fix it by setting the goal for the day that the team can work towards: "3 more bugs and we can all go home. X, if you've finished your bug, can you pair up with Y so we can all go home faster?"

But really, as everyone else has said, your job is to fight for your team, not to exploit them. Feature creep should be pushed back to the next iteration.

2

Bad working conditions will take a toll on your employees - it doesn't matter who is to blame for them.

The best you can do is convince management that unpaid overtime is counter-productive and the rate of which they're pulling the 'occasional bit of overtime' as per what is likely in your employees' contracts might be illegal (jurisdiction dependant).

EDIT: As per virolino's comment, this needs to be done carefully. We can't tell you which approach will work best with your management because we don't know them. If you can't answer this yourself, it may be best to steer clear of this option.

4
  • 2
    convince management - just don't do that too hard. You might shoot yourself in the leg, or worse. Been there, done that ;) In this case, the personal objectives of higher management are much stronger than the objectives of the company.
    – virolino
    Oct 23, 2019 at 9:56
  • If you check my other question (mentioned in this question) you will know it won't work. But I appreciate your answer! Oct 23, 2019 at 12:49
  • @Quilang Well, phrasing it in a way that accounts for what you put in your previous question, surely allowing your staff to get into such a mental state that obvious bugs are getting into your code should be a source of shame? After all, prevention is better than cure, and preventing these bugs from happening in the first place gives your team time to fix other problems that they are wasting on bugs that would not have appeared if they were not overworked? Oct 23, 2019 at 14:28
  • I worked under the whip of a tyrant once, very similar to OP's boss. Didn't last three months in the company as I openly rebelled and tried to organize a strike. Wasn't the first employee to rebel there and won't be the last. Meanwhile the code was/is/will be horrible and the software slow and buggy and nothing can change it if the company's culture is bad.
    – user102507
    Oct 24, 2019 at 14:51
2

Responding to your first update:

On the other hand if it is Sunday but we are at office work overtime, how much time is acceptable to use social media?

On a Sunday? I would say at least eight hours is acceptable. Though I would hope that they would get bored sooner than that!

To begin with, why don't you make weekend work more fun?

You all have to come into the office at weekends while there are still bugs to be fixed, that's the unfortunate reality of your situation.

But you already know that no one's going to be able to fix any bugs on Saturday and Sunday having already worked Monday to Friday.

So accept that no one's going to get anything done anyway, surely you can think of something better to do than browsing social media?

You could start off with playing programming games like TIS-100 and Shenzhen I/O, compete with each other for high scores.

Once everyone's relaxed a little bit and is having fun, maybe you could think of a programming project that the ten of you could work on together? Maybe some of you already have some ideas?

It's the weekend! You're not getting paid. So do what you want.

Then, maybe, if you feel like it, for the last hour of each Saturday and Sunday, you can say "OK guys! Let's each of us take a bug and spend the last hour of today fixing it!"

An energised and motivated team will fix more in one hour than a demotivated team will in one weekend.

My other question's title may be a little big misleading. Feature creep is one of the main reasons we have some many bugs to fix. We develop new features in the name of fixing bug!

How are you working? It sounds like you have new feature list that keeps getting added to, which is what you work on during the week; and a bug list which also keeps growing, which is what you work on during the weekends.

If you can fix the bug list, then you won't need to come in at the weekends any more (however much you might want to after implementing the last bit ;-) )

Break your work down into sprints. Plan each one with your team. Prioritise fixing bugs over developing new features. Do retrospectives. All the good stuff in Lawnmower Man's answer, basically.

But fix the morale problem first to build the team back up to speed.

7
  • So before I can do the work on Sunday so that I can go home, I would have to play games and think about future projects?
    – guest
    Mar 4, 2020 at 17:23
  • @guest if that's what it takes to get you off social media and motivated to start getting the work done, yes, why not?
    – Aaron F
    Mar 4, 2020 at 18:47
  • Because people will see this as the company stealing their time. If I know I have to do X and Y and then can go home and I lose half an hour on Facebook, that's on me. But if a manager tells me we have to play games until the last hour and then can only start to work (and only if the manager feels like it!), there is something terribly wrong with the company.
    – guest
    Mar 4, 2020 at 20:35
  • @guest the way I understood the OP is that they have to go in on Sundays whether they like it or not. It didn't sound to me like they have the option of going home after finishing their work - because the work never gets finished. If you have to go into work on a day which you should have free, in order to do work that never ends, then why not try and enjoy it? My answer isn't trying to say "you must play games!" but instead it's trying to improve the morale problem. As you say: "there is something terribly wrong with the company"!
    – Aaron F
    Mar 5, 2020 at 8:47
  • At the very least, it would completely destroy my morale if I have to come because the company needs me and then have to play games
    – guest
    Mar 5, 2020 at 21:21
2

I think no one has addressed the below so far: people focus on "don't" (which I fully support) or focus on some coding practices.

If you cannot fully abolish unpaid overtime (as it comes from above), what can you do?

  • Can you provide flexible working hours? "Guys and gals, I know, we need to clock 80 hours a week, but in my team you can come and go when you want, you just need to clock that hours, because I cannot change this yet."
  • Do you have funds to compensate? Some financial voodoo might be in your grip. "I know, the overtime is actually unpaid by the company, but each employee in my team gets a 1k$ bonus if we quench 100 bugs by the end of the year."
  • Get a non-monetary compensation, a la Google did it to keep folks in the office for longer. "Folks doing overtime get three meals served for free, get an in-house gym pass and can visit a therapist for free in the seldom non-working hours." I exaggerate, of course.
  • Things I did not come up with, but support your team in all possible ways. Get them fancier computers. Move them to a better office. Cut the upper manager's throat and abolish unpaid overtime. Such things.
  • If everything fails: quit with the whole team and find a new job / launch a startup.
3
  • For the last suggestion, I don't know about other places but in China software engineer over 40 (me) is very hard to find a new job :(. I believe my boss is fully aware well of that and uses it to his advantage. Oct 25, 2019 at 6:29
  • Overtime pay needs to be at least as high as normal pay. Free meals or bonuses that are tiny fraction of normal are insulting as they imply that you can't do the math. Oct 25, 2019 at 9:27
  • My point is: OP cannot install a proper overtime pay as it's against company policy. But OP might still some resources which – even if being much less monetarily than the would be due amount of overtime pay – might help him earn some gratitude and loyalty from this workers. (Of course, if OP has the funding to completely reimburse the overtimes to his team and it is possible to smuggle the payments under the upper management's radar / outright convince the company owner that overtime payments need to be done, then OP should rather do that.) Oct 25, 2019 at 23:09
-16

How can I manage my members to maintain a reasonable productivity when my employer doesn't treat employees well?

The last half of the question is irrelevant. If employees are not being productive, discipline them since other approaches have not worked out. If you aren't prepared to discipline then you're failing in your role.

Take a guess at who is the worst and discipline them first pour encourager les autres.

You may have to repeat this a few times. Meanwhile see what you can do with the boss in terms of making some concessions to staff morale, keep repeating that as well. Don't undermine your boss to the workers, but do your best for both them and your responsibilities.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .