Sunday, January 10, 2016

The Theory of Four Things

When you get to a certain tenure in the high tech industry, you've probably worked in a number of programming languages.  My education started with hobbyist BASIC, continued with high school Pascal, and finished with Scheme and C in college.  My professional life until this year included Java, perl, and bash, and I picked up Ruby for fun side projects.  Those transitions and additions happened over years.  In the last 4 months, however, I've done projects in both javascript (node.js) and Python.  That's  a lot to learn in a short period of time, and I'm by no means an expert yet.  However, I've seen enough patterns in modern web programming languages to state the following -- we'll call it The Theory of Four Things:

To be productive in a new web programming language, you only need to understand four things.

Libraries.  


How do to find, install and load the languages libraries; how to reference the library’s methods.

String Manipulation.


How do you print an output message?  How do you take a substring?  (related:  master regular expressions because most modern programming languages use them for string matching.)

Accessing and creating JSON documents.  


Most server-to-server communication is done with JSON documents these days.  Make sure you know how to put things into JSON format and get things out of a JSON object (or as Stack Overflow will probably tell you “a string that just happens to be a JSON object”).

HTTP requests.  


Those aforementioned JSON documents flow via REST API requests, all bundled up into HTTP requests.  Know how to create them, and how to troubleshoot them (this is where knowledge of networks and security comes in useful).