Jeff Doolittle
Software Architect
Actions
My mission is to help make good software professionals great!
I am a software architect and transformational leader with over twenty-five years of experience designing and architecting software systems, and providing developer leadership and mentorship. I am passionate about designing and refining systems that cultivate repeatability, reversibility, reuse, trust, clarity and empowerment.
I bring together a unique blend of technical expertise, compassion, empathy, commitment to high quality, and leadership skills. I love helping software executives, engineers and developers to accelerate their productivity. I thrive on helping everyone I work with to maximize their skills and fulfill their potential, personally and professionally.
I began my career in a successful software consulting firm serving companies of all sizes, from small businesses through Fortune 100 companies. I took on the role of CTO in just a few short years. Working in a software consultancy exposed me to a vast array of business problems for which I crafted valuable, customer-centric solutions.
My next challenge came in a role as Co-founder and CTO of a SaaS startup where I provided strong business, architectural, system design and process leadership. Under my guidance, the company pioneered cloud automation processes and event-driven systems long before these had become standard industry practice.
In addition to architectural mastery, I completed a Master of Arts in Transformational Leadership, a discipline which focuses on the techniques of leadership replication.
I am one of the hosts of Software Engineering Radio, one of the most popular software podcasts in the world: https://www.se-radio.net/team/jeff-doolittle/
I also frequently present on topics related to Software Engineering and have appeared as a guest on other podcasts as well: https://jeffdoolittle.com/publications/#events
I am currently employed as a Senior Software Architect in the Construction sector at Trimble.
Links
Unleash the Power of Technical Empathy
Good abstractions put the hard work where it belongs: on those shipping the API, not on those integrating with it.
The software industry is rife with examples of APIs that place an undue burden on the integrator. Poor design, unclear requirements, short sighted objectives, and failure to encapsulate volatility lead to brittle, fragile systems that are frustrating and costly to extend and maintain. The temptation to deliver leaky abstractions is great since victory can be claimed for "shipping," especially in situations where most stakeholders do not have the design skills and systems training to differentiate a poor abstraction from a good one.
Technical empathy provides a shift in mindset and culture that cultivates greater clarity of responsibility, increases the empowerment of both implementer and integrator, and ultimately helps build and maintain trust between software delivery teams.
This session applies systems thinking, leadership principles and deep industry experience to help software professionals understand the need for technical empathy and how to cultivate it in their own context.
Topics to be explored include:
How a lack of technical empathy plays out
- A.K.A. the state of the software industry
- A.K.A. why it hurts so much
The hard skills of technical empathy
- Information hiding
- Dependency management
- Complexity Containment
- Consistency, Coupling and Cohesion
- Design reviews
- Documentation
The soft skills of technical empathy
- “The problem is people, and the solution is people, and that’s the problem.”
- API design as a human design task
- Examples of poor designs in comparison to good designs
- Organizational design and API design go hand-in-hand
Creating a culture of technical empathy
- Cultivate Trust
- Fight for Clarity
- Reward Empowerment
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top