Hacker News new | ask | show | jobs
by laythea 3051 days ago
I think you misinterpreted me a little. I think the reason that lawyers and doctors cannot "jump around" is not because, for example, a lawyer cannot absorb the information required to be both a good corporate lawyer and a good litigator, due to it being too much. They can. It is that the system that they choose to be in (law/medicine) demands the individual to be certified and formally trained to such an extent that it cripples this kind of professional mobility. This is not true in software. Not because of any other reason other than society is catching up. Unlike the fields of law and medicine, where those fields are growing "linearly" with society. It is also the reason that I do not by law require to be a chartered engineer to perform my job to the full extent.
2 comments

The (jurisdictions will have their own phrasing) 'demand' placed upon lawyers is that they are competent at the work they're doing.

The magnitude of knowledge needed to push a company to become public or undergo a merger, to litigate a divorce with children in custody, to defend an individual in a murder trial, or to litigate an aboriginal rights claim is substantial and there is very little overlap between them.

The issue isn't the regulatory requirement for competence - it's that the fields of specialization require years to become decent in.

I have limited idea whether its fundamentally barriers in terms of the subject-matter (because I do not know or practice in multiple fields of medicine) or in terms of the social structure (where it is pretty obvious the highly structured/time-based hierarchical regulated fields).

But I will say one of the MAJOR things that I LOVE about programming is its relative lack of artificial and social barriers. In psyche, med, law, science: even if i am good enough to pick something up in 6-12 months, or even if I have already been studying or been experienced in said field (say because I have a family member who has been surreptitiously teaching me or bringing me along on the side), there is an inescapable time, money, and social barrier that is effectively immutable.

I can't REALLY do law/medicine without running them in serial, paying the fixed costs of time/money for both (which almost no one has), and I can't fast-track through either or leap-frog students or peers of lesser ability. And god help you if, half-way through, you then think that something in chem/physics might be interesting and applicable. Or if you have the insight/ability to say: i think i'd learn more over there (well too bad, these are the requirements for the program and this is the course structure and this is what you need to do to get your practicing certificate...and except in exceptional circumstances, that's even if you had someone in a position of authority who would agree with you).

Those barriers have not yet been established effectively in programming. Sure, some people tried earlier to establish things like certification and structure, and we're now starting to see the germination of university degrees in arbitrary specializations, and that force will always be there, but few people take them comparatively seriously. The barriers to entry are low (you could almost always even just pirate some software to get started and install it on relatively cheap generic hardware). And if you want to apply it to different fields, you quickly find the barriers aren't generally from the computing/programming side, but from the social/structural barriers inherent in those fields in our society.

Now to be sure, we get the downside of this too: cranks, frauds, used-car-salesmen, agile coaches, wannabes, fads, marketing, etc.

But they don't stop me learning for my own ends, and if i ignore them they have no effect on what I can learn for myself once I pass the relatively low barrier of stable employment and income and basic hardware. And my knowledge makes me more employable and more attractive.

Whereas there is no way I can participate or do the same with engineering, medicine, or law etc without effectively cancelling my life and/or desires in other fields.

And whereas my knowledge and self-direction make me immediately more employable and desirable NOW and at all times in the future in programming, i have huge sunk, upfront, and opportunity costs for several years to participate formally in each of those other fields.

Yep. Except I would consider what I do as mostly engineering, and what I said above still applies. Subsea oil/gas control systems, gas turbine control systems, etc, but then sometime just desktop applications, eg OpenGL/Java etc. All need software. But all engineering, although I would say the desktop application contracts are less engineering, more programming. But then we would have to start talking about the whether programming is actually engineering so don't want to go there :)