“Everything that can be automated must be automated.”
I spent almost 20 years in Manufacturing following that principle, because it works on so many levels. Old habits die hard, so even after I started doing more software / less hardware I still found myself following that deeply ingrained directive. And it’s just as valid in software as it was in hardware.
I’m not talking about Robot’s writing your ‘for loops’ (yet), but a great deal of our daily grind programming customized code, doesn’t involve coding at all. Programming has evolved: We now spend as much time outside .h and .m files as in them.
Interface Builder, Organizer, Git, Terminal, Pivotal, Photoshop and a dozen other tools in a toolbox that has become the new stack.
A lot of that has become extraordinarily repetitive, a clear sign it needs to be automated.
Lets take graphics for example…
A friend was watching me add about 50 new png images to a project, a common and completely normal activity when you’re making an app.
I dragged that folder to the desktop … and went to get a coffee.
All the image files were renamed to lowercase – hyphens changed to underscores – errors fixed – files got moved into the correct project ‘Resources’ directory – non-Retina versions generated if missing – imported the files into correct directory in XCode and the project was rebuilt, cleaned and compiled.
By the time I got back everything was done and he was pointing a finger at me: “You’re going to tell me how you did that.”
The whole process took just 30 seconds actually, getting the coffee took much longer. It would take a human being a full minute to process each one manually, the better part of an hour very likely.
The answer is at the bottom of this post if you are impatient, go ahead and jump.