How should I approach a boss that keeps hiring temporary workers, only to have me finish something?
Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;
up vote
103
down vote
favorite
Long story short, we've recently had a lot of work to do at my job and in order to fill that vacuum my boss has been hiring temporary workers. At first he hired three which stayed for about two months, but after the client moved up a deadline he hired one back recently.
I've been very cautious about delegating work to them as they've been making a huge mess of the code base and then when a push to production approaches I'm approached about making it workable. My boss is getting a little picky about this and made a comment to me about them being here to help, and I need to give them something to do. The problem is he's not a developer, so he doesn't have the perspective of what it can take to fix or patch together bad code; he only has the perspective that he's paying for them.
I wouldn't have a problem giving them things to do if I didn't know (as it's happened numerous times now) that in a few weeks they'll leave and when something breaks I'll be the one who's tasked to fix it in record time. The last time this happened a temporary spent almost two weeks writing out code that I was then expected to fix in one days time.
How do I convey this without seeming like a perfectionist who just wants to do it all himself?
professionalism software-industry management manager conflict-resolution
add a comment |Â
up vote
103
down vote
favorite
Long story short, we've recently had a lot of work to do at my job and in order to fill that vacuum my boss has been hiring temporary workers. At first he hired three which stayed for about two months, but after the client moved up a deadline he hired one back recently.
I've been very cautious about delegating work to them as they've been making a huge mess of the code base and then when a push to production approaches I'm approached about making it workable. My boss is getting a little picky about this and made a comment to me about them being here to help, and I need to give them something to do. The problem is he's not a developer, so he doesn't have the perspective of what it can take to fix or patch together bad code; he only has the perspective that he's paying for them.
I wouldn't have a problem giving them things to do if I didn't know (as it's happened numerous times now) that in a few weeks they'll leave and when something breaks I'll be the one who's tasked to fix it in record time. The last time this happened a temporary spent almost two weeks writing out code that I was then expected to fix in one days time.
How do I convey this without seeming like a perfectionist who just wants to do it all himself?
professionalism software-industry management manager conflict-resolution
1
Comments are not for extended discussion; this conversation has been moved to chat.
– Jane S♦
2 days ago
Are you involved in the hiring/vetting process? Do the new hires undergo technical tests? Are they actually temp workers or freelancers?
– jcaron
yesterday
Did you manage to fix 2 weeks worth of temp's code in one day?
– Goyo
yesterday
2
If the manager isn't in software, what field is he in? Is it possible you can make an analogy that hits home for him better?
– corsiKa
yesterday
add a comment |Â
up vote
103
down vote
favorite
up vote
103
down vote
favorite
Long story short, we've recently had a lot of work to do at my job and in order to fill that vacuum my boss has been hiring temporary workers. At first he hired three which stayed for about two months, but after the client moved up a deadline he hired one back recently.
I've been very cautious about delegating work to them as they've been making a huge mess of the code base and then when a push to production approaches I'm approached about making it workable. My boss is getting a little picky about this and made a comment to me about them being here to help, and I need to give them something to do. The problem is he's not a developer, so he doesn't have the perspective of what it can take to fix or patch together bad code; he only has the perspective that he's paying for them.
I wouldn't have a problem giving them things to do if I didn't know (as it's happened numerous times now) that in a few weeks they'll leave and when something breaks I'll be the one who's tasked to fix it in record time. The last time this happened a temporary spent almost two weeks writing out code that I was then expected to fix in one days time.
How do I convey this without seeming like a perfectionist who just wants to do it all himself?
professionalism software-industry management manager conflict-resolution
Long story short, we've recently had a lot of work to do at my job and in order to fill that vacuum my boss has been hiring temporary workers. At first he hired three which stayed for about two months, but after the client moved up a deadline he hired one back recently.
I've been very cautious about delegating work to them as they've been making a huge mess of the code base and then when a push to production approaches I'm approached about making it workable. My boss is getting a little picky about this and made a comment to me about them being here to help, and I need to give them something to do. The problem is he's not a developer, so he doesn't have the perspective of what it can take to fix or patch together bad code; he only has the perspective that he's paying for them.
I wouldn't have a problem giving them things to do if I didn't know (as it's happened numerous times now) that in a few weeks they'll leave and when something breaks I'll be the one who's tasked to fix it in record time. The last time this happened a temporary spent almost two weeks writing out code that I was then expected to fix in one days time.
How do I convey this without seeming like a perfectionist who just wants to do it all himself?
professionalism software-industry management manager conflict-resolution
professionalism software-industry management manager conflict-resolution
edited 2 mins ago
Peter Mortensen
48247
48247
asked 2 days ago
Kyle
662227
662227
1
Comments are not for extended discussion; this conversation has been moved to chat.
– Jane S♦
2 days ago
Are you involved in the hiring/vetting process? Do the new hires undergo technical tests? Are they actually temp workers or freelancers?
– jcaron
yesterday
Did you manage to fix 2 weeks worth of temp's code in one day?
– Goyo
yesterday
2
If the manager isn't in software, what field is he in? Is it possible you can make an analogy that hits home for him better?
– corsiKa
yesterday
add a comment |Â
1
Comments are not for extended discussion; this conversation has been moved to chat.
– Jane S♦
2 days ago
Are you involved in the hiring/vetting process? Do the new hires undergo technical tests? Are they actually temp workers or freelancers?
– jcaron
yesterday
Did you manage to fix 2 weeks worth of temp's code in one day?
– Goyo
yesterday
2
If the manager isn't in software, what field is he in? Is it possible you can make an analogy that hits home for him better?
– corsiKa
yesterday
1
1
Comments are not for extended discussion; this conversation has been moved to chat.
– Jane S♦
2 days ago
Comments are not for extended discussion; this conversation has been moved to chat.
– Jane S♦
2 days ago
Are you involved in the hiring/vetting process? Do the new hires undergo technical tests? Are they actually temp workers or freelancers?
– jcaron
yesterday
Are you involved in the hiring/vetting process? Do the new hires undergo technical tests? Are they actually temp workers or freelancers?
– jcaron
yesterday
Did you manage to fix 2 weeks worth of temp's code in one day?
– Goyo
yesterday
Did you manage to fix 2 weeks worth of temp's code in one day?
– Goyo
yesterday
2
2
If the manager isn't in software, what field is he in? Is it possible you can make an analogy that hits home for him better?
– corsiKa
yesterday
If the manager isn't in software, what field is he in? Is it possible you can make an analogy that hits home for him better?
– corsiKa
yesterday
add a comment |Â
8 Answers
8
active
oldest
votes
up vote
190
down vote
accepted
You might want to take some arguments from the book The Mythical Man-Month by Frederick Brooks. Although it was originally written back in 1975 (overhauled in 1995), it is still one of the most important works regarding management of software development teams.
It is most known for codifying Brook's Law:
adding human resources to a late software project makes it later
The reasons are:
- New developers must be taught about the existing architecture of the project before they can do something useful. This takes time away from the existing development team.
- There is an upper bound to how many people will be able to make useful contributions to a software development project at the same time. It is often not possible to find reasonable sub-tasks to assign to new people.
Good software development requires a stable core team which works together from start to finish.
Your manager might not be aware of this rule. So he tries to help you in the only way he can think of: Add more people to your project.
161
+1000. I'm running into this now on the project I'm on. My boss understands this. Project management types don't. The best way I've heard this phrased "just because it takes one woman nine months to make a baby does not mean that nine women can do in one month".
– JimmyB
2 days ago
14
Seems like good advice and a good resource; however, your answer doesn't seem to directly address the question of 'how to approach the boss' who doesn't understand this. I.e. would you drop a copy of this book on their desk?
– Time4Tea
2 days ago
1
Brooks goes into another reason adding people makes things worse -- they add communication overhead. With two people, there's one communication path, with seven people there are eleven, with eleven people there are 55!
– Rob Crawford
2 days ago
6
@RobCrawford: For 7 people, shouldn't that be 21 instead of 11? (ie.n*(n-1)/2
, the number of edges in a complete graph?)
– Aleksi Torhamo
2 days ago
18
@RobCrawford It actually gets worse. Each time you communicate, you reset the period of uninterrupted work. If a senior developer gets asked just 1 question every 30 minutes (only 16 questions in 8 hours), he effectively have done 0 hours of complex work. Software development have problems that require hours of uninterrupted thinking time. Having that interrupted means these complex tasks are done incorrectly.
– Nelson
2 days ago
 |Â
show 9 more comments
up vote
42
down vote
The issue with temps and contractors (disclosure, I am one) is that there is often no comeback if the delivery is awful.
It may be worth having a chat with your boss about the quality of the temps. Hiring cheap means moving the costs further down the road, but eventually he'll be paying to fix the code.
You might also ask to be involved in the hiring process by providing a small coding test to make sure the temps are actually worth hiring. Nothing too dramatic, less than an hour of work to get an idea of ability.
add a comment |Â
up vote
19
down vote
This ventures into general software development advice....
1) If the code anyone writes breaks something add an automated test so that you can see it earlier next time.
2) Review pull requests, don't merge anything until you're sure nothing else breaks.
3) Tests make a good spec. TDD is a good way to ensure that what you're getting is what you want. Give someone a task to write the code you need (as exemplified by the tests you already wrote).
4) peer programming might be an option. You can correct things immediately and answer questions as things go on.
14
I'll also add to this excellent answer, that if they're writing code for 2 weeks without any reviews of what they're doing, then that needs to change. Give them tasks of 1-3 days and you can review and catch errors much earlier.
– BenFreke
2 days ago
3
Not that this answer isn't correct, but given the OP's description of their workplace, I doubt that "testing" even enters the boss' vocabulary. And code reviews? OP's boss will only see money going down the drain... :-/
– Aaron F
yesterday
You're probably right. But at that point you need to talk to the boss and make it clear that hiring and letting go of temp workers will cost far more than doing things the right way.
– xyious
yesterday
This is the right answer, the problem is not the temp developers, the problem is lack of discipline and organization. @Aaron-f You don't need to tell your boss about your tests cases any more than about your variable names. You write code with tests, period. If it doesn't have tests, it is not finished. Best way to be sure that this is true: TDD
– Juanmi Rodriguez
yesterday
add a comment |Â
up vote
18
down vote
What you wrote actually raises a number of red flags suggesting the only viable solution is changing your job. You wrote your manager ignores the importance and value of unit tests, I assume it's the same with the analysis and design as those misconceptions usually come in bundles. You also say that he thinks adding a temp dev for a month will bring anything else than a further delay. Apparently your manager has little idea how the software development project should be run and there are little to no chances that he's going to change his mind
Yet, you can try.
While a 9 women to deliver in a month is a popular way of "proving" that adding people doesn't necessarily expedite work it usually doesn't work on someone who is not into real understanding the problem but knows better instead. Rather than that use the example of digging a well.
Let's say you need to dig a well that is 1m in diameter and 15m deep.
One man needs 15 hours to dig it. How many men will it take to do the task in 1h?
The answer most managers (and most people in general) will give you will be that it'll be 15 men but that's not true and it's simple to show to anyone who has no idea about the coding well digging at all. Just like in coding you can replace one digging person with another one. You can (to some level) share your work. But only one man fits in a hole 1m wide to work at all. If you add second person inside, the first one will be obstructed by them and won't be able to do their work.
You can expedite work a bit swapping an exhausted person with a fresh one so a second person will help a bit. It'll not be 1/2 of the time, a save will be probably no more than 1/3. But adding a third man most probably won't help a bit. The two will be exchanging every hour or so, having time to regain their stamina. So if you insist on using the third worker inside the hole, the only effect will be that you lose more time when they swap or simply more men are waiting for their turn, being paid but not bringing any extra value. No gain at best, a loss at worst.
So, you can use the third person on some auxiliary tasks, like removing the excess of dirt from the well neighbourhood. Fine, it adds maybe 5% time save for the cost of a full worker.
But how can you utilise a fourth man, not to mention another 11? If you really insist on using all of them, you'll start having additional costs like communication, time for swapping etc. So starting with the fourth man you're going to add only delays with no benefit at all and additional extensive cost of people.
And that's assuming all workers are skilled. What if digging a well requires an extra precision and you hire an untrained temp for that? You need to teach them so you'll spend the first hour on showing how to properly make well walls so that they do not fall apart and how to achieve that perfectly round shape. Then they'll be working at 50% of the trained man speed and their work will still not be perfect so the perm guy will have to do the fixes, losing some time of his work. In reality before the new person can bring anything but delays the well will be ready. And it will take longer than if the skilled worker digs alone. You can still use a temp for those auxiliary tasks or the simple ones (while I'm having a break dig in the middle, leave the walls untouched) but that's still 5, maybe 10% gain at best. And if the temp hits the wall the trained worker have to fix all that and it is no longer a gain at all.
And it's something as simple as swinging a spade. Coding is way more complex.
Summarise it with something like that:
It's obvious that you need to train a dev and 1 month is a minimum
to make them run at the basic productivity level if they are
skilled. During the training you need to invest time of one regular
dev into the training and the work of temps has to be reviewed anyway
so adding anyone to the team for less than 4-6 months is nothing but
waste.
The other idea suggested you could be involved in the hiring process. That's a good advice to reduce the time of introducing a new person into the team and limiting number of errors in their code but it'll still require training (a lead in). So a temp, even a skilled one, for one month is a waste. At best, you can use them to write auxiliary things. Like unit tests ;-)
If your manager can't comprehend such comparison, your last option is to hit the job market again.
3
"Let's say you need to dig a well that is 1m in diameter and 15m deep. One man needs 15 hours to dig it. How many men will it take to do the task in 1h?" this in particular is fantastic, as unlike the overtly obvious pregnancy example, it provides the "gotcha!" angle that's synonymous with what's occurring with trying to hire more devs, so it's more cognitively relatable as a metaphor, in terms of providing that superficial "well it SHOULD work this way!" first impression. We use a "one month ramp up" for every position, even non devs, and even that ignores the cost to the rest of the team.
– taswyn
yesterday
3
The fun thing is that in many cultures this is a typical math question at the primary level with the accepted answer "1h". I think it might be the core source of later misconception that adding more resources always reduces time in a linear way. After all that's what they taught you in school!
– Ister
yesterday
"it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead." - Edsger W. Dijkstra
– JimmyJames
19 hours ago
add a comment |Â
up vote
6
down vote
How to approach boss that keeps hiring temp workers only to have me finish something?
You already have. All you can do is persevere with telling the boss.
Meanwhile there is a solution, the reason you're having to redo work is because you found out it was rubbish too late. You have an opportunity to practice some skills and take on more responsibility, but you're not doing it. It's not an esoteric problem, it's just a way of looking at a problem and resolution methodology. Well worth learning.
This is one of those times that micromanaging is critical. Assess the situation as a whole (including the people, they're a resource) and make a plan of resolution, use the manpower efficiently on those terms. This is the ONLY way to do it, you don't let even experienced people deviate from your plan, they don't have the full picture, you give them small tasks and check everything they do, they report to you at every step.
The most important bit is to understand the problem wholly and have a solid plan. Then break it up into simpler tasks wherever possible and don't rely on anyone to do their bit unsupervised.
add a comment |Â
up vote
4
down vote
The skill level of the temps is likely dependant upon the amount of money your manager is investing into them. As they are only temps he obviously doesn't want to be wasting too much funding. As you say your boss is not a developer and likely just assumes that a coder can code.
However, if it's increasing your work load in the long term and it's affecting your current work. You need to pull him for a 1x1 and just convey your issues and the reason that you are not delegating as much work down to them and your worries for the future if you do delegate work to them
You want to make sure you don't come across as if you're having a go at your boss but at the same time you need to get the message across as he doesn't understand what happens within development. If you simply mention that you would be happy to delegate the work but only when you feel safe to do so.
add a comment |Â
up vote
4
down vote
If you can get away with logic arguments like the 9 months to make a baby analogy, that's great but, in my experience, this argument only works with people who already get it. And even when they do, it will often be followed with questions about what the optimal number of team members will be.
What might help if logic fails is to put together some data showing how work is actually getting done and focus on which people's work needs remediation. If you pull this together, you can show a pretty dramatic graph of who is actually adding to the output and who is detracting from it.
Part of the problem is that managers are under pressure to deliver and they need to show that they are doing something to make it happen. Doing nothing could make them look ineffectual and irrelevant. You can help with this by offering up some changes that your manager can make that will help (better machines, laptops, whiteboards, a build server, different hours, isolated work space, etc.)
add a comment |Â
up vote
1
down vote
I find it useful to discuss a specific example. Take one case of something a temp did that took fixing by you. Describe the issue being worked on. Make a careful timeline of the events, showing when the temp got asked to work on it, how long the temp worked on it, when the problems were discovered, how the problems were fixed, and when the code was ready or at least back to usable. Compare with an estimate of how it would have worked with a stable development team. You can admit that you cherry-picked the example, but also have a list of many issues where this has transpired.
Now discuss your solution, which seems to be hiring a permanent addition to the staff. How long will it take to train this person (but you only do it once, not once per temp), how do the costs compare (as best you know), etc.
It sounds like your boss/company is not understanding that there is too much work for you to do. Hiring temps makes sense when the overload is temporary, but is a very costly solution when the overload is permanent. You need to make this case.
add a comment |Â
StackExchange.ready(function ()
$("#show-editor-button input, #show-editor-button button").click(function ()
var showEditor = function()
$("#show-editor-button").hide();
$("#post-form").removeClass("dno");
StackExchange.editor.finallyInit();
;
var useFancy = $(this).data('confirm-use-fancy');
if(useFancy == 'True')
var popupTitle = $(this).data('confirm-fancy-title');
var popupBody = $(this).data('confirm-fancy-body');
var popupAccept = $(this).data('confirm-fancy-accept-button');
$(this).loadPopup(
url: '/post/self-answer-popup',
loaded: function(popup)
var pTitle = $(popup).find('h2');
var pBody = $(popup).find('.popup-body');
var pSubmit = $(popup).find('.popup-submit');
pTitle.text(popupTitle);
pBody.html(popupBody);
pSubmit.val(popupAccept).click(showEditor);
)
else
var confirmText = $(this).data('confirm-text');
if (confirmText ? confirm(confirmText) : true)
showEditor();
);
);
8 Answers
8
active
oldest
votes
8 Answers
8
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
190
down vote
accepted
You might want to take some arguments from the book The Mythical Man-Month by Frederick Brooks. Although it was originally written back in 1975 (overhauled in 1995), it is still one of the most important works regarding management of software development teams.
It is most known for codifying Brook's Law:
adding human resources to a late software project makes it later
The reasons are:
- New developers must be taught about the existing architecture of the project before they can do something useful. This takes time away from the existing development team.
- There is an upper bound to how many people will be able to make useful contributions to a software development project at the same time. It is often not possible to find reasonable sub-tasks to assign to new people.
Good software development requires a stable core team which works together from start to finish.
Your manager might not be aware of this rule. So he tries to help you in the only way he can think of: Add more people to your project.
161
+1000. I'm running into this now on the project I'm on. My boss understands this. Project management types don't. The best way I've heard this phrased "just because it takes one woman nine months to make a baby does not mean that nine women can do in one month".
– JimmyB
2 days ago
14
Seems like good advice and a good resource; however, your answer doesn't seem to directly address the question of 'how to approach the boss' who doesn't understand this. I.e. would you drop a copy of this book on their desk?
– Time4Tea
2 days ago
1
Brooks goes into another reason adding people makes things worse -- they add communication overhead. With two people, there's one communication path, with seven people there are eleven, with eleven people there are 55!
– Rob Crawford
2 days ago
6
@RobCrawford: For 7 people, shouldn't that be 21 instead of 11? (ie.n*(n-1)/2
, the number of edges in a complete graph?)
– Aleksi Torhamo
2 days ago
18
@RobCrawford It actually gets worse. Each time you communicate, you reset the period of uninterrupted work. If a senior developer gets asked just 1 question every 30 minutes (only 16 questions in 8 hours), he effectively have done 0 hours of complex work. Software development have problems that require hours of uninterrupted thinking time. Having that interrupted means these complex tasks are done incorrectly.
– Nelson
2 days ago
 |Â
show 9 more comments
up vote
190
down vote
accepted
You might want to take some arguments from the book The Mythical Man-Month by Frederick Brooks. Although it was originally written back in 1975 (overhauled in 1995), it is still one of the most important works regarding management of software development teams.
It is most known for codifying Brook's Law:
adding human resources to a late software project makes it later
The reasons are:
- New developers must be taught about the existing architecture of the project before they can do something useful. This takes time away from the existing development team.
- There is an upper bound to how many people will be able to make useful contributions to a software development project at the same time. It is often not possible to find reasonable sub-tasks to assign to new people.
Good software development requires a stable core team which works together from start to finish.
Your manager might not be aware of this rule. So he tries to help you in the only way he can think of: Add more people to your project.
161
+1000. I'm running into this now on the project I'm on. My boss understands this. Project management types don't. The best way I've heard this phrased "just because it takes one woman nine months to make a baby does not mean that nine women can do in one month".
– JimmyB
2 days ago
14
Seems like good advice and a good resource; however, your answer doesn't seem to directly address the question of 'how to approach the boss' who doesn't understand this. I.e. would you drop a copy of this book on their desk?
– Time4Tea
2 days ago
1
Brooks goes into another reason adding people makes things worse -- they add communication overhead. With two people, there's one communication path, with seven people there are eleven, with eleven people there are 55!
– Rob Crawford
2 days ago
6
@RobCrawford: For 7 people, shouldn't that be 21 instead of 11? (ie.n*(n-1)/2
, the number of edges in a complete graph?)
– Aleksi Torhamo
2 days ago
18
@RobCrawford It actually gets worse. Each time you communicate, you reset the period of uninterrupted work. If a senior developer gets asked just 1 question every 30 minutes (only 16 questions in 8 hours), he effectively have done 0 hours of complex work. Software development have problems that require hours of uninterrupted thinking time. Having that interrupted means these complex tasks are done incorrectly.
– Nelson
2 days ago
 |Â
