My Experience: ‘Everyone’ Wants My Code
But Nobody Is Willing to Make an Effort to Actually Use It.
Story Time
My time as a researcher and software developer in the field of radar simulations has been somewhat frustrating due to several reasons:
- Most of the time is spent coding something that nobody besides me will ever use.
- If the results are any good, suddenly people want me to simulate something for them. (Similar to the infamous “I got an app idea and for 5% you can code the whole thing”)
The worst part? Probably the last bullet. You basically become an assistant to their research while not having any time to do your own research, which isn’t any fun. You basically have become a simulation monkey and often, with resignation, you oblige “let me run this for you”.
The Problem
So why is nobody just using my code, even though they would clearly benefit? When talking to colleagues one of the recurring themes is that setting up the environment to run the code is too much of a hassle.
I agree.
Typically, in academia you are not paid to build a nice UI. Deadlines are short-noticed and results have to happen. A command line interface suffices, but is tedious to use and you have to know what you do for it to work. Unfortunately, that also takes time nobody has.
Deployment of such code is very painful, even for me as the author of the code. Docker might sound like a good solution here, but in reality it just adds another layer of complexity for somebody wanting to try the code.
Ideal Situation
I think what me and many of my colleagues would find very nice, is a way for me to share my code and make it usable for them without much pain.
Users of my code want to set some input parameters and start the simulation. When the simulation is finished they get a notification per mail or slack and the data is ready for download.
I would love such a system because it benefits my colleagues and myself. It’s a win win situation: I can do my actual work and my colleagues can profit from my work on the simulation tools.