I work for a company that supports several languages: COBOL, VB6, C# and Java. I
ID: 639284 • Letter: I
Question
I work for a company that supports several languages: COBOL, VB6, C# and Java.
I use those languages for my primary work, but I often find myself to coding some minor programs (e.g. scripts) in Python because I found it to be the best tool for that type of task.
For example: An analyst gives me a complex CSV file to populate some DB tables, so I would use Python to parse it and create a DB script.
What's the problem?
The main problem I see is that a few parts of these quick & dirty scripts are slowly gaining importance and:
My company does not support Python
They're not version controlled (I back them up in another way)
My coworkers do not know Python
The analysts have even started referencing them in email ("launch the script that exports..."), so they are needed more often than I initially thought.
I should add that these scripts are just utilities that are not part of the main project; they simply help to get trivial tasks done in less time. For my own small tasks they help a lot.
In short, if I were a lottery winner to be in a accident, my coworkers would need to keep the project alive without those scripts; they would spend more time in fixing CSV errors by hand for example.
Is this a common scenario? Am I doing something wrong? What should I do?
Explanation / Answer
You need to get the situation formalised as it shouldn't really have got to this point. However, these things happen so you need to explain to your boss that you created these scripts for personal use, but they've "escaped" into wider circulation. Admit (if necessary) that you were at fault for not bringing this to his attention sooner.
At the very least the scripts should be put under source control "just in case" - then at least if you aren't available (for what ever reason) your co-workers will have access to the scripts.
Then you either need to convince your boss that Python is the way to go for these or accept that you are going to have to re-write them in a supported language. If the cost of documenting the scripts and educating your co-workers in Python is lower than that of the re-write you might even win the argument.