So it is that I find myself at a crossroads. I accepted the call and crossed the threshold, by starting this blog and publishing it to the world. And this leads to two paths: Machine Learning to my right, Blockchain to my left. Both interest me and I’m tempted to go either way.
Machine Learning seems like the safest path, with well-established use cases and high demand in the market. But it is a larger area, and for that reason may well be more difficult to learn and master. Blockchain is a nascent industry at the moment, with some difficulty in demonstrating convincing usecases and possibly based on more frail companies. However, it has many obvious problems that need a solution and so is a captivating field to study. It is likely easier to specialize in blockchain, but is there a danger of over-specialization?
Choosing between these two feels like guessing whether the stock market will go up or down over the next month. Unlike the real world, where following in one direction would probably send me inexorably away from the other, I have the choice of progressing in both at the same time, while my mind is not completely decided, at only the sacrifice of time. So I decided to take a punt at both.
I collected a limited number of resources for each, to serve as indicative study plans. The initial steps were:
- Blockchain: enrol and complete the Princeton course on Bitcoin available in Coursera, and do its practical work. Then, read selected whitepapers and study some real blockchain code.
- Machine Learning: engage with Hackerrank, completing the tutorials on Statistics and AI utilizing only Python (I will be focusing in only one language that I want to master, instead of spreading my energy around). Then dive into Kaggle and learn by doing some projects there.
Admittedly, they may be of different proportions, but what I want to assess is my willingness to study and commit the effort for either of them. Watching the first week of Blockchain videos was easy, and I reckon I could watch the whole course without any reluctance and in a reasonably short time. After all, I’m a Coursera veteran by now. But when the time came to dig into the Java of the weekly exercise, I did not feel motivated enough. Inside me, I was feeling a much greater pull to Python and the Hackerrank problems.
And so I took the first step into a concrete path: Machine Learning.
It is worth asking “why Hackerrank?” Why not go straight into Machine Learning books, or courses? Or even look for projects somewhere?
This is a personal justification and may not work for anyone else, but I feel like I need a good mastery of the basics. Python, for one, and Statistics seem to be everywhere in ML, so having some practical exercises won’t harm. Also, doing these will provide me with a basic toolbox that I’m sure will be handy in the future. It is good for reinforcement and encouragement at the start. Finally, it is also a way of entering a new routine of spending a couple of hours at night so that I can be used to it when I go to more demanding projects.
And that’s it for now. Next time I’ll tell more of that first HackerRank experience.