Hello fabulous readers! You might be asking yourself, “What is Alan up to these days?” Great question. Let me share with you a few things that are works in progress. As well as the media I am consuming.
When you are a beginner, you struggle through learning your process. You can seek out education and training. Or you can learn organically via deliberate practice. Many of my hobbies are skills that I hone by making things. The more consistent I can make something, the more likely I will improve my abilities around that area. My podcast is an avenue to share what I learn each week. YouTube is an area I want to improve on once I teach myself an editing process for videos.
In the past, I used Notion to store content I read. Organizing content into hierarchies for me ends up obscuring the content I collect from myself. I use Notion to build my workflows and databases. I use Obsidian for my atomic notes that you can view in my digital garden.
My goal is to generate valuable content for you, the reader of this blog. You will not enjoy the weekend scrawlings that I publish without re-thinking much. I am leveraging a digital garden as part of my process of creating content. I will compose blogs based on the crystallized thoughts and references I refine from my digital garden and podcast.
- Google Keep
- Quick Capture
- Conversation to dos
- Podcast moments
- Project information
- Important notes
- Refining of information
- Linking ideas
- Working in public via digital garden
I am thinking through the concept of API Design and reviewing some of the books on this topic. The topic is vast. There are many opinions on how to institute a better API design process. Interviewing experts at the company I work for made me realize that API design is a complicated topic. I made a podcast episode to summarize my readings. The podcast does not encapsulate the interview feedback I received. There are no tools on the market that help you make a “good” API. These tools enable collaboration.
Users typically express frustration around learning and leveraging the OpenAPI specification. This friction is like the object-relational impedance mismatch of working with a database and a programming language. Building a habit to work and think with YAML/JSON OpenAPI schema is not something developers are taught and may not see value in learning. Instead, Kevin Sookocheff sees more success in API Design when developers use tools they use in their day-to-day work. Many developers prefer to reach for code they are familiar with reasoning about to generate the OpenAPI schema artifact. Or a domain-specific language.
The cultural process and workflow around eliciting API feedback is your community’s job to determine, no matter the tools you use. These days no one is expecting a governing board of wise elders to weigh in on designs. Culturally it is preferable to seek broad input from a community of peer experts on a proposed API specification.
Companies that offer public external APIs to the world are more likely to need this rigor due to the risk involved.
I am a voracious reader but not a consistent producer of written content. When you read something or watch media, you often consume it for entertainment and nothing more. If you want to improve what you know and know it better, you need to do something with this information. Incorporating learnings into your daily life helps you better learn and keep what you are taking in.
I am smitten with the project design part of the book Righting Software by Juval Lowy. Software development is a broad and complex field. The content of the book is not for you folk finding a product-market fit in a start-up. If you work in an enterprise on large projects, then the project design fundamentals will benefit you.
You cannot iterate your way out of every problem. Discovery as a practice is challenging because humans are fickle. Building compelling products is hard. We need to treat the parts of software development that are like bridge-building as engineering projects. Respect is earned from accountability and meeting our commitments.
Jordan Belfort wrote a book about his straight-line sales method. Jordan shares his simple system that sums up to encourage a prospect to give the product a try. Salespeople are successful when they show bottled enthusiasm, show their expertise, and handle objections. When you ask for the order, the prospect should have no other sensible choice than to make a small commitment to buy the offering.
Andy Grove wrote a phenomenal book on management in a literary genre lacking much more than opinion. His insights on the role of the manager merit a book summary that I hope to write in the future. Managers focus on influencing those under them and near them. They must manage their time and focus on high-leverage activities. Training is one of the highest leverage activities a manager can conduct. Managers can motivate or provide training.
John Wooden was a basketball coach with clear leadership principles. Wooden on Leadership shares many of John’s great quotes and insights on the leadership and coaching role.
“Most of all, you must teach those under your leadership how to become a real team rather than a group of individuals who simply work at the same place for the same boss. All of this is possible only if you know how to teach.” - John Wooden
“Don’t mistake activity for achievement.” - John Wooden
“When I am through learning I am through.” - John Wooden
“It is remarkable how much long-term advantage people like us have gotten simply by trying to be consistently less stupid, instead of trying to be intelligent. There must be some wisdom in the folk saying: ‘It’s the strong swimmers who drown.’” - Charlie Munger
The Tao of Charlie Munger is a book of quotes from Charlie Munger with some commentary. This quote makes me reflect that many activities’ success can come from making fewer mistakes over time. Some think software engineering is a loser’s game. You can make your software engineering organization excel. Adopt practices over time that reduce errors. Fundamental practices such as limiting work in progress, collaboration workflows, and debriefing projects. The best companies stand out because they build lasting communities of knowledge and processes.
When approached with a new business opportunity, you can pre-qualify the person by asking, “Why me?” Asking why encourages them to defend you in their own words and reinforces consistency if they are on your side. Their answer presents you with the opportunity to distinguish whether you are the favorite or a fool.
Accusation audits are the most powerful negotiation tool. Build up the ability to use low-stakes practice in your daily life. You cannot influence a label that does not already exist in someone’s mind.