Hacker News new | ask | show | jobs
by roadnottaken 5683 days ago
Why is it different than the way doctors specialize. Sure, a doctor should have a basic understanding of all physiology - but you want the guy that operates on your heart to have lots of experience. Why is specialization in programming offensive for some reason?

(FWIW - I am not a programmer/developer)

3 comments

Precisely because tool-specialization isn't a good analogue to problem-domain specialization.

e.g. Saying "Ruby Developer" isn't like saying "Brain Surgeon". It's more like saying "Hammer Carpenter" or "Scalpel Surgeon".

Web Developer, Embedded Developer -- these are more akin to specialization on the order of "Brain Surgeon" or "Endocrinologist". Notably, no-one's taking issue with that kind of specialization.

There are valid specializations for programmers. There are application developers, systems architects, UI engineers, operations specialists, cryptographers, scientific programmers, etc. You don't care that your doctor uses the Acme Scalpel 4000, you just want your gut cut.
Yes, but the lead surgeon at the hospital probably doesn't want one doctor using an Acme Scalpel 4000, another using an Ajax Scalpel, and yet a third using a FooBar X-Scalpel.

Maybe that part of the analogy doesn't hold up for a hospital, but it sure as hell does in a software engineering organization. If you have a bunch of people working together towards a common set of goals, it makes things a hell of a lot more complicated if everyone is just working in the language they like playing with the most, regardless of their overall technical knowledge. Organizations standardize on best practices, languages, frameworks and technologies because it simplifies things.

"You don't care that your doctor uses the Acme Scalpel 4000, you just want your gut cut." Exactly. What makes you think that this is different in software... the end users DO NOT care what tool or framework you use to build the solutions they need. Now, doctors probably have preferences on what tools and procedures to use - just like we programmers.
And the elevation of those preferences to a dogmatic self-identification is a Really Big Problem. People and interactions over tools and process.
I think you can compare a programmer more to a musician than to a doctor specialist.

If you have the feeling for the music you can create music using anything. Ideas just blow to your mind. The tool, well, it's is just an interface to concretize your idea.

But I think specialization is not a bad idea.