Fragile ego of software developers

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Fragile ego of software developers

OmegaKV
A user wanted me to troubleshoot the performance of my software package, because it was running too slowly to be acceptable for what he needed to do. I found the slow execution was the fault of a dependency that my package relied on, which is basically a bridge between our system and python. That dependency executes python by interpreting it every time it runs it, and I found I was able to speed things up dramatically by modifying that package to cache the compiled code, instead of reinterpreting it every time.

I brought this up with the author of this software, who is now a manager of another group, and suggested that his software be changed to provide a configurable option to do this caching. He gave in my opinion the most stupid reason ever for why it couldn't be done. He said it can't be done because he does some kind of preprocessing of the code, where instead of passing the input parameters to the code as input parameters, does a string replacement, so the code cannot be cached if the input parameters change dynamically, since it means the code will be different every time and hence memory of the cache will increase without bound. I suggested passing input parameters the legitimate way so that the dynamically changing parameters wouldn't be intertwined with the code, and the code remaining static can be cached. He said no because he needs to do the string replacement, because he wants to truncate decimal places to make them look nice. I told him I could see some value in truncating output parameters, but not input parameters, because it will result in calculations being wrong, and input parameters are not what is being displayed anyway. He then gave the example of printing a value, and said if you wanted to print an input argument it would look ugly because python by default prints a bunch of decimals places, and he acknowledged you could reduce the number of decimal places using format strings but said it's too much typing. I then suggested ignoring this issue and just making the option to cache, so that those not affected by this dynamically changing input thing could enable caching, and leave it disabled by default. But then he changed the topic.

I can't believe that people are like this. They don't want to admit their software has flaws, so they come up with all sorts of mental gymnastics to justify their stupid software decisions. This guy isn't even American, he is Eastern European, he doesn't strike me as being scum, and he seems fairly intelligent and very accomplished technically. But his fragile ego prevents him from recognizing an obviously better way of doing things, because someone else came up with it, and he doesn't want to admit that his way of doing things is inferior to someone else's.