Saturday, October 29, 2016

Universally known as the IT guy among the IT guys of IBM....Borek asks many hard IT questions-- just where will South Africa IT go?

On small and big programs

One of the challenges that we encountered during our CSC project is a great shortage of IT discipline at our partner organization. Of course, this is not limited neither to this particular institution, nor to this country. It is common to see advanced users of complex pieces of software, who are entirely unprepared of automating the simplest data processing task, unless they have a specialized GUI tool to do so. 
I met a guy who spends about quarter of his work time by concatenating dozens of Excel tables, and another one, who is doing the same thing much more efficiently only because he found and Excel add-on that performs this particular function. There seems to be a great imbalance based on using information - on one side, these folks use very fancy and complex systems, but the simplest kind of automation, like extracting a few cells from a number of spreadsheets and stuffing it in a database is beyond their reach. 

How come that this IT-filled world has almost forgotten about the simple, Lego-like building blocks of Linux command line that let you start small, with one-liners, and proceed through trivial scripts to something that starts resembling real programming? 
How come that so few people know about terrific and easy to use languages like Python? 
Are we, programmers, also at fault, because we like to show off our skills as a kind of magic? 
Or is this something so contrary to the nature of ordinary man that only weird minds can grasp it? 
Is it the symbolic thinking? 
Complex patterns? 
What would it take to create (or collect) a set of commandline tools that work on Windows or Mac and that one could teach the ordinary office guys or gals? 

Or, in the era of virtualization, would it make more sense to start with a Linux virtual machine and bridge the gap from the other side? 

I know that comes with its own set of issues. One could do automation miracles with a Python script, a database client library and something like openpyxl or odfpy module to read and write the spreadsheets or other office documents. Add a little web programming and you have all that's needed to create a simple information system with web interface. I understand that this path is treacherous, littered with all sorts of trouble - just consider the weird world of ODBC drivers and connection strings. Still - maybe that with the right combination of existing tools, educational material and will to learn, this could be doable. When it comes to education materials, there are good examples out there - this free book caught my eye recently: Automate the Boring Stuff with Python. How difficult would be to extend this concept to an acceptable education path for a curious non-geek?




No comments:

Post a Comment