Kate Matsudaira

I read an interesting article “Design Patterns for Managing Up” that discusses four challenging situations at work and approaches to resolve them. It turns out that the author is technologist Kate Matsudaira, previously working at Microsoft, Amazon, and several startups. Kate is currently a director of engineering at Google.

Kate Matsudaira interviewed at Velocity conference.

Her personal blog is full of great articles and is well worth reading, because Kate has a unique combination of good technical knowledge and great management skills. I particularly liked her articles on resolving conflicts and managing people and teams. Kate’s personal story is inspiring. She also shares a very comprehensive list of interview questions for CS jobs. From this list I liked converting BST to ordered array, when is a hash map a poor data choice and given the following variables: time, budget, customer happiness and best practices, explain which are the most important in a project.

There are several talks by Kate available online, concentrating on personal growth at work and leadership. I suggest you start with the “Leveling Up” talk that is motivating and fun. Speaking of leadership,
Lighthouse has a nice interview with her.

Kate’s Twitter account seems to be updated regularly and you may want to start 2019 with the planning tools she links to.

I love it when the Internet takes me on a tour like this. I start from an article by an unknown person on Hacker News, liking the article and finding out more articles by the author, all the way to her life story on her blog and seeing that she went to Harvey Mudd College on her LinkedIn profile. Coming back to a game theme from Kate’s talk, it’s like playing different levels in a game:-)

ML: MSDN and Xavier

Microsoft’s MSDN magazine for its development community has been publishing quite a few introductory articles to Machine Learning (ML) over the past few months. January’s issue emphasizes ML with another series of articles, albeit with differing qualities. I liked this quote from the editorial “Advancing AI“: ”ML is a huge graph that requires you to repeatedly examine topics, learning a bit more each time and understanding how topics are interrelated”. An interesting article “Introduction to PyTorch on Windows” is from James McCarthy and only highlights recent rumbles from Microsoft about switching from developing and using its own CNTK library to open source PyTorch, developed mainly by Facebook. In terms of activity, PyTorch statistics on GitHub are about half the activity for TensorFlow and both dwarf CNTK numbers. From this perspective, Microsoft made the right choice abandoning CNTK. For an example of PyTorch staying current, latest version of PyTorch introduces two modes for Python-based ML that enables just in time JIT compilation to improve PyTorch’s adaptability to production environments. Another article “Self-Organizing Maps Using C#” is about an ML technique that is not well known and its usability seems questionable. The third article “Leveraging the Beliefs-Desires-Intentions Agent Architecture” is poorly written and shamelessly plugs the author’s travel agency in the provided sample app.

For most problems in ML, learning is achieved by applying non-linear activation functions to hypotheses. This allows the algorithms to discover non-linearity in data and predict unseen data with greater clarity. Trusted sigmoid activation functions are being replaced by other activation functions and also initialization is being improved. In fact, the “Understanding the difficulty of training deep feedforward neural networks” study details replacing standard random initialization of Deep Learning (DL) networks with other initialization methods. DL networks are neural networks with high number of hidden layers. The study gets rather mathy half way through, but most of the article is digestible. The resulting initialization algorithm is now called Xavier initialization after the first author of the paper and is supported by all leading ML frameworks.

OKRs

Recently I read several articles on OKRs (Objectives and Key Results), a method for setting and tracking the goals leading to better alignment of goals in an organization. OKRs were started by Andy Grove of Intel and first documented in his book “High Output Management” from 1983. The OKRs concept is built on Management By Objectives approach created by Peter Drucker in 50s.

The central principle of OKRs is that each objective (what) is accompanied by several key results (how), that are measurable and can be answered in yes/no format. Great introduction to OKRs is this TED talk by John Doerr, who also wrote a book about it “Measure What Matters”. Doerr has a web site www.whatmatters.com with more content.

OKRs are apparently used by all Google employees. The process of using OKRs at Google is described in the “Startup Lab Workshop” video (over an hour). The video is from 2012 and is considered by some not up to date, but still explains in detail basic concepts.

A web site by one of the proponents of OKRs who makes living teaching companies how to use them is here. It has many interesting articles, including an article about using Shared OKRs from an ex-employee of Google.

2018-01-14: Updated category.