Joseph Yoder’s Resume

Joseph Yoder

7 Florida Drive

Urbana, IL 61801

 

OBJECTIVE

My goal is to become one of the leading authorities in the areas of object-oriented technology, agile methodology and project management. I’ve been studying and developing software since 1985. Since the mid 1990s my focus has been object-oriented technology, frameworks, reusable architectures, adaptable and flexible systems, and lightweight methodologies. I have developed frameworks, helped to design and implement several applications, and mentored many developers in building frameworks and enterprise components. I enjoy building elegant and successful systems, helping people succeed, and learning new things. I want to continue to provide analysis, design, and mentoring and to write papers that reflect on my experience.

EDUCATION

B.S. in Computer Science and Mathematics with a business emphasis at The University of Iowa; May 1989. CS GPA: 3.80/4.00; Math GPA: 4.00/4.00; Business GPA: 4.00/4.00; Cumulative GPA: 3.80/4.00.

M.S. in Computer Science, The University of Illinois; May 1992 GPA: 4.75/5.00; Presently working towards a Ph.D.

 

SYSTEMS

Languages

IBM 370/333 (MVS), Prime 750/850, NEXT, SGI, VAX 11/780, Encore (UNIX), Apollo, HPs, OS/2, OS X, Sun, IBM PC-MSDOS, Macintosh, Windows NT /9X, Windows 7, Vista, XP, and 2000. Smalltalk, Java, JSP, Pascal, Lisp, Ada, Clu, “C”, C# .NET, C++, BASIC, Assembly, Forth, FORTRAN, Lex, Yacc, Prolog, Scheme, Hypertalk, SQL, PERL.

 

APPLICATIONS

VisualWorks; Visual Studio; Eclipse; IBM VisualAge Smalltalk and Java with VA Assist Window Builder; Distrubuted; ENVY; GemStone; Versant; JSP and J2EE, Paradigm Plus; Rational Rose; Corel; Xemacs; Vi; and many other editors; Microsoft Office; PageMaker; Oracle; DB2; ERWIN; Dbase IV; Lotus 1-2-3; Suntools; X-windows; LaTex; Netscape and IExplorer; most UNIX apps and more.

 

COURSE HIGHLIGHTS

Object-Oriented Programming and Design (specifically using Smalltalk and Patterns); Programming with Pascal; Assembly Language Programming; Programming Techniques & Data Structures; Programming Language Concepts; Digital Systems and Computers; System Software; Algorithms and Data Structures; Software Engineering; Automata Theory, Formal Languages and the Theory of Computation; Numerical Analysis; Probabilities and Statistics; Calculus I, II, III; Differential Equations; Linear Algebra; Probability and Spatial Functions; Abstract Algebra; Discrete Structures; Programming Language Principles; Microprocessor Systems; Artificial Intelligence; Program Verification; Rewrite Systems; Concrete Mathematics; Numerical Approximation and Ordinary Differential Equations; Database Theory; Real Time Systems; Human Computer Interaction; Learning Theory; Computer Aided Design; Computer-supported Cooperative Work; Database Systems; Groupware and Collaboration Architectures.

HONORS

Excellent Teaching Award at The University of Illinois, 1990 to 1994; High Distinction and Honors graduate in Computer Science and Mathematics at The University of Iowa; The University of Iowa Academic Scholarship, 1985 to 1989; Dean’s list ten of ten semesters; President’s list January, 1987; Who’s Who Among American High School Students during junior and senior year.

EXPERIENCE

Project Manager, Architect and Designer, The Refactory, Inc; Urbana, Illinois. May 2003 to Present. I have provided consulting and mentoring services to Comac, a medium-sized US document management and order fulfillment company. I have also acted as project manager regarding development of an Order Fulfillment System. This C# .NET project involves the incorporation of Adaptive Object-Model technology for describing and building invoices to adapt to evolving customer requirements. The result is an invoicing domain-specific language that allows users to dynamically describe new invoicing rules and adapt to these changing requirements. Additional work has included conversion of existing warehouse applications into Microsoft Windows .NET C# applications running on SQL Server 2000, for a medium-sized US document management and order fulfillment company. We also worked on a C# .NET project involving the incorporation of Adaptive Object-Model technology for describing and building order imports to adapt to evolving customer requirements.

