Joseph Yoder (computer scientist)
Joseph W. Yoder is a founder and principal of The Refactory, Inc., a company focused on software architecture, design, implementation, consulting and mentoring on 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, Java, C#/.NET, Smalltalk, Patterns, Agile Methods, Adaptable Systems, Refactoring, Reuse, and Frameworks. Additionally, Joe is an accomplished author, having written a few dozen published papers, including being an author of the Big Ball of Mud pattern, which illuminates many fallacies in the approach to software architecture. Additionally Joe has trained and mentored developers on various types of software applications.
Joseph evolved from the Software Architecture and Patterns group at the University of Illinois. Joe has worked on various projects during his career that has incorporated many technologies. These range from stand-alone to client-server applications, web applications, web services, cloud computing, service oriented architecture, micro-services, multi-tiered, various databases, object-oriented, frameworks, human-computer interaction, collaborative environments, and domain-specific visual-languages. In addition 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.
Joe teaches Agile Methods, Architecture, Design Patterns, Object Design, Refactoring, Being Agile at Quality, and Testing in industrial settings. Additionally Joe has been providing assessments and evaluations, consulting and mentoring people on the above mentioned concepts, along with assisting agile teams in successfully building and deploying various systems. His work has also included deploying frameworks and Domain-Specific Languages for some of his clients.
Joe has presented many tutorials and talks, arranged workshops, given keynotes, and help organized leading technical conferences held throughout the world, including international conferences such as Agile, Agile Brazil, Agile Portugal, Encontro Ágil in Brazil, AOSD, CBSoft, GOTO, JAOO in Denmark, Israel Conference on Software Architecture, JDD in Poland, QCon, PLoP, AsianPLoP, SugarLoafPLoP, OOPSLA, ECOOP, SATURN, SPLASH, and YOW! in Australia. Joe thinks software is still too hard to change. He wants do something about this and believes that with good practices, putting the ability to change software into the hands of the people with the knowledge to change it, and bringing the business side closer to the development process is a promising avenue to solve this problem. Joe currently resides in Urbana, Illiinois.
- Adaptive Object Model Builder
- The Dynamic Factory Pattern
- Rendering Patterns for Adaptive Object-Models
- The Adaptive Object Model Architectural Style
- Architecture and Design of Adaptive Object Models
- The Selfish Class
- Big Ball of Mud
- The Artist in the Computer Scientist