An essential text on the analysis, development, and implementation of fundemental data structures and algorithms.
Patterns to assist with the creation of enterprise software. Enterprise software can be small to large applications, but the use of good patterns can assist with development, maintenance, longevity, and cost-efficiency.
The principles, patterns, and practices chosen to assist with the delivery of software projects are essential to the long term success of the project. Design patterns, development principles, and clean code practices directly impact the quality and speed of delivery of software.
Your legacy is determined by what you choose to care about and and not care about. Pain is a necessary part of life and you often get to choose what your pain or pile of crap is. Always strive to doubt your conclusions and challenge your values so that you may continually grow.
Deep work, the ability to work in a flow state and produce both a quality and quantity of work, is under attack in the current age of distraction that we're in but it has never been more valuable given the extreme technical nature of the knowledge work that most are undertaking. In addition, it provides a greater meaning to work and life because of the richness and focusedness of the experiences. Lastly, it leads to a more rounded life because of the focus on what is most valuable and the discipline to shun the innessential.
Owning your situation, in life and work, allows you to determine your future rather than let circumstances determine it. Leadership is simple but not easy given the numerous dichotomies in leadership. Effectively communicating not only the what but also the why is important so that even the lowest level understands the greater picture to a degree. Through constant dedication, discipline, and continous improvement, individuals and teams can attain the ultimate freedom: intrinsic self-discipline.
How you handle conversations has a huge impact on your relationships. Ensuring safety in conversations is essential to allow for the real issues to be discussed. If there's a safe environment you can talk about anything.
Phan Static Analyzer When trying to determine what needs to be updated in a project to make it PHP 7.* compatible, it is nice to use a commandline program to assist. I straight away tried to use phan static analyzer since I had used it on other projects to check the quality of code but it was impossibly slow, when using it for a codebase plus vendor libs, even when target_php_version was the only analyzer turned on when running phan .
Uncle Bob outlines what he has learned over the years when it comes to architecture on a systems and project level. The goal of architecture is to reduce the long-term cost of a project by delaying decisions and maintaining as much flexibility as possible. A special team does not accomplish this goal but architects who are the best programmers. Through the pragmatic application of principles and architectural methods, one can make a project easier and more cost effective.