show 9 more comments
up vote
190
down vote
accepted
up vote
190
down vote
accepted
You might want to take some arguments from the book The Mythical Man-Month by Frederick Brooks. Although it was originally written back in 1975 (overhauled in 1995), it is still one of the most important works regarding management of software development teams.
It is most known for codifying Brook's Law:
adding human resources to a late software project makes it later
The reasons are:
- New developers must be taught about the existing architecture of the project before they can do something useful. This takes time away from the existing development team.
- There is an upper bound to how many people will be able to make useful contributions to a software development project at the same time. It is often not possible to find reasonable sub-tasks to assign to new people.
Good software development requires a stable core team which works together from start to finish.
Your manager might not be aware of this rule. So he tries to help you in the only way he can think of: Add more people to your project.
You might want to take some arguments from the book The Mythical Man-Month by Frederick Brooks. Although it was originally written back in 1975 (overhauled in 1995), it is still one of the most important works regarding management of software development teams.
It is most known for codifying Brook's Law:
adding human resources to a late software project makes it later
The reasons are:
- New developers must be taught about the existing architecture of the project before they can do something useful. This takes time away from the existing development team.
- There is an upper bound to how many people will be able to make useful contributions to a software development project at the same time. It is often not possible to find reasonable sub-tasks to assign to new people.
Good software development requires a stable core team which works together from start to finish.
Your manager might not be aware of this rule. So he tries to help you in the only way he can think of: Add more people to your project.
answered 2 days ago
Philipp
21.1k45086
21.1k45086
161
+1000. I'm running into this now on the project I'm on. My boss understands this. Project management types don't. The best way I've heard this phrased "just because it takes one woman nine months to make a baby does not mean that nine women can do in one month".
– JimmyB
2 days ago
14
Seems like good advice and a good resource; however, your answer doesn't seem to directly address the question of 'how to approach the boss' who doesn't understand this. I.e. would you drop a copy of this book on their desk?
– Time4Tea
2 days ago
1
Brooks goes into another reason adding people makes things worse -- they add communication overhead. With two people, there's one communication path, with seven people there are eleven, with eleven people there are 55!
– Rob Crawford
2 days ago
6
@RobCrawford: For 7 people, shouldn't that be 21 instead of 11? (ie.n*(n-1)/2
, the number of edges in a complete graph?)
– Aleksi Torhamo
2 days ago
18
@RobCrawford It actually gets worse. Each time you communicate, you reset the period of uninterrupted work. If a senior developer gets asked just 1 question every 30 minutes (only 16 questions in 8 hours), he effectively have done 0 hours of complex work. Software development have problems that require hours of uninterrupted thinking time. Having that interrupted means these complex tasks are done incorrectly.
– Nelson
2 days ago
 |Â
