Live data from Hacker News

Why You Shouldn't Hire More Developers

blog.patchspace.co.uk

51–55 of 55 posts

Re: Why You Shouldn't Hire More Developers

#51

Consider the point that Fred Brooks made in the Mythical Man Month: "adding manpower to a late software project makes it later." http://en.wikipedia.org/wiki/The_Mythical_Man-Month These debates are "evergreen" in the sense they will happen forever on tech sites. That is because they address an issue that is fundamental to the creation of software. There are 2 sides: 1.) most people can not work 60 hour weeks forever…

Left out of this is the fact that Fred Brooks came up with a solution to the "designed by no more than two people" problem way back in the sixties - mentioned on the wikipedia article as "The surgical team."

Re: Why You Shouldn't Hire More Developers

#52
I found this interesting, as I recently had an interview with a company where the guy doing the interview said "so, ... work us pretty hard. Are you OK with working 60h/week?" Pointing out that this seems like a systemic flaw didn't seem like the best option at the time, so I just said something about "I'm fine with cranking if it's a short-term emergency, but over the long term, work load has to be sustainable otherwise it's neither efficient nor good for my health". Should I just drop them?

Re: Why You Shouldn't Hire More Developers

#53
post #38

Why You Should Hire More Developers: Because it's easier to convince the company's executives to do that than fix the systemic issues that are truly eating up software engineer bandwidth. Let's assume this company has nobody with a true technology background at its leadership level, because if it did it you wouldn't have this mess to begin with. That means it's basically never an option to say, "can we stop working o…

> Let's assume this company has nobody with a true technology background at its leadership level, because if it did it you wouldn't have this mess to begin with.

From immediate experience, this is false.

Re: Why You Shouldn't Hire More Developers

#54

Consider the point that Fred Brooks made in the Mythical Man Month: "adding manpower to a late software project makes it later." http://en.wikipedia.org/wiki/The_Mythical_Man-Month These debates are "evergreen" in the sense they will happen forever on tech sites. That is because they address an issue that is fundamental to the creation of software. There are 2 sides: 1.) most people can not work 60 hour weeks forever…

McConnel makes a pretty convincing case in "Rapid Development" that long hours by programmers, are counter-productive.

After a quite short span of overtime (a week or two), where development speed is increased by a relatively short amount, productivity drops to around 10 or 20% as far as I recall.

The conclusion is that even if the developers worked 24 hours a day, they would still not be as productive as a well-rested and motivated team running standard 8 hours a day.

Re: Why You Shouldn't Hire More Developers

#55
This story sounds like an artificial lead-in to an "Agile saves the day" follow-up post, but there are other things going on here. There is a lack of ability by the lead to guide the team to sanity.

Here's what I see needs to be done:

* Stop using agile if you don't have buy in from the owners. Agile is much more dangerous than traditional methods if you do not have the right buy-in from the owners--and that buy-in is not easy to get. Without buy-in, you've just given them the ability to minutely control the expected output without the expense of researching and designing a base set of functionality up-front. It's "free" for them to change their mind--so they will, at your expense.

* Tell the lead to stop being a robot. Alice is given a task that is blocked by an old bug. Instead of just assigning a more suitable task to Alice, she is told to bring in another developer to help her work through it. Why stick with this task? The world isn't binary, so break up your task and assignments into something that fits the talent you have.

Yes, developers are not fungible completely, but there should be tasks that anyone should be able to slip in and do. It's the lead's role to be able to decide which tasks are assignable to someone new with reduced risk. Maybe start them out on just identifying the cause for Bug XXX--not actually fixing the code. Or have them confirm and document repro steps for the bugs that are coming in every day. You don't have to always give developers development tasks, especially their first week.

* Tell the lead to start taking care of the team. The story mentions developers who got pulled into meetings, preventing them from doing their job. As a lead, you should be providing some interference and getting in the way of these type of requests.

* Tell the lead to stop over complicating things. Why are there so many bugs? Part of this is that the employees are overworked. I suspect that part of it is also that the framework and processes are over-complicated. A custom build of a tool that completely breaks everything? That's a process smell. The lead needs to figure out why its so easy to introduce bugs in their system. "The requirements are all necessary" phrase also fall into the implementation as well. Think YAGNI and KISS.

As for the loss of productivity by "Alice": every new developer adds growing pains to a team, but that definitely should not persist. It's a short-sighted view that one week of lost productivity will erase any long-term benefits of an additional employee. But, you need to plan training time for a new employee into your schedule. Also, since it doesn't sound like you have it already, have the new employee document the steps for the next new employee. That will help reduce the growing pain costs over time.

Post reply on HN