Your computer, kitted out with specialised software (mostly free) and configured for efficiency of use, is perhaps the single greatest ‘force multiplier’ that you can have as a Scientist, R&D Engineer, or Mathematician — unless of course you have a large budget and a team of bright minds at your disposal.
With good tools, a bit of creative joinery, and a good dose of persistence, you can become an army of one…
There is a quote of Richard Hamming:
“When your vision of what you want to do is [something that] you can do single-handedly, then you should pursue it. The day your vision — what you think needs to be done — is bigger than what you can do single-handedly, then you have to move toward management. And the bigger the vision is, the farther in management you have to go.”
How do you achieve your visions? And how can you have bigger visions that you can still do single-handedly?
If you are a research engineer, scientist, or mathematician, you probably know that your computer, kitted out appropriately with specialised software (mostly free) and configured for efficiency of use, is perhaps the single greatest ‘force multiplier’ that you have.
The software tools you use and how well you use them are central to your ability to tackle ambitious projects and deliver results quickly, without requiring expensive IS/IT support that, if it is even available is often still either inadequate or has such slow turn-around times as to be of little value.
With good software tools that you can control yourself, a bit of creative joinery, and a good dose of persistence, you can become your own R&D “army of one”.
Besides the feeling of liberation this brings, you’ll likely find that your increased abilities also increase your creativity when considering problems and their solutions.
When it comes to experimenting and building prototypes, it is harder to conceive of solutions that one cannot imagine oneself doing. By mastering your computing environment and extending your abilities, you’ll find that the ideas you conceive of will become correspondingly more ambitious as your own ability increases to do the task yourself. Put another way, if all you’ve got is a rusty machete, you probably won’t consider a solution that requires felling a tree. You certainly won’t be imagining possibilities that involve clearing a grove of trees. But put a chainsaw in your software toolkit, and felling one tree is no longer a big deal and you might consider a solution that you would have otherwise overlooked. Add an army of programmable chainsaws that can be safely configured to work to precise instructions — now clearing a grove of trees is not much more difficult than felling a single tree.
In the metaphor, the ‘army of programmable chain saws’ may be nothing more than a simple set of scripts or small programmes that you have written to automatically trigger on some input, take some decision, and run a process or special subroutine to generate some output. Put in a bit of fault detection and logging, and you’ve got a poor man’s data processing pipeline. This needn’t require that you are a brilliant incredible programmer, although you will need to be able to some programming. The key is that you are able to bring your reasonable computing skills to bear in ways that make formerly distant solutions much closer to hand.
It is this ability to generalise a single solution, link various discrete operations together, and automate a process so that it can be repeated many times, in changing conditions, always safely, that is at the foundation of computing power at the disposal of the individual researcher or engineer.
So why invest in better tools? Your first reward is a signficant boost to productivity and the increased power you can bring to bear to tasks at hand. The second benefit, while perhaps less immediately apparent, is perhaps more important: increased self-reliance and the ability to be able to proceed without requiring that someone else created an off-the-shelf package for you to consume.
But the greatest reward is the increased ability, in principle, to conceptualise better solutions to more difficult challenges.
This is the real benefit. And it provides a useful standard against which to decide whether individual tools are worth investing in. It also provides a good way to decide how much effort a particular tool deserves: learning for familiarity or for mastery.
I’ll sum up with another quote, again from Richard Hamming, and another way to look at the investment in your tools and yourself:
“Knowledge and productivity are like compound interest. The more you know, the more you learn; the more you learn, the more you can do; the more you can do, the more the opportunity — it is very much like compound interest.”
Stay tuned for future articles describing select elements of a set of tools I use both in my day job as a mathematician in industry and in my spare time to speed things up, explore, experiment, and build working prototypes fast. When you get the various elements of your toolset working together as processing pipelines, you can get your computer to do almost anything you can imagine.