show 9 more comments
161
+1000. I'm running into this now on the project I'm on. My boss understands this. Project management types don't. The best way I've heard this phrased "just because it takes one woman nine months to make a baby does not mean that nine women can do in one month".
– JimmyB
2 days ago
14
Seems like good advice and a good resource; however, your answer doesn't seem to directly address the question of 'how to approach the boss' who doesn't understand this. I.e. would you drop a copy of this book on their desk?
– Time4Tea
2 days ago
1
Brooks goes into another reason adding people makes things worse -- they add communication overhead. With two people, there's one communication path, with seven people there are eleven, with eleven people there are 55!
– Rob Crawford
2 days ago
6
@RobCrawford: For 7 people, shouldn't that be 21 instead of 11? (ie.n*(n-1)/2
, the number of edges in a complete graph?)
– Aleksi Torhamo
2 days ago
18
@RobCrawford It actually gets worse. Each time you communicate, you reset the period of uninterrupted work. If a senior developer gets asked just 1 question every 30 minutes (only 16 questions in 8 hours), he effectively have done 0 hours of complex work. Software development have problems that require hours of uninterrupted thinking time. Having that interrupted means these complex tasks are done incorrectly.
– Nelson
2 days ago
161
161
+1000. I'm running into this now on the project I'm on. My boss understands this. Project management types don't. The best way I've heard this phrased "just because it takes one woman nine months to make a baby does not mean that nine women can do in one month".
– JimmyB
2 days ago
+1000. I'm running into this now on the project I'm on. My boss understands this. Project management types don't. The best way I've heard this phrased "just because it takes one woman nine months to make a baby does not mean that nine women can do in one month".
– JimmyB
2 days ago
14
14
Seems like good advice and a good resource; however, your answer doesn't seem to directly address the question of 'how to approach the boss' who doesn't understand this. I.e. would you drop a copy of this book on their desk?
– Time4Tea
2 days ago
Seems like good advice and a good resource; however, your answer doesn't seem to directly address the question of 'how to approach the boss' who doesn't understand this. I.e. would you drop a copy of this book on their desk?
– Time4Tea
2 days ago
1
1
Brooks goes into another reason adding people makes things worse -- they add communication overhead. With two people, there's one communication path, with seven people there are eleven, with eleven people there are 55!
– Rob Crawford
2 days ago
Brooks goes into another reason adding people makes things worse -- they add communication overhead. With two people, there's one communication path, with seven people there are eleven, with eleven people there are 55!
– Rob Crawford
2 days ago
6
6
@RobCrawford: For 7 people, shouldn't that be 21 instead of 11? (ie.
n*(n-1)/2
, the number of edges in a complete graph?)– Aleksi Torhamo
2 days ago
@RobCrawford: For 7 people, shouldn't that be 21 instead of 11? (ie.
n*(n-1)/2
, the number of edges in a complete graph?)– Aleksi Torhamo
2 days ago
18
18
@RobCrawford It actually gets worse. Each time you communicate, you reset the period of uninterrupted work. If a senior developer gets asked just 1 question every 30 minutes (only 16 questions in 8 hours), he effectively have done 0 hours of complex work. Software development have problems that require hours of uninterrupted thinking time. Having that interrupted means these complex tasks are done incorrectly.
– Nelson
2 days ago
@RobCrawford It actually gets worse. Each time you communicate, you reset the period of uninterrupted work. If a senior developer gets asked just 1 question every 30 minutes (only 16 questions in 8 hours), he effectively have done 0 hours of complex work. Software development have problems that require hours of uninterrupted thinking time. Having that interrupted means these complex tasks are done incorrectly.
– Nelson
2 days ago
 |Â
show 9 more comments
up vote
42
down vote
The issue with temps and contractors (disclosure, I am one) is that there is often no comeback if the delivery is awful.
It may be worth having a chat with your boss about the quality of the temps. Hiring cheap means moving the costs further down the road, but eventually he'll be paying to fix the code.
You might also ask to be involved in the hiring process by providing a small coding test to make sure the temps are actually worth hiring. Nothing too dramatic, less than an hour of work to get an idea of ability.
add a comment |Â
up vote
42
down vote
The issue with temps and contractors (disclosure, I am one) is that there is often no comeback if the delivery is awful.
It may be worth having a chat with your boss about the quality of the temps. Hiring cheap means moving the costs further down the road, but eventually he'll be paying to fix the code.
You might also ask to be involved in the hiring process by providing a small coding test to make sure the temps are actually worth hiring. Nothing too dramatic, less than an hour of work to get an idea of ability.
add a comment |Â
up vote
42
down vote
up vote
42
down vote
The issue with temps and contractors (disclosure, I am one) is that there is often no comeback if the delivery is awful.
It may be worth having a chat with your boss about the quality of the temps. Hiring cheap means moving the costs further down the road, but eventually he'll be paying to fix the code.
You might also ask to be involved in the hiring process by providing a small coding test to make sure the temps are actually worth hiring. Nothing too dramatic, less than an hour of work to get an idea of ability.
The issue with temps and contractors (disclosure, I am one) is that there is often no comeback if the delivery is awful.
It may be worth having a chat with your boss about the quality of the temps. Hiring cheap means moving the costs further down the road, but eventually he'll be paying to fix the code.
You might also ask to be involved in the hiring process by providing a small coding test to make sure the temps are actually worth hiring. Nothing too dramatic, less than an hour of work to get an idea of ability.
answered 2 days ago