Web-Design & Programming, Web-Services, and Technical Lead, CU LocalBiz.com; Urbana, Illinois. September 1999 to Present and DSM Local Biz.com; Des Moines, Iowa. January 2001 to Present. I co-founded these companies in which I am the Director of Research & Development called CU Local Biz.com and Dsm Local Biz.com. These are local Internet companies that support local businesses getting online. I provide the technical support for the web-design, provide and maintain a Unix and NT Server for our businesses web pages, and overall management support for our companies.

Object-Oriented Consulting, Mentoring, and Teaching, Joseph W. Yoder Enterprises Inc and The Refactory, Inc; Urbana, Illinois. September 1998 to Present. I am currently working through a company I am a principal of called The Refactory, Inc. (www.refactory.com). We teach and customize courses on Design Patterns, Frameworks, Refactoring, Smalltalk Advanced and Beginner levels, and Testing. We mentored Caterpillar developers in the practices of eXtreme Programming. We also provided design experience with the architecture of their Java framework with Websphere that is used for quickly building Intranet applications and saving data either to Oracle or DB2. This work included assisting them with creating a persistence framework for a generic way to save values to their database, architecting a security framework, and building a mediator and adaptor layer for buffering GUI values during editing.

I have taught Object-Oriented concepts including Patterns and VisualAge Smalltalk to the Illinois Department of Public Health (IDPH) analysts and developers, and have mentored many developers on the development applications being deployed across the state of Illinois such as the Newborn Screening application, the Refugee System, and the Food Drug and Dairy application. I worked with the analyst team doing the OOAD for the projects and I coordinated the efforts of this development including project management and as the primary architect of the reusable frameworks being developed. These systems were spawned from involvement in the development of an Enterprise Class Library to assist with the ongoing development of needed IDPH applications. This Enterprise Class Library is a collection of frameworks and common components used for more quickly building applications at IDPH. The frameworks include Persistence, Security, Replication, and Adaptive Object-Models for quicly adapting to new business rules.

I also mentored the Illinois Department of Insurance with migrating a Smalltalk framework for building client-server applications and he assisted with the documentation of the frameworks the development of an application using the evolved framework. I evolved and taught an Introductory and Advanced Smalltalk training course for the State of Illinois developers through Lincoln Land Community College which was provided as a college course for these developers in the fall of 2000.

Object-Oriented Consulting and Teaching, Joseph W. Yoder Enterprises Inc; Urbana, Illinois. September 1994 to December 1998. I have worked with Ralph Johnson teaching Object-Oriented Programming and Design (specifically using Smalltalk and Design Patterns). I also helped Ralph with his Summer Smalltalk class, taught a seminar on Design Patterns, trained Caterpillar developers on Smalltalk programming and designing our Smalltalk frameworks. I developed black-box frameworks for Caterpillar financial modeling and scenario planning. We provided knowledge-transfer of the technology to be used in-house. This included teaching object-oriented principles, Smalltalk mentoring, and assisting them with learning the details of the design of our framework. I have also provided consultation, mentoring and direct development support for various companies in setting up systems, networks, and servers. I have been teaching the principles of framework development using our black-box framework as an example for an OOPSLA tutorial.

Object-Oriented Consulting and Programming, ClearSystems; Dallas, Texas. June 1997 – September 1997. Providing high-level support of the design and implementation of a black-box framework implemented in VisualWorks under the ENVY development environment and integrated with Versant. We primarily provided for the clean up of their design, optimizing their code, and providing parallelization.

Project Manager, Research Analyst, Designer, and Programmer, CAT/NCSA @ University of Illinios; Urbana, Illinois. January 1994 to December 1998. This work has involved extensive research, design, and implementation of various projects sponsored by Caterpillar at the National Center for Supercomputing Applications. I was responsible for managing teams of 3-8 people on these various projects. These projects ranged from client-server information system applications mapping to relational databases, web-based applications to multi-tiered object-oriented applications involved with the details of running their business.

