These philosophies are written to exponentially grow an individual's ability to solve problems with software.
-
Everything that you build should better enhance the next idea, startup, project, api, react component, data structure, and so forth. By building in the perspective to enhance your future output, you will be left with more time to innovate and your previous adversities should swiftly be resolved if they ever return again.
Code is such that it can be abstracted in an architecture that will make your next idea even stronger. Chances are you won't achieve greatness on your first try, but by understanding that everything you build will help the next idea, you are increasing the chances of success.
Every project that I start, whether it fails or succeeds will help the next project. It's this reason why I don't believe in doing consulting work anymore. Consulting work has a tendency to linearly follow the more time equals more profits pattern. As an entrepreneur, I don't have time to waste and everything I build will have an impact on my next project.
-
Before building anything, engineers need to develop an empathetic connection to the problem and a clear focus on the task at hand. Whether it's Steve Jobs, Jonny Ive or Tim Cook, all of Apple's innovative design philosophies include this deep understanding of a problem and clear focus of what to do (and to be better at that than any other company in the world). The greatest product managers help engineers understand empathy of a problem and the greatest project managers help engineers understand the focus of a solution.
Looking back at my experience building products, the greatest products were built in an environment that allowed people to empathize with the problem and create a clear path to focus on. Seek to question the conditions of the build environment as the output of the work.
To decode this at a deeper level, empathy represents the qualitative feelings of a problem and focus represents the quantitative todo list to solve the problem such as time and yes/no questions of task completion. All engineers require a sense of empathy to build something great. The absence of an empathetic connection to a problem will lead to building for the wrong/no audience. While without true focus, engineers will over/under optimize an application without futuristic need.
I believe it is a true skill to be able to master both empathy and focus. The more opportunity put into empathizing with problems and focusing on what actually needs to get done will result in more overall success in anything you put your mind to.