JohnHC
12.2k83143
12.2k83143
add a comment |Â
add a comment |Â
up vote
19
down vote
This ventures into general software development advice....
1) If the code anyone writes breaks something add an automated test so that you can see it earlier next time.
2) Review pull requests, don't merge anything until you're sure nothing else breaks.
3) Tests make a good spec. TDD is a good way to ensure that what you're getting is what you want. Give someone a task to write the code you need (as exemplified by the tests you already wrote).
4) peer programming might be an option. You can correct things immediately and answer questions as things go on.
14
I'll also add to this excellent answer, that if they're writing code for 2 weeks without any reviews of what they're doing, then that needs to change. Give them tasks of 1-3 days and you can review and catch errors much earlier.
– BenFreke
2 days ago
3
Not that this answer isn't correct, but given the OP's description of their workplace, I doubt that "testing" even enters the boss' vocabulary. And code reviews? OP's boss will only see money going down the drain... :-/
– Aaron F
yesterday
You're probably right. But at that point you need to talk to the boss and make it clear that hiring and letting go of temp workers will cost far more than doing things the right way.
– xyious
yesterday
This is the right answer, the problem is not the temp developers, the problem is lack of discipline and organization. @Aaron-f You don't need to tell your boss about your tests cases any more than about your variable names. You write code with tests, period. If it doesn't have tests, it is not finished. Best way to be sure that this is true: TDD
– Juanmi Rodriguez
yesterday
add a comment |Â
up vote
19
down vote
This ventures into general software development advice....
1) If the code anyone writes breaks something add an automated test so that you can see it earlier next time.
2) Review pull requests, don't merge anything until you're sure nothing else breaks.
3) Tests make a good spec. TDD is a good way to ensure that what you're getting is what you want. Give someone a task to write the code you need (as exemplified by the tests you already wrote).
4) peer programming might be an option. You can correct things immediately and answer questions as things go on.
14
I'll also add to this excellent answer, that if they're writing code for 2 weeks without any reviews of what they're doing, then that needs to change. Give them tasks of 1-3 days and you can review and catch errors much earlier.
– BenFreke
2 days ago
3
Not that this answer isn't correct, but given the OP's description of their workplace, I doubt that "testing" even enters the boss' vocabulary. And code reviews? OP's boss will only see money going down the drain... :-/
– Aaron F
yesterday
You're probably right. But at that point you need to talk to the boss and make it clear that hiring and letting go of temp workers will cost far more than doing things the right way.
– xyious
yesterday
This is the right answer, the problem is not the temp developers, the problem is lack of discipline and organization. @Aaron-f You don't need to tell your boss about your tests cases any more than about your variable names. You write code with tests, period. If it doesn't have tests, it is not finished. Best way to be sure that this is true: TDD
– Juanmi Rodriguez
yesterday
add a comment |Â
up vote
19
down vote
up vote
19
down vote
This ventures into general software development advice....
1) If the code anyone writes breaks something add an automated test so that you can see it earlier next time.
2) Review pull requests, don't merge anything until you're sure nothing else breaks.
3) Tests make a good spec. TDD is a good way to ensure that what you're getting is what you want. Give someone a task to write the code you need (as exemplified by the tests you already wrote).
4) peer programming might be an option. You can correct things immediately and answer questions as things go on.
This ventures into general software development advice....
1) If the code anyone writes breaks something add an automated test so that you can see it earlier next time.
2) Review pull requests, don't merge anything until you're sure nothing else breaks.
3) Tests make a good spec. TDD is a good way to ensure that what you're getting is what you want. Give someone a task to write the code you need (as exemplified by the tests you already wrote).
4) peer programming might be an option. You can correct things immediately and answer questions as things go on.
answered 2 days ago
xyious
3445
3445
14
I'll also add to this excellent answer, that if they're writing code for 2 weeks without any reviews of what they're doing, then that needs to change. Give them tasks of 1-3 days and you can review and catch errors much earlier.
– BenFreke
2 days ago
3
Not that this answer isn't correct, but given the OP's description of their workplace, I doubt that "testing" even enters the boss' vocabulary. And code reviews? OP's boss will only see money going down the drain... :-/
– Aaron F
yesterday
You're probably right. But at that point you need to talk to the boss and make it clear that hiring and letting go of temp workers will cost far more than doing things the right way.
– xyious
yesterday
This is the right answer, the problem is not the temp developers, the problem is lack of discipline and organization. @Aaron-f You don't need to tell your boss about your tests cases any more than about your variable names. You write code with tests, period. If it doesn't have tests, it is not finished. Best way to be sure that this is true: TDD
– Juanmi Rodriguez
yesterday
add a comment |Â
14
I'll also add to this excellent answer, that if they're writing code for 2 weeks without any reviews of what they're doing, then that needs to change. Give them tasks of 1-3 days and you can review and catch errors much earlier.
– BenFreke
2 days ago
3
Not that this answer isn't correct, but given the OP's description of their workplace, I doubt that "testing" even enters the boss' vocabulary. And code reviews? OP's boss will only see money going down the drain... :-/
– Aaron F
yesterday
You're probably right. But at that point you need to talk to the boss and make it clear that hiring and letting go of temp workers will cost far more than doing things the right way.
– xyious
yesterday
This is the right answer, the problem is not the temp developers, the problem is lack of discipline and organization. @Aaron-f You don't need to tell your boss about your tests cases any more than about your variable names. You write code with tests, period. If it doesn't have tests, it is not finished. Best way to be sure that this is true: TDD
– Juanmi Rodriguez
yesterday
14
14
I'll also add to this excellent answer, that if they're writing code for 2 weeks without any reviews of what they're doing, then that needs to change. Give them tasks of 1-3 days and you can review and catch errors much earlier.
– BenFreke
2 days ago
I'll also add to this excellent answer, that if they're writing code for 2 weeks without any reviews of what they're doing, then that needs to change. Give them tasks of 1-3 days and you can review and catch errors much earlier.
– BenFreke
2 days ago
3
3
Not that this answer isn't correct, but given the OP's description of their workplace, I doubt that "testing" even enters the boss' vocabulary. And code reviews? OP's boss will only see money going down the drain... :-/
– Aaron F
yesterday
Not that this answer isn't correct, but given the OP's description of their workplace, I doubt that "testing" even enters the boss' vocabulary. And code reviews? OP's boss will only see money going down the drain... :-/
– Aaron F
yesterday
You're probably right. But at that point you need to talk to the boss and make it clear that hiring and letting go of temp workers will cost far more than doing things the right way.
– xyious
yesterday
You're probably right. But at that point you need to talk to the boss and make it clear that hiring and letting go of temp workers will cost far more than doing things the right way.
– xyious
yesterday
This is the right answer, the problem is not the temp developers, the problem is lack of discipline and organization. @Aaron-f You don't need to tell your boss about your tests cases any more than about your variable names. You write code with tests, period. If it doesn't have tests, it is not finished. Best way to be sure that this is true: TDD
– Juanmi Rodriguez
yesterday
This is the right answer, the problem is not the temp developers, the problem is lack of discipline and organization. @Aaron-f You don't need to tell your boss about your tests cases any more than about your variable names. You write code with tests, period. If it doesn't have tests, it is not finished. Best way to be sure that this is true: TDD
– Juanmi Rodriguez
yesterday
add a comment |Â
up vote
18
down vote
What you wrote actually raises a number of red flags suggesting the only viable solution is changing your job. You wrote your manager ignores the importance and value of unit tests, I assume it's the same with the analysis and design as those misconceptions usually come in bundles. You also say that he thinks adding a temp dev for a month will bring anything else than a further delay. Apparently your manager has little idea how the software development project should be run and there are little to no chances that he's going to change his mind
Yet, you can try.
While a 9 women to deliver in a month is a popular way of "proving" that adding people doesn't necessarily expedite work it usually doesn't work on someone who is not into real understanding the problem but knows better instead. Rather than that use the example of digging a well.
Let's say you need to dig a well that is 1m in diameter and 15m deep.
One man needs 15 hours to dig it. How many men will it take to do the task in 1h?
The answer most managers (and most people in general) will give you will be that it'll be 15 men but that's not true and it's simple to show to anyone who has no idea about the coding well digging at all. Just like in coding you can replace one digging person with another one. You can (to some level) share your work. But only one man fits in a hole 1m wide to work at all. If you add second person inside, the first one will be obstructed by them and won't be able to do their work.
You can expedite work a bit swapping an exhausted person with a fresh one so a second person will help a bit. It'll not be 1/2 of the time, a save will be probably no more than 1/3. But adding a third man most probably won't help a bit. The two will be exchanging every hour or so, having time to regain their stamina. So if you insist on using the third worker inside the hole, the only effect will be that you lose more time when they swap or simply more men are waiting for their turn, being paid but not bringing any extra value. No gain at best, a loss at worst.
So, you can use the third person on some auxiliary tasks, like removing the excess of dirt from the well neighbourhood. Fine, it adds maybe 5% time save for the cost of a full worker.
But how can you utilise a fourth man, not to mention another 11? If you really insist on using all of them, you'll start having additional costs like communication, time for swapping etc. So starting with the fourth man you're going to add only delays with no benefit at all and additional extensive cost of people.
And that's assuming all workers are skilled. What if digging a well requires an extra precision and you hire an untrained temp for that? You need to teach them so you'll spend the first hour on showing how to properly make well walls so that they do not fall apart and how to achieve that perfectly round shape. Then they'll be working at 50% of the trained man speed and their work will still not be perfect so the perm guy will have to do the fixes, losing some time of his work. In reality before the new person can bring anything but delays the well will be ready. And it will take longer than if the skilled worker digs alone. You can still use a temp for those auxiliary tasks or the simple ones (while I'm having a break dig in the middle, leave the walls untouched) but that's still 5, maybe 10% gain at best. And if the temp hits the wall the trained worker have to fix all that and it is no longer a gain at all.
And it's something as simple as swinging a spade. Coding is way more complex.
Summarise it with something like that:
It's obvious that you need to train a dev and 1 month is a minimum
to make them run at the basic productivity level if they are
skilled. During the training you need to invest time of one regular
dev into the training and the work of temps has to be reviewed anyway
so adding anyone to the team for less than 4-6 months is nothing but
waste.
The other idea suggested you could be involved in the hiring process. That's a good advice to reduce the time of introducing a new person into the team and limiting number of errors in their code but it'll still require training (a lead in). So a temp, even a skilled one, for one month is a waste. At best, you can use them to write auxiliary things. Like unit tests ;-)
If your manager can't comprehend such comparison, your last option is to hit the job market again.
3
"Let's say you need to dig a well that is 1m in diameter and 15m deep. One man needs 15 hours to dig it. How many men will it take to do the task in 1h?" this in particular is fantastic, as unlike the overtly obvious pregnancy example, it provides the "gotcha!" angle that's synonymous with what's occurring with trying to hire more devs, so it's more cognitively relatable as a metaphor, in terms of providing that superficial "well it SHOULD work this way!" first impression. We use a "one month ramp up" for every position, even non devs, and even that ignores the cost to the rest of the team.
– taswyn
yesterday
3
The fun thing is that in many cultures this is a typical math question at the primary level with the accepted answer "1h". I think it might be the core source of later misconception that adding more resources always reduces time in a linear way. After all that's what they taught you in school!
– Ister
yesterday
"it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead." - Edsger W. Dijkstra
– JimmyJames
19 hours ago
add a comment |Â
up vote
18
down vote
What you wrote actually raises a number of red flags suggesting the only viable solution is changing your job. You wrote your manager ignores the importance and value of unit tests, I assume it's the same with the analysis and design as those misconceptions usually come in bundles. You also say that he thinks adding a temp dev for a month will bring anything else than a further delay. Apparently your manager has little idea how the software development project should be run and there are little to no chances that he's going to change his mind
Yet, you can try.
While a 9 women to deliver in a month is a popular way of "proving" that adding people doesn't necessarily expedite work it usually doesn't work on someone who is not into real understanding the problem but knows better instead. Rather than that use the example of digging a well.
Let's say you need to dig a well that is 1m in diameter and 15m deep.
One man needs 15 hours to dig it. How many men will it take to do the task in 1h?
The answer most managers (and most people in general) will give you will be that it'll be 15 men but that's not true and it's simple to show to anyone who has no idea about the coding well digging at all. Just like in coding you can replace one digging person with another one. You can (to some level) share your work. But only one man fits in a hole 1m wide to work at all. If you add second person inside, the first one will be obstructed by them and won't be able to do their work.
You can expedite work a bit swapping an exhausted person with a fresh one so a second person will help a bit. It'll not be 1/2 of the time, a save will be probably no more than 1/3. But adding a third man most probably won't help a bit. The two will be exchanging every hour or so, having time to regain their stamina. So if you insist on using the third worker inside the hole, the only effect will be that you lose more time when they swap or simply more men are waiting for their turn, being paid but not bringing any extra value. No gain at best, a loss at worst.
So, you can use the third person on some auxiliary tasks, like removing the excess of dirt from the well neighbourhood. Fine, it adds maybe 5% time save for the cost of a full worker.
But how can you utilise a fourth man, not to mention another 11? If you really insist on using all of them, you'll start having additional costs like communication, time for swapping etc. So starting with the fourth man you're going to add only delays with no benefit at all and additional extensive cost of people.
And that's assuming all workers are skilled. What if digging a well requires an extra precision and you hire an untrained temp for that? You need to teach them so you'll spend the first hour on showing how to properly make well walls so that they do not fall apart and how to achieve that perfectly round shape. Then they'll be working at 50% of the trained man speed and their work will still not be perfect so the perm guy will have to do the fixes, losing some time of his work. In reality before the new person can bring anything but delays the well will be ready. And it will take longer than if the skilled worker digs alone. You can still use a temp for those auxiliary tasks or the simple ones (while I'm having a break dig in the middle, leave the walls untouched) but that's still 5, maybe 10% gain at best. And if the temp hits the wall the trained worker have to fix all that and it is no longer a gain at all.
And it's something as simple as swinging a spade. Coding is way more complex.
Summarise it with something like that:
It's obvious that you need to train a dev and 1 month is a minimum
to make them run at the basic productivity level if they are
skilled. During the training you need to invest time of one regular
dev into the training and the work of temps has to be reviewed anyway
so adding anyone to the team for less than 4-6 months is nothing but
waste.
The other idea suggested you could be involved in the hiring process. That's a good advice to reduce the time of introducing a new person into the team and limiting number of errors in their code but it'll still require training (a lead in). So a temp, even a skilled one, for one month is a waste. At best, you can use them to write auxiliary things. Like unit tests ;-)
If your manager can't comprehend such comparison, your last option is to hit the job market again.
3
"Let's say you need to dig a well that is 1m in diameter and 15m deep. One man needs 15 hours to dig it. How many men will it take to do the task in 1h?" this in particular is fantastic, as unlike the overtly obvious pregnancy example, it provides the "gotcha!" angle that's synonymous with what's occurring with trying to hire more devs, so it's more cognitively relatable as a metaphor, in terms of providing that superficial "well it SHOULD work this way!" first impression. We use a "one month ramp up" for every position, even non devs, and even that ignores the cost to the rest of the team.
– taswyn
yesterday
3
The fun thing is that in many cultures this is a typical math question at the primary level with the accepted answer "1h". I think it might be the core source of later misconception that adding more resources always reduces time in a linear way. After all that's what they taught you in school!
– Ister
yesterday
"it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead." - Edsger W. Dijkstra
– JimmyJames
19 hours ago
add a comment |Â
up vote
18
down vote
up vote
18
down vote
What you wrote actually raises a number of red flags suggesting the only viable solution is changing your job. You wrote your manager ignores the importance and value of unit tests, I assume it's the same with the analysis and design as those misconceptions usually come in bundles. You also say that he thinks adding a temp dev for a month will bring anything else than a further delay. Apparently your manager has little idea how the software development project should be run and there are little to no chances that he's going to change his mind
Yet, you can try.
While a 9 women to deliver in a month is a popular way of "proving" that adding people doesn't necessarily expedite work it usually doesn't work on someone who is not into real understanding the problem but knows better instead. Rather than that use the example of digging a well.
Let's say you need to dig a well that is 1m in diameter and 15m deep.
One man needs 15 hours to dig it. How many men will it take to do the task in 1h?
The answer most managers (and most people in general) will give you will be that it'll be 15 men but that's not true and it's simple to show to anyone who has no idea about the coding well digging at all. Just like in coding you can replace one digging person with another one. You can (to some level) share your work. But only one man fits in a hole 1m wide to work at all. If you add second person inside, the first one will be obstructed by them and won't be able to do their work.
You can expedite work a bit swapping an exhausted person with a fresh one so a second person will help a bit. It'll not be 1/2 of the time, a save will be probably no more than 1/3. But adding a third man most probably won't help a bit. The two will be exchanging every hour or so, having time to regain their stamina. So if you insist on using the third worker inside the hole, the only effect will be that you lose more time when they swap or simply more men are waiting for their turn, being paid but not bringing any extra value. No gain at best, a loss at worst.
So, you can use the third person on some auxiliary tasks, like removing the excess of dirt from the well neighbourhood. Fine, it adds maybe 5% time save for the cost of a full worker.
But how can you utilise a fourth man, not to mention another 11? If you really insist on using all of them, you'll start having additional costs like communication, time for swapping etc. So starting with the fourth man you're going to add only delays with no benefit at all and additional extensive cost of people.
And that's assuming all workers are skilled. What if digging a well requires an extra precision and you hire an untrained temp for that? You need to teach them so you'll spend the first hour on showing how to properly make well walls so that they do not fall apart and how to achieve that perfectly round shape. Then they'll be working at 50% of the trained man speed and their work will still not be perfect so the perm guy will have to do the fixes, losing some time of his work. In reality before the new person can bring anything but delays the well will be ready. And it will take longer than if the skilled worker digs alone. You can still use a temp for those auxiliary tasks or the simple ones (while I'm having a break dig in the middle, leave the walls untouched) but that's still 5, maybe 10% gain at best. And if the temp hits the wall the trained worker have to fix all that and it is no longer a gain at all.
And it's something as simple as swinging a spade. Coding is way more complex.
Summarise it with something like that:
It's obvious that you need to train a dev and 1 month is a minimum
to make them run at the basic productivity level if they are
skilled. During the training you need to invest time of one regular
dev into the training and the work of temps has to be reviewed anyway
so adding anyone to the team for less than 4-6 months is nothing but
waste.
The other idea suggested you could be involved in the hiring process. That's a good advice to reduce the time of introducing a new person into the team and limiting number of errors in their code but it'll still require training (a lead in). So a temp, even a skilled one, for one month is a waste. At best, you can use them to write auxiliary things. Like unit tests ;-)
If your manager can't comprehend such comparison, your last option is to hit the job market again.
What you wrote actually raises a number of red flags suggesting the only viable solution is changing your job. You wrote your manager ignores the importance and value of unit tests, I assume it's the same with the analysis and design as those misconceptions usually come in bundles. You also say that he thinks adding a temp dev for a month will bring anything else than a further delay. Apparently your manager has little idea how the software development project should be run and there are little to no chances that he's going to change his mind
Yet, you can try.
While a 9 women to deliver in a month is a popular way of "proving" that adding people doesn't necessarily expedite work it usually doesn't work on someone who is not into real understanding the problem but knows better instead. Rather than that use the example of digging a well.
Let's say you need to dig a well that is 1m in diameter and 15m deep.
One man needs 15 hours to dig it. How many men will it take to do the task in 1h?
The answer most managers (and most people in general) will give you will be that it'll be 15 men but that's not true and it's simple to show to anyone who has no idea about the coding well digging at all. Just like in coding you can replace one digging person with another one. You can (to some level) share your work. But only one man fits in a hole 1m wide to work at all. If you add second person inside, the first one will be obstructed by them and won't be able to do their work.
You can expedite work a bit swapping an exhausted person with a fresh one so a second person will help a bit. It'll not be 1/2 of the time, a save will be probably no more than 1/3. But adding a third man most probably won't help a bit. The two will be exchanging every hour or so, having time to regain their stamina. So if you insist on using the third worker inside the hole, the only effect will be that you lose more time when they swap or simply more men are waiting for their turn, being paid but not bringing any extra value. No gain at best, a loss at worst.
So, you can use the third person on some auxiliary tasks, like removing the excess of dirt from the well neighbourhood. Fine, it adds maybe 5% time save for the cost of a full worker.
But how can you utilise a fourth man, not to mention another 11? If you really insist on using all of them, you'll start having additional costs like communication, time for swapping etc. So starting with the fourth man you're going to add only delays with no benefit at all and additional extensive cost of people.
And that's assuming all workers are skilled. What if digging a well requires an extra precision and you hire an untrained temp for that? You need to teach them so you'll spend the first hour on showing how to properly make well walls so that they do not fall apart and how to achieve that perfectly round shape. Then they'll be working at 50% of the trained man speed and their work will still not be perfect so the perm guy will have to do the fixes, losing some time of his work. In reality before the new person can bring anything but delays the well will be ready. And it will take longer than if the skilled worker digs alone. You can still use a temp for those auxiliary tasks or the simple ones (while I'm having a break dig in the middle, leave the walls untouched) but that's still 5, maybe 10% gain at best. And if the temp hits the wall the trained worker have to fix all that and it is no longer a gain at all.
And it's something as simple as swinging a spade. Coding is way more complex.
Summarise it with something like that:
It's obvious that you need to train a dev and 1 month is a minimum
to make them run at the basic productivity level if they are
skilled. During the training you need to invest time of one regular
dev into the training and the work of temps has to be reviewed anyway
so adding anyone to the team for less than 4-6 months is nothing but
waste.
The other idea suggested you could be involved in the hiring process. That's a good advice to reduce the time of introducing a new person into the team and limiting number of errors in their code but it'll still require training (a lead in). So a temp, even a skilled one, for one month is a waste. At best, you can use them to write auxiliary things. Like unit tests ;-)
If your manager can't comprehend such comparison, your last option is to hit the job market again.
edited yesterday
taswyn
25216
25216
answered 2 days ago
Ister
5388
5388
3
"Let's say you need to dig a well that is 1m in diameter and 15m deep. One man needs 15 hours to dig it. How many men will it take to do the task in 1h?" this in particular is fantastic, as unlike the overtly obvious pregnancy example, it provides the "gotcha!" angle that's synonymous with what's occurring with trying to hire more devs, so it's more cognitively relatable as a metaphor, in terms of providing that superficial "well it SHOULD work this way!" first impression. We use a "one month ramp up" for every position, even non devs, and even that ignores the cost to the rest of the team.
– taswyn
yesterday
3
The fun thing is that in many cultures this is a typical math question at the primary level with the accepted answer "1h". I think it might be the core source of later misconception that adding more resources always reduces time in a linear way. After all that's what they taught you in school!
– Ister
yesterday
"it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead." - Edsger W. Dijkstra
– JimmyJames
19 hours ago
add a comment |Â
3
"Let's say you need to dig a well that is 1m in diameter and 15m deep. One man needs 15 hours to dig it. How many men will it take to do the task in 1h?" this in particular is fantastic, as unlike the overtly obvious pregnancy example, it provides the "gotcha!" angle that's synonymous with what's occurring with trying to hire more devs, so it's more cognitively relatable as a metaphor, in terms of providing that superficial "well it SHOULD work this way!" first impression. We use a "one month ramp up" for every position, even non devs, and even that ignores the cost to the rest of the team.
– taswyn
yesterday
3
The fun thing is that in many cultures this is a typical math question at the primary level with the accepted answer "1h". I think it might be the core source of later misconception that adding more resources always reduces time in a linear way. After all that's what they taught you in school!
– Ister
yesterday
"it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead." - Edsger W. Dijkstra
– JimmyJames
19 hours ago
3
3
"Let's say you need to dig a well that is 1m in diameter and 15m deep. One man needs 15 hours to dig it. How many men will it take to do the task in 1h?" this in particular is fantastic, as unlike the overtly obvious pregnancy example, it provides the "gotcha!" angle that's synonymous with what's occurring with trying to hire more devs, so it's more cognitively relatable as a metaphor, in terms of providing that superficial "well it SHOULD work this way!" first impression. We use a "one month ramp up" for every position, even non devs, and even that ignores the cost to the rest of the team.
– taswyn
yesterday
"Let's say you need to dig a well that is 1m in diameter and 15m deep. One man needs 15 hours to dig it. How many men will it take to do the task in 1h?" this in particular is fantastic, as unlike the overtly obvious pregnancy example, it provides the "gotcha!" angle that's synonymous with what's occurring with trying to hire more devs, so it's more cognitively relatable as a metaphor, in terms of providing that superficial "well it SHOULD work this way!" first impression. We use a "one month ramp up" for every position, even non devs, and even that ignores the cost to the rest of the team.
– taswyn
yesterday
3
3
The fun thing is that in many cultures this is a typical math question at the primary level with the accepted answer "1h". I think it might be the core source of later misconception that adding more resources always reduces time in a linear way. After all that's what they taught you in school!
– Ister
yesterday
The fun thing is that in many cultures this is a typical math question at the primary level with the accepted answer "1h". I think it might be the core source of later misconception that adding more resources always reduces time in a linear way. After all that's what they taught you in school!
– Ister
yesterday
"it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead." - Edsger W. Dijkstra
– JimmyJames
19 hours ago
"it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead." - Edsger W. Dijkstra
– JimmyJames
19 hours ago
add a comment |Â
up vote
6
down vote
How to approach boss that keeps hiring temp workers only to have me finish something?
You already have. All you can do is persevere with telling the boss.
Meanwhile there is a solution, the reason you're having to redo work is because you found out it was rubbish too late. You have an opportunity to practice some skills and take on more responsibility, but you're not doing it. It's not an esoteric problem, it's just a way of looking at a problem and resolution methodology. Well worth learning.
This is one of those times that micromanaging is critical. Assess the situation as a whole (including the people, they're a resource) and make a plan of resolution, use the manpower efficiently on those terms. This is the ONLY way to do it, you don't let even experienced people deviate from your plan, they don't have the full picture, you give them small tasks and check everything they do, they report to you at every step.
The most important bit is to understand the problem wholly and have a solid plan. Then break it up into simpler tasks wherever possible and don't rely on anyone to do their bit unsupervised.
add a comment |Â
up vote
6
down vote
How to approach boss that keeps hiring temp workers only to have me finish something?
You already have. All you can do is persevere with telling the boss.
Meanwhile there is a solution, the reason you're having to redo work is because you found out it was rubbish too late. You have an opportunity to practice some skills and take on more responsibility, but you're not doing it. It's not an esoteric problem, it's just a way of looking at a problem and resolution methodology. Well worth learning.
This is one of those times that micromanaging is critical. Assess the situation as a whole (including the people, they're a resource) and make a plan of resolution, use the manpower efficiently on those terms. This is the ONLY way to do it, you don't let even experienced people deviate from your plan, they don't have the full picture, you give them small tasks and check everything they do, they report to you at every step.
The most important bit is to understand the problem wholly and have a solid plan. Then break it up into simpler tasks wherever possible and don't rely on anyone to do their bit unsupervised.
add a comment |Â
up vote
6
down vote
up vote
6
down vote
How to approach boss that keeps hiring temp workers only to have me finish something?
You already have. All you can do is persevere with telling the boss.
Meanwhile there is a solution, the reason you're having to redo work is because you found out it was rubbish too late. You have an opportunity to practice some skills and take on more responsibility, but you're not doing it. It's not an esoteric problem, it's just a way of looking at a problem and resolution methodology. Well worth learning.
This is one of those times that micromanaging is critical. Assess the situation as a whole (including the people, they're a resource) and make a plan of resolution, use the manpower efficiently on those terms. This is the ONLY way to do it, you don't let even experienced people deviate from your plan, they don't have the full picture, you give them small tasks and check everything they do, they report to you at every step.
The most important bit is to understand the problem wholly and have a solid plan. Then break it up into simpler tasks wherever possible and don't rely on anyone to do their bit unsupervised.
How to approach boss that keeps hiring temp workers only to have me finish something?
You already have. All you can do is persevere with telling the boss.
Meanwhile there is a solution, the reason you're having to redo work is because you found out it was rubbish too late. You have an opportunity to practice some skills and take on more responsibility, but you're not doing it. It's not an esoteric problem, it's just a way of looking at a problem and resolution methodology. Well worth learning.
This is one of those times that micromanaging is critical. Assess the situation as a whole (including the people, they're a resource) and make a plan of resolution, use the manpower efficiently on those terms. This is the ONLY way to do it, you don't let even experienced people deviate from your plan, they don't have the full picture, you give them small tasks and check everything they do, they report to you at every step.
The most important bit is to understand the problem wholly and have a solid plan. Then break it up into simpler tasks wherever possible and don't rely on anyone to do their bit unsupervised.
edited 2 days ago
answered 2 days ago


Kilisi
102k56228399
102k56228399
add a comment |Â
add a comment |Â
up vote
4
down vote
The skill level of the temps is likely dependant upon the amount of money your manager is investing into them. As they are only temps he obviously doesn't want to be wasting too much funding. As you say your boss is not a developer and likely just assumes that a coder can code.
However, if it's increasing your work load in the long term and it's affecting your current work. You need to pull him for a 1x1 and just convey your issues and the reason that you are not delegating as much work down to them and your worries for the future if you do delegate work to them
You want to make sure you don't come across as if you're having a go at your boss but at the same time you need to get the message across as he doesn't understand what happens within development. If you simply mention that you would be happy to delegate the work but only when you feel safe to do so.
add a comment |Â
up vote
4
down vote
The skill level of the temps is likely dependant upon the amount of money your manager is investing into them. As they are only temps he obviously doesn't want to be wasting too much funding. As you say your boss is not a developer and likely just assumes that a coder can code.
However, if it's increasing your work load in the long term and it's affecting your current work. You need to pull him for a 1x1 and just convey your issues and the reason that you are not delegating as much work down to them and your worries for the future if you do delegate work to them
You want to make sure you don't come across as if you're having a go at your boss but at the same time you need to get the message across as he doesn't understand what happens within development. If you simply mention that you would be happy to delegate the work but only when you feel safe to do so.
add a comment |Â
up vote
4
down vote
up vote
4
down vote
The skill level of the temps is likely dependant upon the amount of money your manager is investing into them. As they are only temps he obviously doesn't want to be wasting too much funding. As you say your boss is not a developer and likely just assumes that a coder can code.
However, if it's increasing your work load in the long term and it's affecting your current work. You need to pull him for a 1x1 and just convey your issues and the reason that you are not delegating as much work down to them and your worries for the future if you do delegate work to them
You want to make sure you don't come across as if you're having a go at your boss but at the same time you need to get the message across as he doesn't understand what happens within development. If you simply mention that you would be happy to delegate the work but only when you feel safe to do so.
The skill level of the temps is likely dependant upon the amount of money your manager is investing into them. As they are only temps he obviously doesn't want to be wasting too much funding. As you say your boss is not a developer and likely just assumes that a coder can code.
However, if it's increasing your work load in the long term and it's affecting your current work. You need to pull him for a 1x1 and just convey your issues and the reason that you are not delegating as much work down to them and your worries for the future if you do delegate work to them
You want to make sure you don't come across as if you're having a go at your boss but at the same time you need to get the message across as he doesn't understand what happens within development. If you simply mention that you would be happy to delegate the work but only when you feel safe to do so.
edited 2 days ago
answered 2 days ago


Twyxz
5,21052251
5,21052251
add a comment |Â
add a comment |Â
up vote
4
down vote
If you can get away with logic arguments like the 9 months to make a baby analogy, that's great but, in my experience, this argument only works with people who already get it. And even when they do, it will often be followed with questions about what the optimal number of team members will be.
What might help if logic fails is to put together some data showing how work is actually getting done and focus on which people's work needs remediation. If you pull this together, you can show a pretty dramatic graph of who is actually adding to the output and who is detracting from it.
Part of the problem is that managers are under pressure to deliver and they need to show that they are doing something to make it happen. Doing nothing could make them look ineffectual and irrelevant. You can help with this by offering up some changes that your manager can make that will help (better machines, laptops, whiteboards, a build server, different hours, isolated work space, etc.)
add a comment |Â
up vote
4
down vote
If you can get away with logic arguments like the 9 months to make a baby analogy, that's great but, in my experience, this argument only works with people who already get it. And even when they do, it will often be followed with questions about what the optimal number of team members will be.
What might help if logic fails is to put together some data showing how work is actually getting done and focus on which people's work needs remediation. If you pull this together, you can show a pretty dramatic graph of who is actually adding to the output and who is detracting from it.
Part of the problem is that managers are under pressure to deliver and they need to show that they are doing something to make it happen. Doing nothing could make them look ineffectual and irrelevant. You can help with this by offering up some changes that your manager can make that will help (better machines, laptops, whiteboards, a build server, different hours, isolated work space, etc.)
add a comment |Â
up vote
4
down vote
up vote
4
down vote
If you can get away with logic arguments like the 9 months to make a baby analogy, that's great but, in my experience, this argument only works with people who already get it. And even when they do, it will often be followed with questions about what the optimal number of team members will be.
What might help if logic fails is to put together some data showing how work is actually getting done and focus on which people's work needs remediation. If you pull this together, you can show a pretty dramatic graph of who is actually adding to the output and who is detracting from it.
Part of the problem is that managers are under pressure to deliver and they need to show that they are doing something to make it happen. Doing nothing could make them look ineffectual and irrelevant. You can help with this by offering up some changes that your manager can make that will help (better machines, laptops, whiteboards, a build server, different hours, isolated work space, etc.)
If you can get away with logic arguments like the 9 months to make a baby analogy, that's great but, in my experience, this argument only works with people who already get it. And even when they do, it will often be followed with questions about what the optimal number of team members will be.
What might help if logic fails is to put together some data showing how work is actually getting done and focus on which people's work needs remediation. If you pull this together, you can show a pretty dramatic graph of who is actually adding to the output and who is detracting from it.
Part of the problem is that managers are under pressure to deliver and they need to show that they are doing something to make it happen. Doing nothing could make them look ineffectual and irrelevant. You can help with this by offering up some changes that your manager can make that will help (better machines, laptops, whiteboards, a build server, different hours, isolated work space, etc.)
answered yesterday


JimmyJames
2,4221610
2,4221610
add a comment |Â
add a comment |Â
up vote
1
down vote
I find it useful to discuss a specific example. Take one case of something a temp did that took fixing by you. Describe the issue being worked on. Make a careful timeline of the events, showing when the temp got asked to work on it, how long the temp worked on it, when the problems were discovered, how the problems were fixed, and when the code was ready or at least back to usable. Compare with an estimate of how it would have worked with a stable development team. You can admit that you cherry-picked the example, but also have a list of many issues where this has transpired.
Now discuss your solution, which seems to be hiring a permanent addition to the staff. How long will it take to train this person (but you only do it once, not once per temp), how do the costs compare (as best you know), etc.
It sounds like your boss/company is not understanding that there is too much work for you to do. Hiring temps makes sense when the overload is temporary, but is a very costly solution when the overload is permanent. You need to make this case.
add a comment |Â
up vote
1
down vote
I find it useful to discuss a specific example. Take one case of something a temp did that took fixing by you. Describe the issue being worked on. Make a careful timeline of the events, showing when the temp got asked to work on it, how long the temp worked on it, when the problems were discovered, how the problems were fixed, and when the code was ready or at least back to usable. Compare with an estimate of how it would have worked with a stable development team. You can admit that you cherry-picked the example, but also have a list of many issues where this has transpired.
Now discuss your solution, which seems to be hiring a permanent addition to the staff. How long will it take to train this person (but you only do it once, not once per temp), how do the costs compare (as best you know), etc.
It sounds like your boss/company is not understanding that there is too much work for you to do. Hiring temps makes sense when the overload is temporary, but is a very costly solution when the overload is permanent. You need to make this case.
add a comment |Â
up vote
1
down vote
up vote
1
down vote
I find it useful to discuss a specific example. Take one case of something a temp did that took fixing by you. Describe the issue being worked on. Make a careful timeline of the events, showing when the temp got asked to work on it, how long the temp worked on it, when the problems were discovered, how the problems were fixed, and when the code was ready or at least back to usable. Compare with an estimate of how it would have worked with a stable development team. You can admit that you cherry-picked the example, but also have a list of many issues where this has transpired.
Now discuss your solution, which seems to be hiring a permanent addition to the staff. How long will it take to train this person (but you only do it once, not once per temp), how do the costs compare (as best you know), etc.
It sounds like your boss/company is not understanding that there is too much work for you to do. Hiring temps makes sense when the overload is temporary, but is a very costly solution when the overload is permanent. You need to make this case.
I find it useful to discuss a specific example. Take one case of something a temp did that took fixing by you. Describe the issue being worked on. Make a careful timeline of the events, showing when the temp got asked to work on it, how long the temp worked on it, when the problems were discovered, how the problems were fixed, and when the code was ready or at least back to usable. Compare with an estimate of how it would have worked with a stable development team. You can admit that you cherry-picked the example, but also have a list of many issues where this has transpired.
Now discuss your solution, which seems to be hiring a permanent addition to the staff. How long will it take to train this person (but you only do it once, not once per temp), how do the costs compare (as best you know), etc.
It sounds like your boss/company is not understanding that there is too much work for you to do. Hiring temps makes sense when the overload is temporary, but is a very costly solution when the overload is permanent. You need to make this case.
answered 11 hours ago


Ross Millikan
1415
1415
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f120528%2fhow-should-i-approach-a-boss-that-keeps-hiring-temporary-workers-only-to-have-m%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
1
Comments are not for extended discussion; this conversation has been moved to chat.
– Jane S♦
2 days ago
Are you involved in the hiring/vetting process? Do the new hires undergo technical tests? Are they actually temp workers or freelancers?
– jcaron
yesterday
Did you manage to fix 2 weeks worth of temp's code in one day?
– Goyo
yesterday
2
If the manager isn't in software, what field is he in? Is it possible you can make an analogy that hits home for him better?
– corsiKa
yesterday