-
An Intro to Gradient Descent for Kotlin Programmers
2019-09-01
Introduction Gradient descent is an algorithm that’s used to solve supervised learning and deep learning problems. Here I’m going to try to give you an idea of why the algorithm works and how you’d implement it in Kotlin. I’ll also show the algorithm working with a simple kaggle dataset involving video game sales and ratings. Everything I cover here is covered in Andrew Ng’s excellent Coursera machine learning course with the exception of the Kotlin implementation of gradient descent.…
-
Dagger 2, 2 Years Later
2019-08-27
…in software, feedback cycles tend to be on the order of months, if not years…It’s during the full lifetime of a project that a developer gains experience writing code, source controlling it, modifying it, testing it, and living with previous design and architecture decisions during maintenance phases. With everything I’ve just described, a developer is lucky to have a first try of less than six months… –Erik Dietrich, “How Developers Stop Learning: Rise of the Expert Beginner”…
-
Maybe we Should Stop Creating Inscrutable CLIs
2019-08-17
In the original Unix tradition, command-line options are single letters preceded by a single hyphen…The original Unix style evolved on slow ASR-33 teletypes that made terseness a virtue; thus the single-letter options. Eric Steven Raymond, The Art of Unix Programming Programs must be written for people to read, and only incidentally for machines to execute. Abelson et. al., Structure and Interpretation of Computer Programs I just wrote this little bash-ism the other day for removing all attachments from a jira ticket:…
-
Some Tips for Delivering an Effective Roadmap Presentation
2019-07-13
I recently delivered a presentation of our (outcome-based) roadmap. Several people approached me after the presentation to tell me that they found it useful and informative, so I thought I’d jot down some of the things that I think contributed to the warm reception of the presentation. Hopefully, these tips will come in handy both for others and for my future self. …
-
How to Automate Common Jira Tasks with Go Jira Custom Commands
2019-07-03
in all but small teams I typically recommend separate people for the separate roles [of product managment and project management]. But in every case I believe that developing strong project management skills is a big advantage for product managers – at the least your product will get to market faster, and it could make the difference between getting your product shipped at all. –Marty Cagan, “Ebay’s Secret Weapon” Every morning, I get the following slack message reminder:…
-
Why PMs Should Study Statistics: An Interactive Essay
2019-06-02
Marty Cagan – seasoned product manager and author of a book and blog that makes practically every recommended reading list for new product managers – says that there are two academic courses that “every product manager should take”: finance and computer science. In this interactive essay, I suggest we add another course to this list: statistics. A strong understanding of statistics facilitates three key responsibilities of product managment: understanding analytics, implementing cooprorate change, and making accurate forecasts.…
-
Some thoughts on the moral implications of building habit-forming products
2019-05-11
I recently finished the book Hooked: How to build habit-forming products I challenged the author’s view on the moral permissibility of creating habit forming products here on medium (It was picked up by product coalition and selected by medium curators 🙌) and again as an interactive essay using idyll.
-
iPhone Q1 Revenue Forecast
2019-04-17
This is my first crack at making a forecast as a part of what I’m calling the “Cassandra Project.” The gist of the motivation for the project is that product management and entrepreneurship requires smart bets on the future and that you can’t get good at making smart bets on the future without practice. You can read more here. The forecast I’m making relates to this question: Will the percent change in iPhone revenue growth from Q1 2018 to Q1 2019 be greater than the percent change in revenue growth from Q4 2017 to Q4 2018?…
-
The Cassandra Project: Towards Better Product Management via Better Forecasting
2019-03-30
Product managers have to make bets on the future. If you think for a few seconds about the types of risk that product managers are charged with managing, this becomes obvious. Product managers — as Marty Cagan points out — must manage risk around: value risk (whether customers will buy it or users will choose to use it) usability risk (whether users can figure out how to use it) feasibility risk (whether our engineers can build what we need with the time, skills and technology we have) business viability risk (whether this solution also works for the various aspects of our business) All of these require some betting on the future, but managing value risk and business viability risk in particular require forecasting that can be especially difficult to do.…
-
Hilarious Heresy: A Review of Jessica Powell’s "The Big Disruption"
2019-03-23
If I had to pick a few words to describe Jessica Powell’s The Big Disruption they’d be the words “hilarious heresy.” “Hilarious” because the book is surprisingly funny. My wife actually kept commenting on how much I was chuckling as I read the book. “Heresy” because it’s a good way of capturing what Powell is doing in the book with all of her criticisms: she’s challenging the silicon valley gospel that tech companies are here to save the world, and given all of the attention and good will towards those companies, “heresy” feels like an appropriate label for this message.…