| In JC’s Newsletter, I share the articles, documentaries, and books I enjoyed the most in the last week, with some comments on how we relate to them at Alan. I do not endorse all the articles I share, they are up for debate. I’m doing it because a) I love reading, it is the way that I get most of my ideas, b) I’m already sharing those ideas with my team, and c) I would love to get your perspective on those. If you are not subscribed yet, it's right here! If you like it, please share it on social networks! Share 💡JC's Newsletter
🔎 Some topics we will cover this week Finding product-market-fit with intuition and customer interaction Planning and decision making in uncertain times Software engineering and its best practices Identifying and solving problems
👉 Operators Optimizing for Optics, Thread by Shreyas Doshi (Threadreader) ❓Why am I sharing this article? Excellent thread about what kind of leadership is needed for early stage projects (like Mind) How to not work for optics, to don’t over-abuse of frameworks, OKRs,... to be focused on finding product-market-fit with craft, intuitions, and a ton of time spent with customers.
Why do companies with major resources & distribution make products that are mediocre & often fail to reach their potential? There are a handful of reasons, many of which you already know. But there is one under-discussed reason: Operators Optimizing for Optics The Operator: Excellent at: scaling teams, cross-org alignment, unblocking execution Superpower: communication Not excellent at: original product insight Loves spending time with: peers & company execs Early on: gets promoted on potential Is often a PM talent magnet
Operators are great for scaling, at the right time, but they can bring premature optimization to projects, and that can kill its prospects very early on (even if most folks can’t see that readily, it is already dead). He could have hired great Craftspeople like Jessie on his team, and then listened to those Craftspeople to translate founder’s vision to a winning product. The Craftperson Excellent at: defining products & strategy, mentoring PMs Superpower: product insight Not excellent at: dealing with large orgs & its taxes Loves spending time with: team, users Early on: gets promoted on talent Makes singular product impact
The exec team should have understood that a lot of what seemed like “great operations & management” actually hurts early-stage bold initiatives. Premature operational optimization can be a very bad thing for early-stage projects in startups & large companies. Founder should have had the leadership maturity to see through (and candidly call out) what Dan was doing: managing for Optics, rather than a) actually understanding users, b) instilling creativity & humility, and c) optimizing for major impact. Operators are everywhere in tech companies. They are extremely valuable. But, assigning an Operator who is not self-aware to the wrong project can be fatal for the project & the team. You see, many Operators, even if they have good intentions, do not understand the role of a leader of an early stage initiative. Operators think that their job is to understand what the CEO wants, orchestrate actions across the org based on that, and set up processes, structures, and accountability checks to ensure that those actions are performed efficiently. For any early stage product initiative, its leader ought to deeply understand the user & business problems to be solved, build a small, energetic team that is inspired to solve them, build product to test informed hypotheses, with the most basic process to support these actions. Yes, it does matter what the Founder/CEO thinks. Yes, the Founder’s vision is to be understood & taken seriously. But every Founder worth their salt knows that real product work isn’t just about transcribing his/her vision. New product work is messy, requires enormous creativity. What should Operators who want to get better at leading early stage products do? So let me conclude this thread with my prescription of what such Operators should do less of, and start doing more of [see image]:
👉 Annual Planning in Uncertain Times: 6 Tactics for Rethinking Your Company’s End-of-Year Exercise (First Round Review) ❓Why am I sharing this article? Should we budget in Q2 instead of Q4 given our seasonality? I found BPM very interesting. It is also why I prefer NCTs (narrative, commitments, tasks) to OKRs.
“The W Framework” Plans: Teams respond with a proposed plan Integration: Leadership integrates into a single plan and shares it with teams Buy-In: Teams make final tweaks, confirm buy-in and get rolling
👉 What Distinguishes Great Software Engineers? (Abi Noda) ❓Why am I sharing this article? Effective decision-making may be an overlooked skill for developers. The analysis yielded the top five attributes that distinguish great engineers: “writing good code, adjusting behaviors to account for future value and costs, practicing informed decision-making, avoiding making others’ jobs harder, and learning continuously.” Being a competent coder: Paying attention to details, mentally capable of handling complexity Maximizing current value of their work: Anticipating future needs, avoids analysis paralysis, intentional about trade-offs. Great engineers distinguish themselves from others by considering the context of their software product, maximizing the value of their current actions; adjusted for probable future value and costs. Practicing informed decision-making: Gathering information to make informed decisions, data-driven, open-minded Enabling others to make decisions efficiently: Creates shared understanding with others, creates shared success. Great engineers distinguished themselves by making others’ jobs easier, helping them to make their decisions more efficiently (or, at minimum, they did not make them worse). Continuous learning: Desire, ability, and capacity to learn or figure out how something works
👉 Amazon CEO Andy Jassy is trying to fix a crumbling engineering culture with a new unit that tackles ‘foundational pain points’ raised by the company’s frustrated developers (Business Insider) ❓Why am I sharing this article? Earlier this year, Amazon formed the "Amazon Software Builder Experience" group with the ambitious goal of turning the internet giant into "Earth's best employer for software builders". Since launching, the ASBX team has grown to more than 400 employees, working on code automation, improved developer tools, and enhanced tutorials and safety infrastructure. "We also want developers to feel like they can spend most of their time building as opposed to reinventing manual tools that are being repeated. And we intend to fix that." And here are the six tenets, or guiding principles, the ASBX team is using, according to one of the documents:
1. Software builders across Amazon require consistent, interoperable, and extensible tools to construct and operate applications at our peculiar scale; organizations will extend on our solutions for their specialized business needs. 2. Amazon's customers benefit when software builders spend time on novel innovation. Undifferentiated work elimination, automation, and integrated opinionated tooling reserve human interaction for high judgment situations. 3. Our tools must be available for use even in the worst of times, which happens to be when software builders may most need to use them: we must be available even when others are not. 4. Software builder experience is the summation of tools, processes, and technology owned throughout the company, relentlessly improved through the use of well-understood metrics, actionable insights, and knowledge sharing. 5. Amazon's industry-leading technology and access to top experts in many fields provides opportunities for builders to learn and grow at a rate unparalleled in the industry. 6. As builders we are in a unique position to codify Amazon's values into the technical foundations; we foster a culture of belonging by ensuring our tools, training, and events are inclusive and accessible by design.
👉 OPP (Other People’s Problems) (Medium) ❓Why am I sharing this article? Step one: Figure out who owns this problem If it’s your job (or the job of someone who reports to you), great. Go to it! Make systems that are as robust as you believe systems should be. Follow processes that you believe are effective and efficient If there’s no clear owner, do you know why? Is it just because no one has gotten around to doing it, or has the organization specifically decided not to do it? If no one’s gotten around to doing it, can you do it yourself? Can your org do it, just within your org? If it’s someone else’s job, how much does it affect your day to day life? Does it bother you because they’re doing it wrong, or does it actually, really, significantly make it harder for you to do your job? Really? That significantly? There’s no work around at all? If it is not directly affecting your job, drop it!
Step two: Talk to all the people If you don’t clearly own the problem, you need to talk to people. If you feel tired by the idea of talking to all people, stop! This is a sign that you should not pick this battle! If you’re ok with talking to all the people, then get out there and get a sense of the problem beyond you and your team. You can do this formally, with a document that you prepare addressing the problem as you see it, or informally, as a series of user interviews. If you know who should own this, you need to give them a chance to fix it. Which means you need to come with examples of how the problem is impacting you or your team.
Step three: Plan the fix Make a concrete plan for how you will fix it, and share that plan with the people who need to know about it. You should expect that you will need to get feedback and revise your plan, and the amount of feedback and revision required will be directly related to how big the problem is, how many people it impacts, and how controversial the fix you’re proposing is. Expect this feedback, buy-in, and revision process to take a while. Be sure to include your skeptics too.
👉 Fatal flows (Warren Craddock, Twitter thread) ❓Why am I sharing this article?
👉 11 Laws of Software Estimation for Complex Work - Maarten Dalmijn ❓Why am I sharing this article? Law 8, Keeping things simple is the best way to increase the accuracy of estimates, is I think the most interesting one. The work still takes the same amount of time regardless of the accuracy of your estimate. No matter what you do, estimates can never be fully trusted. Imposing estimates on others is a recipe for disaster. Estimates become more reliable closer to the completion of the project. This is also when they are the least useful. The more you worry about your estimates, the more certain you can be that you have bigger things you should be worrying about instead. When you suck at building software, your estimates will suck. When you’re great at building software, your estimates will be mediocre. The biggest value in estimating isn’t the estimate but checking if there is a common understanding. Keeping things simple is the best way to increase the accuracy of estimates. Building something increases the accuracy of estimates more than talking about building it.
Breaking all the work down to the smallest details to arrive at a better estimate means you will deliver the project later than if you hadn’t done that. Punishing wrong estimates is often like punishing a kid for something they don’t and can’t know yet.
It’s already over! Please share JC’s Newsletter with your friends, and subscribe 👇 Let’s talk about this together on LinkedIn or on Twitter. Have a good week! | |