At The New Job, the product I'm supporting is a good example of how a small skilled team can do amazing things. It's going strong after 3 years when it was supposed to be a stop-gap lasting only 6 months.
But in the course of my learning the ropes, I've run into a situation that allowed me to finally put into words something that I've felt for a long time about systems design - simplicity of all things is a virtue.
The setup - the product is a collection of scripts and binaries that process incoming files. There are bash scripts, Python scripts, Ruby scripts, C binaries, cron jobs, and even a Java binary. The upshot of this is that it requires a fairly experienced developer to be able to work on the system as a whole. Now, this can be an issue in finding suitable developers, but it's not a high hurdle. But where it does cause a problem is that the corporate sysadmin environment is very controlled, and it is not a simple thing to get tools installed, and the more tools you use, the worse it gets.
So, I'm having to navigate the labyrinth of corporate IT to get the desired versions of Python and Ruby approved and installed on our production systems, as well as the boilerplate necessities of user accounts.
Moral of the story - consider the overall ease of use when choosing languages to build a system in
No comments:
Post a Comment