One of the skills that I find to be indispensable for a product manager is the ability to learn new things quickly. The reason why this is important is because we operate in an environment where things change constantly, and there is frequently a need to jump in and help with a specific aspect of product delivery that is new. This raises an interesting question - what is the best approach to learn things quickly?
In several conversations with individuals that I help mentor, the same question seems to be coming up more often than others - what are the skills necessary to be a good product manager? This seemed like a great opportunity to provide a more persistent outline that can be referenced by others in the future, hence this post. I should mention that this list is, of course, not comprehensive - depending on the company, responsibilities and the product one is working on, additional skills might be necessary (or even the same skills, but in a different context).
I was working on some data analysis recently, that involved me dealing with data snapshots. These are effectively point-in-time representations of specific data. For example, if you’d be dealing with the amount of items at a warehouse, you could imagine that you’d be taking a snapshot through the day of how many items you have available during each hour. That will give you a pretty good idea of the in-flow and out-flow of materials.
A colleague and I were working on some data analysis tools today, and they encountered a puzzling error when processing a large chunk of data. Due to the volume of unique users that they were analyzing telemetry for, they decided to use sampling by hashing the user IDs and then taking a slice of the group they wanted to investigate. Because they were using Kusto, they could rely on hash() - a function that returns a hash based on the input value (it uses the xxhash algorithm behind the scenes).
Back on January 22, 2010, I started this blog - time sure flies when you are having fun! I didn’t even join college back then, and I already wanted to share the little knowledge and tips I had with the world. Ubuntu Karmic Koala was recently released, and I was fiddling with it overwriting my MBR, ruining my n-th Windows 7 installation. Back then, my dream was to one day work at Microsoft - a pretty far shot from someone coming from the part of the world I’m from.
When building tools that authenticate against other APIs, more often than not I need to manage private keys and secrets. The challenge is that sometimes it’s very easy to forget the fact that the key is sitting somewhere in a configuration file, and it will be accidentally checked in to the repository. With the proliferation of tools like trufflehog, that’s generally not a position you want to be in. A lot of services are being proactive about it, and when a leaked key is detected, it will be automatically revoked (notice how it someone attempted to use it within minutes of the leak).
I will preface this post by saying that it’s not about quantifying the education of those that already went through coding bootcamps, but is rather a point of view (i.e. opinion) for those that are considering whether they need to sign up and pay for bootcamps that will teach them how to write software. I am sure there are quite a few people who found success going down the bootcamp path, and I am extremely happy for those that found it to be their preferred approach.
I recently discussed a topic that came up through a conversation with an intern I was helping - they were not familiar with the floppy disk icon as the metaphor for “Save”, and thought that it was a box of some sorts. As in - a box in which you put in stuff to “save it”. The next logical thing was for me to sit down and put together a list of things that I will fondly remember in the world of tech, that are likely to not be missed by the next generation as technology becomes much more convenient and frictionless.
This is somewhat of an open letter that I don’t usually write, but we really need to sit down and talk with Apple about account management UX. I am generally a pretty happy Apple user - the iPhone and the Watch are great. However, there is one lingering problem that seems to elude the user experience teams, related to subscription management. In 2020, when more and more services are moving towards a subscription model (Apple Arcade included - that is now a separate tab in the App Store), managing those in one place seems like a key part of customer experience, and Apple is uniquely positioned to address this problem.
All the way back in 2013, Paul Stamatiou wrote a blog post on how he simplified his life. It’s a relatively short essay that I highly recommend everyone read. I personally find a lot of value in simplicity. It’s all about focusing your time and effort on things that matter, and reduce the friction in making decisions (which take a non-zero amount of time and mental effort). I try to make a conscientious effort in bringing the philosophy of minimalism and simplicity into everything I do, so you can use this post as an encouragement to do the same.