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.