20 April 2018
I've written about the meaning of my life, which is to help others spend their lives doing things that are worth all their time and attention. This essay describes my current plans for doing that. I think that building my own empire will be the most effective way to accomplish that at scale.
First, we need to create a successful startup. This will be the starting point of the empire. Although my current main startup idea is a music-related, there are far bigger problems that we could start to address as the startup scales.
For one, the formal education system is highly inefficient for programmers who want to be startup founders, at least judging by my experience at BYU. The ratio of time and effort spent to learning achieved is far too low. It's also too hard to meet potential cofounders. See this essay for more information. I've also written more generally about problems with education.
Second, after graduating it's also been somewhat painful for me to work full-time at a regular software company, even a good one like Lucid. I have learned good stuff and I work with great people, but the experience still feels watered down because the main focus is just meeting random business needs of customers. I still have the problem that I work there 9-5, but I come home and want to work on my other projects. I want something instead that I can throw my whole soul into.
First make the company the best place to work for people who want to be startup founders. Focus on pushing the limits of technology, not just satisfying customers and making money. Make it a place where programmers will learn tons of stuff. Also make it a good place to get potential cofounders. Have lenient contract terms so people can work there for a little while and then go off with other employees and make new companies.
As much as possible, try to hold on to these new companies. The company could start turning partially into a sort-of startup incubator/investment thing. When the new startups are related to the current company, consider acquiring them. Diversify and grow the business like Google.
Fill the funnel with good programmers by solving the earlier education problems. See the aforementioned essay for possible solutions. Create a higher-learning experience that is ridiculously hard but worth programmers' energy. Make it replace a typical computer science degree. Link it to the company so the students will come work at the company after they finish (or they could immediately create their own startup and maybe get acquired by the company).
In both phases, make it something that programmers can put their whole soul into during the time they're there. Inasmuch as they have their own ideas for projects, this will probably involve enabling them to work on these projects.
Start at the very beginning of the process. Make the introduction to programming better for not-yet-programmers, and focus on middle-school/high-school age people. Make bonds with the great programmers long before other companies' recruitment process even begins.
This funnel of insanely great programmers and startups will help the company turn into a real empire. If we have the best programmers, it's only a matter of time before we start to displace the current tech giants.
Large companies have a huge weakness here: their job application processes are long and arduous. If we can keep ours light, even as the company scales, we'll have a major advantage in getting the best people first. Also see Sam Altman's thoughts about why working for big/high-paying companies is often a bad idea. (Search for "Incidentally, don’t let salary be a factor.")
In addition to relying on better programmers, we can rely on another general strategy: better business models. Google's business, like many in the industry, is based off advertisement. This drives them to collect and exploit user information, often in opposition to what's actually best for their users.
So as we develop new technologies, we also should be innovative with our business models. We'll try to figure out ways to not rely on advertisement, but still make systems that are profitable and loved by users. (Or we could still do advertisement, but find a way to remove the negative externalities).
It would also be great to apply innovative business models to open source development. These open-source projects are a critical part of the software industry's infrastructure, but they have major sustainability problems currently.
These two strategies of better programmers/technology/innovation and better business models will hopefully drive us to the top. Furthermore, it would fulfill all my specific career-related life goals:
 From the dedication of SICP: "I think that it’s extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don’t think we are. I think we’re responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun."