5 ms·
I've revised my comment a little. Yes, it's definitely possible. The example that comes to my mind now is the guy who runs Krita, which is a project with huge s
by superchroma 4y ago
I've revised my comment a little. Yes, it's definitely possible. The example that comes to my mind now is the guy who runs Krita, which is a project with huge scope, but I think that to do this effectively requires a high level of discipline and patience that many people don't have and that is difficult to test for when hiring, which is why companies are forced to turn to bureaucracy instead.
- labrador 4y agoI recently watched a documentary on Henry Ford. One of his innovations was to move manufacture from a craftsmen model that required high skills to an assembly line model that used more people with less skill to get the same result. The managing engineer is the one holding it together. With this in mind it makes sense to hire team players who are good enough over highly skilled workers who work in isolation. The trick then becomes finding highly skilled workers who are able to engineer and manage solutions for the lower skilled workers to implement.
- Silhouette 4y agoDoes that analogy really hold when you're making software and not a physical product? In software development you don't need a production line staffed by minimally skilled workers to implement the plan of the expert. Automation is what we do. Of course you still often need those experts to have decent soft skills because many commercial projects will still need multiple developers even if everyone involved is very good. But the communication and management overheads scale far more than linearly with the size of the team so a relatively small team of very skilled developers can easily outperform a much larger team of mediocre developers in practice.
- superchroma 4y agoWell, maybe? For every hard problem which requires smart people to actually innovate, there's 100 which involve writing boilerplate to get information from a form to a database and back again.
- labrador 4y ago> Does that analogy really hold when you're making software and not a physical product? I think it does. Of course the minimal skill required is higher than hiring some person off the street to bolt on a few parts as the product proceeds down the assembly line. I worked at Microsoft many years ago and it was a lot like a software factory
- bitwize 4y agoTwo problems. One is with the Ford model itself: deskilling workers to the absolute maximum extent possible makes the whole assembly line more brittle. If you have a guy whose only job is to put a screw in a specific joint, what happens when he gets sick? Whole assembly line gets held up. You could hire two screw guys but you'd be paying twice as much and one of them sits there idle. Plus, germs spread quickly, what if they both get sick? My father realized this in the late 60s or early 70s as an engineering manager at a tech company (back when tech was Tech and tech companies actually made stuff). His solution was as follows: Line jobs were ranked A, B, and C, for high, medium, and low skill. Especially the C and B jobs, you could teach multiple jobs to a single worker, and give them a workbench at which they could do several tasks in the manufacturing process, not just one -- and have several workers at workbenches doing all these tasks. The assembly line gets slowed down when one worker gets sick, but it still proceeds because whatever job that worker was doing, their colleagues also know how to do. My father's idea was dismissed by the higher-ups to implement companywide, but it's part of the "Toyota method" now, so I guess it was independently discovered in Japan. Good ideas are like that, plus, the Japanese actually respect craftsmanship; at the end of the day, American businesses only respect money and metrics. Secondly, how many times must it be repeated? Software engineering is not like manufacturing. It takes zero skill and next to zero cost to manufacture an additional copy of a program because a program is just bits that are trivially copied by computer. To develop new software requires a moderate to high level of skill, so you want to cultivate craftsmanship in your software developers, unless you like the current state of enterprise webshit and think that software that's slow to develop, slow to run, fraught with bugs and integration issues is just fine.
- picsao 4y ago
- KerrAvon 4y agoFred Brooks proposed essentially that model, but it hasn’t really worked out in practice: software design too often needs radical modification on the fly, and it becomes inefficient to bottleneck everything through the managing engineer.