About Me
I am a distinguished software architect and Agile consultant with a wealth of experience in improving software development practices and crafting robust software architectures. With a background spanning over several decades, I have dedicated my career to training, consulting, and coaching on Lean and Agile methodologies. My expertise extends to applying process-agnostic Agile techniques to enhance organizational agility and build high-performing development teams. I focus on practical applications of Agile principles, guiding teams through the intricacies of creating scalable and efficient software solutions.
My journey began in hardware engineering, but a transition into software development led me to design and implement complex systems, including compilers and real-time operating systems. Over the years, I have served as a CTO for early-stage startups and contributed significantly to various commercial applications. My extensive experience encompasses both the technical and strategic aspects of software development, with a proven track record in Agile transformations and architecture design.
I am also an accomplished author and educator, having written numerous books and articles on software design and development. My video classes and courses on platforms like Pluralsight, LinkedIn Learning, and O'Reilly cover essential topics such as object-oriented design, architecture fundamentals, and domain-driven design. My teaching tenure at the University of California, Berkeley, and Mills College reflects my commitment to delivering high-caliber education in software engineering.
Agile MethodologiesSoftware developmentMicroservicesC/C++ codeSoftware ArchitectureLean TechniquesScalable SystemsObject-Oriented DesignDomain-Driven DesignIncremental ArchitecturePython