T skills in learning

10 September 2013

Have been thinking a lot recently about an absolutely brilliant post by Philip Guo on how programming is done in the real world, and therefore how it should probably be taught. The whole concept can be summarized by the sequence forage, tinker, weld, grow, doubt, and refactor.

Some people would call the essence of a hack, but notice that I am using the word hack here is one of the highest possible levels of a compliment.

I like this post so much that I think the whole concept can be further expanded to cover the connection between programming and any area outside of programming. This means once you reached the stage when you are done tweaking the code your foraged, you could potentially bring in pieces of non-programming methods. Here is an example: let's say that I decided to run some Big Data experiments using a method called latent semantic analysis (LSA). Blatantly oversimplifying things, LSA will extract concepts within free text that are highly associated and infer that they are all pointing to a higher construct. For example, if the concepts of grades, intelligence, diligence, and persistence keep clustering across units of text, I might infer that these concepts probably have something in common from the perspective of the writer.

Now, following the forage-refactor sequence from Philip, I would grab a piece of LSA code, play with it a bit, insert my own data and make it work, and then could maybe bring in a chunk of graphical source code to illustrate my brand new LSA analysis. This is all good, but instead of bringing in another piece of code, I could also blend my initial analysis with some qualitative research, meaning to conduct an interview with the writer and see whether my analysis does make sense. The difference between inserting yet another chunk of code and introducing a qualitative methodology is subtle but, I think, important. It means that one of the essential components of novelty is to blend skills that are usually distant. In my example, almost every data scientist who knows LSA likely knows how to graphically display data, but a far smaller number of them are intimately connected to qualitative research.

Some clarification is probably in order:

  1. To say that a skill is distant from each other, I explicitly mean that the people with one set of skills communicate very little with the people who know the other skill set. So, distant is used here in the social network analysis context.
  2. In order to get this kind of blending a T skill set will be required. I honestly don't know who came up with the T metaphor, but to me it summarizes the essence of what is needed in this kind of situation. The T skill has a long vertical arm of expertise in one area, and a shorter horizontal, cross-disciplinary range of skills across areas. Call it the 21st century version of our beloved polymath.
  3. The central point of the T skill is the crossing point between the vertical and the horizontal arms, or how to make the two lead into something potentially useful, but that is another whole story that I will likely come back to in future posts.

by Ricardo Pietrobon