Wednesday, September 29, 2021

2021 | AI/ML, Data Science, and Microservices book reviews

Recently I have been reading a few books from Manning Publications - for those that don't know, Manning produces books with artistic renderings of people on their covers, just like O'Reilly publishes books with animals on top. 

Two that caught my eye were these: 

 

First off, when reading any book, the reader has to go in with the right expectations. Neither of these is written with a strong technical focus - on AI or on data science. Rather, they are geared towards managers that need to come up to speed to put in place an optimal structure to enable projects in these areas to be successful. (Not that management is easy by any means, it's just that the skillset needed there is different from that needed to be a competent data scientist.)

What I particularly liked about the first book is that it provides a nice framework to evaluate if your AI-based approach towards solving a business problem is going to a. meet the business needs, and b. deliver sufficient value given the costs that will be incurred. Different books discuss different ways of setting up an AI/ML/DS pipeline, so I am not wedded to a particular model there, but the framework for doing a cost/benefit analysis presented here is quite interesting.

The second book above explains at length how people at different levels in the organization can contribute to the success of a data science project or practice - whether they are leading functions, departments, projects, or tasks. 

These are very easy reads without too much technical content. Some might argue that portions of these books would apply to other projects in the workplace as well, not just AI/ML/DS ones, and that would be justified. 

One quibble I have regarding these books is the cost. For the value they give you, I think ~$40/book is really quite steep. And I don't think these quite rate as "classics" (not yet, anyway) that I'd want to keep handy on my bookshelf. Perhaps make some notes on the models and frameworks, but that's about it. So yes, these are worth reading - will perhaps take a couple of hours each, but I'd get them from the library. Incidentally, Manning books are (sometimes significantly) cheaper when purchased directly from their webstore (Bing it), than from Amazon.

Another Manning book that I read was this one: 
This is quite technical, but as you dig into it, there is a lot of knowledge, and even some wisdom you can get from it. It starts by giving examples of microservices from some application contexts, and then delves quite deeply into microservice patterns that are quite well explained with helpful diagrams. It also does a very good job describing layering - where you want to solve business problems, where to address the technical issues, how to minimize technical debt, evolve architectures, the relative strengths and weaknesses of various programming and computing paradigms, etc. While not perfect, I'd say  it is extremely well done, and highly recommended reading if you need to learn more about microservices.

One book I am looking forward to is this one: 
Luis Serrano, the author, has an excellent YouTube channel where he explains complex machine learning algorithms in very simple terms so anyone can understand them. If he carries forward that ability into his book (I haven't read it, but I hope he has), the book should be a pleasure to read. 

Speaking of YouTube channels for machine learning, the below two do a good job explaining algorithms and applications. Perhaps not as flamboyant as the Siraj Rawal tutorials, but very good in content nonetheless. See for example RitwickMath's video on Markov Chain Monte Carlo, and Luis Serrano's video on Generative Adversarial Networks. Excellent work!

   
RitwikMath and Luis Serrano YouTube videos for Machine Learning algorithms



Monday, September 13, 2021

2021 | Leadership - lessons from Wooden and Holtz

What does it take to be a leader? What principles do you follow? Can leadership be taught? These are all oft-asked questions. I recently had the pleasure of reading what two coaches had to say about this. I read management experts all the time, so this is a bit of a departure from reading what (say) Peter Drucker had to say. Both coaches were legends in their own right - John Wooden who led the UCLA team to several championship wins, and Lou Holtz - renowned college football coach. The books here: 

  

I wasn't really ever great at sports, though I enjoyed and enjoy playing for recreation. However, the stories these coaches tell, their unrelenting focus on excellence, the impact they had on young impressionable atheletes, and their principled approach to success is something we can all learn from. 
The journey is better than the inn. -- Miguel de Cervantes
They both come from very humble beginnings. They did not particularly seek fame, and at least in Wooden's case, expressed at least a minor dislike at how it cramped his style. The advice they share is timeless: focus on the fundamentals - hone your craft and sweat the details, work hard - the harder you work the luckier you will get, focus on your team not yourself, walk your talk, and finally, concentrate on the process and the results will take care of themselves. 

They express these in terms of getting team victories, and how you can grow into a leader by practicing these consistently with honesty, dedication, and focus, so people will want you to lead them, will willingly follow, and together you will be able to realize your dream goal. There is of course more to these books (e.g. the "success pyramid", etc.) , but I'm not going for a full point-by-point summary here. 

copyright-free image from Pixabay.com

Victory here is measured by how close one comes to delivering their peak performance - not whether you have the highest score on the board at the end of the game, or even whether you won or lost. If you do your absolute best when called on, you have won. Great sentiment to live by.

The Vince Lombardi books and quotes are quite well-known. I've read them and they are inspirational. But the above books are also good if in a somewhat more understated way. 
The difference between a successful person and others is not a lack of strength, not a lack of knowledge, but rather a lack of will. -- Vince Lombardi
For inspiration and motivation, this is one of my favorite talks - by Arnold Schwarznegger. It's 12 minutes well spent.


Recently, a friend pointed me to this poem about the need to take some pains in life to grow and develop yourself so you can see success. It's called "Good Timber" by Douglas Malloch. My favorite stanza: 
Good timber does not grow with ease:
The stronger wind, the stronger trees;
The further sky, the greater length;
The more the storm, the more the strength.
By sun and cold, by rain and snow,
In trees and men good timbers grow.

-- excerpt from "Good Timber" by Douglas Malloch 

What are some other good leadership books written by sports titans that you like? Please share in the comments.





2021 | The Lean Startup

 

Photo by Anastasia Shuraeva from Pexels

The term "Lean Startup" was popularized by Eric Reis in his popular book of the same name. In it, he talks about ideas to setup, build, and grow a startup while leveraging lean principles - high levels of efficiency with minimal waste. In this post, we explore some of these ideas in some detail, and I also point you to relevant YouTube videos for those of you interested in learning more. 

Key Principles

  1. The Build-Measure-Learn feedback loop - everything you do must be with a view to first formulating, and then learning about your domain or environment by first defining what you want to measure to test your hypotheses, building things out, measuring the quantities of interest, and learning from your experiments. If you fail, you fail early and move forward to conduct new and different experiments. 
  2. Everything is a grand experiment - build a series of MVPs - Minimum Viable Products - anything that doesn't lead to validated learning is considered a waste. 
  3. He also defines different types of MVPs: 
    1. Video MVPs - some startups had great success setting up a website with fake videos illustrating not yet available functionality to get people to sign up early. This tests marketplace demand before too much potentially wasteful expenditure is incurred in building out features. 
    2. Concierge MVPs - focus on a few customers at a time, build your product to satisfy them, then move on to other, newer, adjacent customer segments, conquering them one at a time. 
    3. Wizard of Oz MVPs - sign up customers, and do manual work initially "behind the curtain", delight users, and keep automating as traffic volumes pick up. 

  4. Photo by Mikael Blomkvist from Pexels
  5. He explains that there are different types of Growth Engines that target different attributes of the business - you have to pick one (and only one) that represents what is most important to you at a given time in your company's lifecycle, though you may change Engines when the situation calls for you to do so:
    1. Stickiness focused - you expect clients to stay with you long term e.g. as subscribers. Here the metrics you track are things like Customer Acquisition rate and Churn rate. Some businesses where this kind of engine makes sense are firms like Gillette, and the HP Printers business. 
    2. Virality Engine - you want more and more people to sign up for your company's products or services, measuring things like viral coefficient compounded if possible with Word Of Mouth recommendations. Social Networks apply this paradigm all the time. 
    3. Paid Engine - use advertising to get customers. Measure things like cost per acquisition, lifetime customer value, and related metrics. Widely used in the retail ecommerce domain.
  6. Pivot or Persevere? Typically startups begin with an end in mind - a target audience, a target market, a geography they are going after, etc. They build a baseline MVP, try and tune it towards the ideal state, and hope for the best. But sometimes it is prudent to change direction to either refine or fine-tune, product, market, customer segment, etc. to get more revenue to stay viable. So they have to decide - stay the course, or pivot to try something related to grow better as a firm? He explains different kinds of pivots startups go through: 
    1. Customer Segment Pivot - when a change in customer segment is called for, to reach higher revenue gains. .
    2. Value Capture Pivot - when you change how you intend to monetize the product you plan to sell. You have to hit revenue targets while protecting your margins after all. 
    3. Growth Engine Pivot - this happens when you change your core growth focus, looking at the options in 4.1-4.3 above. 
Here are some additional resources for those interested to explore the topic further. Enjoy!

   

The first video above is a quick summary of the key takeaways from the book, while the second is a talk the author gave at Google. Both make for interesting watching, and are time well-spent to learn more about the lean startup methodology. Most importantly, in startups as in life, it matters that we focus our energies to do what really counts. 

"The worst thing in the world is to do something well that need not have been done at all" -- Peter Drucker (celebrated Management Guru)





Sunday, September 12, 2021

2021 | Thinking Design Thinking

Design Thinking is now central to the way various companies build out new capabilities into their business. There is a wonderful free course on this topic offered by the Stanford d.school

If you're interested in learning design thinking, you should probably also consider taking this other course that is equally useful. Introduction to Innovation and Entrepreneurship

Some good videos (more on these below) - the first explains design thinking in some detail, while the second is Bill Burnett from the famous Stanford d.school explaining how one can use design thinking principles to design oneself a better life. The focus is firmly on the user. For designing a life, the user is yourself.

  

Steps in the Design Thinking Process: 

  1. Accept: "gravity problems" - just like we have to accept gravity (we cannot really argue with it), if there are no solutions to some problems, we just have to accept the situation or move away from them to change the context
  2. Empathize: (life) find the why behind your goals; (projects) find out what the users really want from the product you are developing
  3. Define: Sketch the details of what you see would be in the ideal final state of what you are trying to build (projects, or your life).
  4. Ideate: (projects) make a list of best and worst ideas - you want to know what you want to include and just as importantly, what you want to exclude from your design. Prioritize these ideas and see how you might be able to incorporate them. (life) Design 3 parallel lives with the base case being your current life trajectory, then define aspects of each of these in detail. 
  5. Prototype: (life) Borrow from the parallel lives to improve or enrich your current pathway if you can. (projects) build out the PoCs or MVPs to include the design features from your prioritized list. 
  6. Test - (projects) try out how things work in small steps, then iterate. (life) try out things, but commit to changes you've decided to make, close the door to the past so you focus on the future - you can create more options looking forward if you have to. Iterate on an ongoing basis to design yourself a better life.

Bill Burnett from the Stanford d.school gave an excellent TED talk (above) about "How to Design an Excellent Life" - worth the 20 or so minutes. Some good insights there applying the 5 principles of Design Thinking, which he prefaces with an important idea of "Accepting" - some problems have no solutions, you just have to accept the situation. (These are the items listed with the 'life' qualifier for each item in the list above). He also wrote these books that make for interesting reading: 



Also interesting is this talk with Tom Kelley, Partner at IDEO - a firm that made Design Thinking mainstream. A bit long, but the video is definitely worth a watch.


Tok Kelley has also written the below books. These are important and give you a structured sense of what innovation really is, the art and science of how to build innovative solutions that will really move the needle on your business.