Project Manager, Architect, and Designer, New England Research Institute; Urbana, Illinois. September 1992 to 1995. Developed the architecture, and designed the specifications for the Blood Bank Analysis System sponsored as a Small Business Innovative Research Grant by the National Institute of Health. This system was developed as a generic framework for generating a class of these applications that allowed for different Blood Banks to easily install a new application and was designed and programmed using Object-Orientation. Work also included the management of the software development process from the requirements phase to the successful implementation and documentation.

Teaching Assistant, The University of Illinois; Urbana, Illinois. January 1990 to 1994. I received the Excellence Teaching Award every year I taught. Following are the classes taught at The University of Illinois:

  • Introduction to Programming
  • Discrete Mathematical Structures
  • Data Structures
  • Introduction to Theory of Computation
  • Topics in Compiler Construction
  • Concrete Mathematics
  • Object-Oriented Programming and Design

 

Project Manager, Research Analyst, Designer, and Programmer, University Park Pathology Associates, P.C. and Lifespan Research Institute; Urbana, Illinois. August 1989 to 1993. Software projects include the development of many types of Medical Information Systems that ranged from decision support to assisting with the collection of physical findings and analysis of the findings. Work included the development and implementation of an expanded interface to a medical record prototype. Original work was done in the 1970’s on Plato and I have developed a current interface for use on the MacIntosh along with requirement analysis, internal specifications, and external specifications. Developed in-house tools for the computer-assisted design and implementation of interactive Health Risk Appraisal software. Defined user requirements and wrote functional specifications, implementing a methodology for design specification and its expansion into source code. Standardized graphical interface and code structure. Supervised the implementation of the tools. Provide for computer support through the research of proposed hardware and software solutions. There were various projects developed which can be found at: http://joeyoder.com/career/projects. The project management included creating delivery schedules and reporting progress to management and communicating design ideas and needs to customer and developers.

Honors Research, The University of Iowa; Iowa City, Iowa. August 1988 to 1990. Did research for an Honor’s research project in Computer Science and Mathematics. The project is “The Use of Data Compression in Cryptography” and has included empirical testing that has provided scaling rules for different size alphabets. I have studied the security of a splaying algorithm proposed by Prof. Douglas Jones. Work on this project expanded my experience with Abstract Algebra, Probability and Statistics, Information Theory, Cryptography and Data Compression (specifically with the use of Splay Trees).

Software Development, Individual Development Project; Iowa City, Iowa. May 1987 to April 1989. Working independently with a Ph.D. student at The University of Iowa on the development of software to be used in the medical field. Work included: Development of requirement analysis, internal specifications, and external specifications; Design and implementation of modules to be used for the system; and the development of documentation for users of our system.

Software Design, Dong-Won Research Company; Iowa City, Iowa. April 1987 to April 1989. Design of requirement specifications along with the development and implementation of software projects that are used in the medical field; including software development tools for aid in design.

Project Leader, Individual Programming Project at The University of Iowa; Iowa City, Iowa. August 1987 to May 1988. I worked as a team leader on an independent studies project in Software Engineering with Professor Kung at The University of Iowa. This project was the design and implementation of an information system to be used by The UI Office of University Relations. Preliminary work included the development of Requirement Analysis for the information system using the Data Flow Specification Language (DFSL) in a team environment. During the development, Data Flow Diagrams were developed along with Data Dictionaries. Follow up work included further studies of software engineering techniques and the supervising/directing of the software development team. This supervising work involved: the coordination and guiding of team efforts; the evaluation of team progress; helping resolve communication problems; and offering experience where needed.

SOFTWARE PROJECTS:

I have been involved with quite a few projects over the years and the details can be viewed at:
http://joeyoder.com/career/projects

PUBLICATIONS:

I am the author of over two-dozen published patterns and have been working with patterns for a long time, writing my first pattern paper in 1995, and chaired the PLoP’97, conference on software patterns.

I have written and published many other various papers and a detailed list can be found at:

http://www.joeyoder.com/papers/papers.html

ACTIVITIES/INTERESTS

Personal computing, Tai Chi, photography, billiards, music, dancing, communication.

REFERENCES:

Furnished upon request.

This site is registered on Toolset.com as a development site.