Ninja Programming

Young Ninja programmer, this is your taisho (captain) talking, the officials are corrupt, but we will make a better world for everybody! So listen well: "We need assassination task to be completed quick"

Which, in some way, can be translated: We got a very dirty job for you, we need it quick, nothing else matter…

Go Ninja, and make sure nobody follow you on the way back!

The problem with hacks is that they never come alone. You get 1 hack, but you see, your superior is unhappy about it, and then a second hack is needed, and so on…
A few weeks later you find yourself working on a pile of hack with a boss that keep on repeating: "we have no time for cleaning, make this hack I need it working as soon as possible"

After a long series of hack, the ninja mission is considered as "successful" (there could be a long discussion about what is successful in computer science). But when you think about the code you left, you feel you can not leave it like that. It is just plain messy… You will even feel bad about it. Then, you go to your boss and say: look the code is all twisted now, I need time to clean the mess.

If you are really lucky, you will be allowed to "waste time" on "cleaning the code" and other "ignored by everybody task". You will not really improve anything, you might even make system more unstable all that for the sake of programmer's "Quality Of Life". You can always argue that it will be easier to "maintain" the application afterward, but you will be told that you break the system "robustness"… Remember the golden rule: Don't touch working code, ever

But in a too common environment, you will be told there's no time for cleaning, that you should not care about that system, that, eventually, it will be re-written that's there's a lot of more urgent task, that the company does not have the human resource to complete every possible task…

Ninja is now ready for more operations… Welcome to hack based production !

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License