This post is taken from an LinkedIn Post done on March 26, 2016
My CEO said that I am an empirical learner. This he mentioned could be a double edged sword since I tend to understand the details quite well, but I may take a while to assimilate information I could try to get through people elsewhere.
However, one place that I do find empirical learning necessary is as a CTO understanding the changes in technology. It is one thing to read blogs, follow the maelstrom of technical literature and do one’s best to keep abreast of trends and another thing completely to dive and and play with it oneself.
Every few months I pick a project whether it be consulting, personal or a favor for a friend and I try to do it the hard way. Not as a means of inflicting pain and frustration on myself, but as a way of exploring some really bleeding edge implementations of projects that interest me. There are always trends in software and in architecture and I have been around long enough to be able to see through the hype. At the same time I cannot dismiss some trends I find worth a more critical view.
So I had an opportunity to take a set of data cleansing scripts I had done for a company and turn them into a production system. I could have taken the easy route and picked something like Grails 2.4.x and apply it to that project and be done in short order, but I took the hard way…
I wanted to explore Angular’s new Component system on the UI side. I have been using Angular 1.4 on some consulting projects and felt that Angular 1.5 with the new Component Router would be an introduction to the concepts being introduced by Angular 2.0. On the back end I decided to go with Grails 3.1 to use the new Asynchronous mechanisms, Spring Boot and to try out Websockets as the means for the backend and frontend to communicate. The nature of the problem is that the data cleansing takes a fairly large dataset and runs a series of steps to prepare the data, do some transforms and then run some neat Lucene fuzzy matching on it to try to find certain anomalies.
Part II will deal with the cuts and scrapes I learned building the backend and Part III will cover the bruises and bumps I acquired learning the frontend.