“always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live.” - stolen from dystopia, unverified
i had an idea a few weeks ago while i was struggling to deal with recruitment agencies, and when i went to morgan stanley i found myself discussing it with the local head of their software division who shared similar ones. our discussion combined them all to form the following:
1. the software world is completely broken. this is because badly written code, compilers and interpreters form the foundation upon which all the rest of the ecosystem relies, and so in addition to bad practices and bugs on the expected levels of code (applications, etc.) there are loads of instances where the code cannot be written well without it breaking.
2. most code is written badly because it's done under time constraints and only the barest minimum functionality is demanded by management. the fact that code can be rewritten gives people a sense that it's okay to publish bugs into the public domain.
3. there should be an authority with whom every software engineer would have to register. not only would this authority ensure minimum acceptable proficiency, but they would also be responsible for monitoring and auditing code produced by licensed professionals.
4. any software engineer caught publishing badly designed or untested code would forfeit his license.
two things would come from this:
1. the licensing authority would be able to assure any employer that a developer is technically capable; the employer would only need to worry about cultural fit.
2. a licensed developer would be motivated to refuse any instruction to perform unethical or irresponsible acts on grounds that his license would be at risk and would be worth more than his job. any employer attempting to force a licensed engineer to produce badly designed code could be blacklisted by the authority.
kinda like when a doctor doesn't save the hospital cash by putting a band-aid on a wound that requires surgery.
"sorry, if i don't adhere to the standard of ethics i could lose my license. how about we actually solve the problem instead?"
all arguments for or against are welcome in the comments.