While writing PR.FAQs for my projects I keep doing, “this project does x and y and z.” Basically, bundling too many things into a single thing. This results in lack of focus and projects that are not connected to each other but if you squint it looks like they are.
For example, I wanted to combine DevOps, Kubernetes and Serverless. While seemingly related in that they all are Cloud based the similarities stop quickly and optimizing the offering to deliver consistently and reliably fails fast. Providing services for DevOps can entail all sorts of things from Android, iOS, Cloud, Databases, etc. Really too much for any one person or company to necessarily get good at. Kubernetes and Serverless while related in terms of getting code running on a server somewhere has another set of issues. You can learn Kubernetes for the different Cloud providers but then Serverless is difficult because you have to figure out what Serverless platform you want to use. Optimizing delivery of Kubernetes problems is much much different than optimizing delivery of Serverless offerings.
I’ve had mentors and people tell me that doing too many things like this is unproductive. Obviously, I didn’t listen to them because I am special… But simplicity of offering matters. For all the complexity that Stripe handles and their seemingly endless products their API is simple. All their products are build into a consistent whole which is take payments on the Internet.
So as much as I wanted opsZero to do multiple things I do not think a brand can be made to handle multiple things. People need a brand to do exactly one thing for them. A job to be done. A business is a “person” after all. It just does the same task a person would do themselves but as a repeatable entity that does it for n people.
The lesson learned is that a company, as Peter Drucker noted, exists to exploit an opportunity. And a business that is simple and easy to understand from the outside looking in, is better at exploiting opportunities than a company that tries to do too many things.
So how does this affect what I’m doing? By having everything combined into one it was providing to be difficult to hire. How do you hire for a plumber and ice cream shop built into one? I’m now looking at every business as a machine. A machine that does a single thing well with different people working on the different parts with a singular metric to optimize around. My goal is as I go through building the machine I will be able to step back from each piece going from contributor, to manager, to owner delegating responsibility.
Product businesses are so hot right now. There is a literal app for every single thing. Product companies are great because margins are high, custom work is low and scaling that is relatively easy. Unfortunately, with opsZero I’m in the service game.
Services are interesting because after doing services for 20+ companies in the last 5 years a few patterns emerge:
- Services can be delivered in a Productized manner.
- Most companies aren’t unique in their requirements. If you do it for one company, likely many more have the same need.
- Most things require scaffolding. If you can Productized the scaffolding and provide the value on top it allows the value to be delivered faster.
Some negatives of a service business.
- Since people are interacting with a person instead of a product they have weird things they want to throw in versus what they would do with a product. A product can fail and you move on because a product can’t do everything. A service on the other hand people have weird expectations that they wouldn’t have of a product because they are speaking to another person. “Oh you do Kubernetes, let’s have you do database optimization.”
- A product company is mostly a subscription business now. This is unfortunate because I grew up in the shareware generation and I think a lot of products can be that model. Anyways, this results in people thinking the old model is product based subscription businesses and everything else is a “lifestyle” business.
- People are willing to treat other people poorly versus having to go through a support channel to treat people poorly.
So why do I like service businesses?
- Everyone wants to build a product but to use your product someone needs to do the work. Just because a product is created doesn’t mean that your customer can do it themselves. Webflow, WordPress, Wix, etc. Have figured out how to do this by creating a partner marketplace. But if you are just starting out it doesn’t exist.
- Value is easier to discern. You deliver value and you get paid for it. Time is literally money.
- The price of time has a higher value in the short term than in the long term compared to a product. Overtime a product has the better revenue + profit vs a service business. But in the short term a service has a better outcome. On the other hand a product has a harder time getting a footing which is also a risk a service company doesn’t have to do.
What are some things a service company can do to innovate?
- A company can innovate in delivery. Process delivery, i.e delivering the same things multiple times for multiple customers, is the best way to deliver value. Basically make things as cheap as possible by constantly reducing cost.
- As a business model service businesses don’t incentive workers. A person delivering $100 dollars in value isn’t that different from a company providing $150 in value if they are following the same checklist. Essentially a service business is seeking engineers at the cheapest rate possible and isn’t looking for the sake of tomorrow but the needs of today. Incentives in this structure is hard as people doing harder work usually results in higher pay. In a service business the goal should be getting the work done for the same amount over time.
Inspiring leaders motivate others towards a bigger goal. I am not an inspiring leader. I have trust issues, I want things done my way, I micromanage, I give tight confines with no ability for creativity. I utterly make myself miserable when others don’t do things my way and I make others miserable by denying their humanity, seeking to treat their output like a machine.
As I face the reality of burnout I suppose I’m having a come to Jesus moment. I can’t keep doing what I’ve been doing. I need to become a better manager to grow my business and I need to empower others to make decisions.
I’m never going to be an inspirational leader. I don’t think that is my style. I think I’d rather be a good teacher. I want to help others be the best versions of themselves and achieve their goals and as a side effect help me with my goals.
I can’t work on everything at once so I’m going to work on one thing. How to give trust. How to trust others within a set of constraints. Maybe that is the real goal of a manager. You set constraints and give your people trust within a framework. You then empower them within that framework by removing all obstacles that prevent them and you from functioning well.
Not rocket science, but harder to do than writing some code.
There is so much data about how climate change is affecting us that it is overwhelming. I’ve created a website climate.sh to start tracking an initial set of KPIs, however rough it may be. The initial data was just public companies that are actively causing climate change. I used this metric, predominantly coal and oil companies, because the change in their valuation seems to be an excellent way to correspond to climate action. If they go down, then climate action is going well.
However, I’ve only looked at the KPI from a “less of that” mindset. How do we have less of that? Essentially, the metrics I have is an output metric. I haven’t proposed the input metric.
So I’ve been trying to think about the input metrics. The input metric, I believe, is a total investment into renewables and zero-carbon energy. I know there is a whole host of other factors into climate change that needs resolution. Solving for the 60% case seems to be zero-carbon energy.
So what are the input metrics? I think there should be two:
- Total renewable / zero-carbon energy used by country.
- Investments in zero-carbon projects around the world.
I’m trying to gauge how to think about renewables per country. Some countries are entirely dependent on oil. For example, Antigua and Barbuda get 99% of their energy from oil. However, their population is only about 98,000. Should renewable projects be bottom-up or top-down? Should the rich countries change first then move to poor countries, or should the poor countries be helped first, so they avoid the problems of the rich countries?
The reason for this is that it affects how to look at data. If we are to move bottom-up, the goal would be to get as many countries to renewables as possible making overall trends look better. But if we do top rich to poor, then the data changes to be more skewed.
Maybe the better KPI is to look at renewables as a percent of the population may be a better number. Still need to explore…
Well I’m at it again, designing yet another crowd workflow engine. One of the things about workflow engines are that one size doesn’t really fit all especially if you want it to be easy to use. The workflow engine I’m working on is for getting code completed. The problem is how to do it in a way that:
- Limits scope and ACL
- Allows for new workflows to be generated quickly.
- Ensures that Workers are isolated from each other and do not see each others tasks.
- Ensure that Managers can see everyones tasks.
Doing all of this cheaply without spending an arm and a leg on Jira, Asana or some other tool has been the major bottleneck. In the future that may be a possibility, but for right now just doing the first four are the MVP of the solution.
A project should be marked as completed at some point. It can have the people it needs and the routine to go through the customer acquisition, value, cash cycle. Once finished it can just have a routine that does a few updates here and there but is feature complete.
As someone who is finally getting serious about project management the real value is figuring out where to optimize limited resources. Not everything is equally important. Some tasks have a higher ratio of importance than others.
So a project should at some point be theoretically completed. It should have a cycle that is done and run in a mostly independent manner. And if it is software it should run with as minimal of resources as possible.
I’ve been trying to figure out a better way to read. I treat all reading as a one way door. I expect to come out the other side a changed man. However, most books are two way doors. You go in have a drink at the bar, maybe a short conversation with the author and you come back out and move on with your life.
Treating all reading as one way doors is a good way to not read more. There is too much pressure, and for me anyways I feel like I need to put a lot more energy into it than I do. But if I think of the real profound reading I have done there are only a few one way door books:
What I have found is that most books are driven by an incentive to achieve a certain length. They tend to be about 200 pages even though the primary idea can be summed up in 5-10 pages. This is especially true of business books and pop psychology. Finding the 1-2 things that the author is trying to convey and skimming the rest seems to be effective and makes time more useful.
Biographies have a lot of dates and specific facts which may not be important. I suppose one of the things I am trying to do with biographies is what am I trying to get out of it. Am I trying to understand the history or the person? Am I trying to understand the specifics period of their life or the theme of their life? Again allows for a lot of skimming of sections that aren’t as important.
I don’t really read fiction so no opinion on that.
For my one way door reading I am looking at Lindy’s Law. If a book has been around for a couple years and still recommended then it is likely still good. If it has been around for a few millennia and still recommended then that is likely still really good. Those I want to spend time reading.
I’ve wondered why small teams work. What is it about them that drive results? I think the answer is that they empower people to make changes giving them ownership over the outcome. People have pride when they see their work actualized. They like to point and say I did that. It is a good feeling.
I’m looking to see how to setup Notion in such a way that it is easy to manage multiple teams as individual units. I don’t want them to really interact and as a secondary they should be provided value.
Loss aversion is strong. Prospect Theory states we see losses as worst than equal amounts of gains. It is interesting that one of the things I’ve been struggling with is looking at my revenue and profit in terms of my salary as an engineer back when I had a full time job. My goal is to make an engineering salary. Below that I feel a loss and sometimes don’t put in the effort or appropriate risk to get bigger gains than that.
Sometimes you need to gamble $20k so you can make $100k or more. Instead I’m averse to the loss and try to do everything myself. It is a problem because I’m defending against losses for the company but not taking the risk to gain. This is further punctuated on being bootstrapped.
It may be one thing to bet with someone else’s money. Sort of like playing Zanga Poker vs playing at a casino with your own. The game feels and is different. I need to take risks.
So how am I mitigating risk?
It seems one of the best ways to assess and reduce risk is significant amount of planning before writing the first line of code. I think this is why Amazon has been so successful they seem to derisk problems by writing before building.
I’m trying to do that this next quarter. Have a specific plan with literally everything defined to a t. Then I am assigning owners to each task. The goal is to move from contributor to entrepreneur. It is a much different shift.
PV = FV/(1 + r)^t
The Future Value (FV) of Cash is what needs to be optimized. The Future Value when considering it as an investment is the rate of return based on r. If you invest and r is high then you can likely spend more money than if r is low.
r = root(FV/PV, t)-1
However, if r is low then make a decision based on cost. Or figure out if it makes sense to invest at all.
Now r as I use it is an average gross margin rate over the last 12 months.
So what is the point of all this? When making decisions about capital it seems to be easy to get into the hole of optimizing cost before growth (especially when it’s your own). If product A costs x, and product B costs y the question should be which will increase r fastest.
Calculating this should be:
PV = Cost of Time + Cost of Product
t_0 = Time to Market