Business Experience


Joseph W. Yoder has been developing software for many years and started as an independent software-consultant in the mid 90's. Joseph is a founder and principal of The Refactory, Inc., a company focused on software architecture, design, implementation, consulting and mentoring in all facets of software development. Joseph is an international speaker and pattern author, long standing member of the ACM, and the President of The Hillside Group, a group dedicated to improving the quality of software development. Joseph specializes in Architecture, Analysis and Design, C#, Java, Smalltalk, Patterns, Agile Methods, Adaptable Systems, Refactoring, Reuse, and Frameworks. Joe is the author of many patterns, including the Big Ball of Mud pattern, which he co-wrote with Brian Foote, and which illuminates many fallacies in the approach to software architecture.


Joseph Yoder has taught, mentored, consulted, and managed various software projects for many years, including applying patterns, designing architecture, creating adaptive object models, utilizing agile methods, developing frameworks, refactoring existing systems, object oriented software development in Java, C#/.NET, Smalltalk and C++, and web design and cloud services.


Joe evolved from the Software Architecture and Patterns group at the University of Illinois. He has worked on various projects during his career that have incorporated many technologies. These range from stand-alone to client-server applications, web applications, web services, cloud computing, service oriented architecture, multi-tiered, various databases, object-oriented, frameworks, human-computer interaction, collaborative environments, and domain-specific visual-languages.


These projects have spanned many domains, including Medical Information Systems, Financial Systems, Ordering, Import, Invoicing, Print, Shipping, Warehouse Management, Manufacturing, Medical Examination, Statistical Analysis, Scenario Planning, Client-Server Relational Database System for keeping track of shared specifications in a multi-user environment, Telecommunications Billing System, and Business & Medical Decision Making. More recently, Joe has been teaching Agile Methods such as XP and TDD, Design Patterns, Object Design, Refactoring, and Testing in industrial settings. Additionally, Joe has been consulting and mentoring people on these concepts, assisting teams in successfully building and deploying various systems.  This recent work has also included working strongly in the .NET environment, deploying frameworks and Domain-Specific Languages for some of his clients.

Joe teaches Agile Methods, Design Patterns, Object Design, Refactoring, and Testing in industrial settings and mentors many developers on these concepts. Other projects involve working in both the Java and .NET environments deploying Domain-Specific Languages for clients. Joe presents tutorials and talks, arranges workshops, and organizes leading technical conferences held throughout the world, including international conferences such as Agile, CBSoft, JAOO, QCon, PLoP, OOPSLA, ECOOP, SATURN, and SPLASH. Joe thinks software is still too hard to change. He wants do something about this and believes that using good patterns and putting the ability to change software into the hands of the people with the knowledge to change it  seems to be one promising avenue toward solving this problem. Joe currently resides in Urbana, Illinois.

Upcoming Travel


Joe's Publications

Can be downloaded from my website. I add new material as it's been published.

View Library

Training Mentoring

Are you looking for design patterns training or mentoring? Joseph provides training courses for a variety of languages.

Learn More