Resumé of

Bill Champ


Selected Skills and Experience



NewsStand, Inc. (Nov 2005 - Present)

After six months as a contractor, I was hired as the manager of the Client Application Development group. This group is responsible for a variety of applications which are deployed, with some exceptions, on client machines. The applications are written in C++, Flash Action Script, and Java. Some are desktop applications, some are browser-based applications, and some are server side web applications. We use Struts, Hibernate, Swing, MFC, and more.

Contract Software Engineer (May 2005 - November 2005)

At Systems Evolution we wrote a web application that tracks awarded contracts for a Texas state agency. We used Hibernate, Struts, JRun, Tomcat, MySQL, and Oracle. I met with the client to work out the requirements, designed much of the data model and application, then coded major peices of the application.

Contract Software Engineer (November 2003 - May 2005)

I work in the Product Services group of 360Commerce (since acquired by Oracle) to customize the existing base product to each client's needs. 360Commerce is a leader in retail POS software with customers such as Sears, The Gap, Home Depot, Apple Computer, and others. I worked for eight months on the Kinkos project and then moved to the Pepboys and Gap projects. All coding is done in Java using J2EE on both client and server. Web services, EJBs, servlet/JSPs, and Swing are all used on these projects.

Contract Instructor (September 2000 - November 2003)

I work as an independent contract instructor delivering Sun Java training all over North America. I taught general Java programming, Enterprise JavaBeans, Servlets/JSP, Swing, JDBC, and more. I receive high ratings for my work and am much sought after. Many training centers and students request my return.

National Instruments (May 1999 - September 2000)

Senior Software Engineer, LabVIEW

I worked as a developer on a product called LabVIEW, a graphical programming environment targeted toward scientists and engineers who need to capture, process, and analyze signal data. My area of concentration was in a feature called DataSocket, a technology that allows self-describing data to be imported to or exported from a LabVIEW application, usually via a network. LabVIEW runs on Windows, Macintosh, and various flavors of Unix. The source code is written to compile for all those platforms.

Tech Now (June 1998 - May 1999)

Tech Now provides training in Java programming and Unix administration along with support courses in Shell scripting, Perl, etc. I led Java training classes by delivering several different course at Tech Now from beginning to intermediate programming including Servlets. I developed a course in Java for beginning programmers and also contributed to development of other courses. I received high marks for my classes. I developed a course in Java for beginning programmers and also contributed to development of other courses. I received high marks for my classes.

Claris Corporation (a division of Apple Computer, Inc.) (1988 - 1998)

Software Engineer III, ClarisWorks for Kids (Feb. 1996 - Jan. 1998)

I worked as a Software Engineer III on the ClarisWorks for Kids project. (Claris has four levels of software engineers.) We shipped our Macintosh version in March 1997. Our Windows version went beta in January 1998&endash; on track for our best case schedule. I participated in early decisions regarding architecture and UI. Then I worked through the code implementation and debugging phases. One of my specialties was 68K debugging. The code for this project was multi-layered. First, it was built upon ClarisWorks' multi-platform C source code. On top of that, we used a multi-platform abstraction layer designed to allow other teams who are unfamiliar with ClarisWorks code to build applications derived from that code. This abstraction engine was written in C, but used a component architecture that allowed inheritance and polymorphism, albeit more clumsily than C++ or Java. The third layer was a series of components which we wrote in C++. I worked in all three layers. I modified ClarisWorks code on occasion and debugged through it often. I worked even more in the abstraction engine, sometimes modifying its architecture and adding features. In the third layer, I worked extensively designing the architecture of the components, adding features to them, and debugging them. I used MetroWerks CodeWarrior for building, MPW Projector for source control, and the usual assortment of auxiliary tools. For the Windows version, I used Visual C++. On Windows, there was an additional layer in the architecture. This layer was a Macintosh emulation engine, which sometimes required our tweaking. For example, it did not previously support colored dialogs. I added support for the 'ictb' resource, giving it color and multi-font capabilities in dialogs. I was a key member of the team, received outstanding performance reviews, was regarded as a valuable team member. I encourage you to contact my manager for this project.


International Engineer (Oct. 1990 - Feb. 1996)

For five years I worked in Claris' International Engineering department. I was responsible for insuring that Claris software would not encounter technical problems when localized to other languages. Our department did not actually do the localization, but worked closely with Claris' localization operation in Ireland. I would work with the engineering teams in the U.S. to make sure that the software could handle non-U.S. currencies, page sizes, sorting, character sets, spelling, hyphenation, cultural conventions, etc. I did this by reviewing the team's engineering spec., performing source code reviews to uncover potential problems, and testing under non-U.S. operating systems. I did this work for Macintosh as well as Windows. I would prepare a localization kit for use by the localization team in Ireland. The kit took the form of a database of every resource that required localization, any restrictions to the localization, and even resources that were not supposed to be localized. The kit would also provide special information for non-standard resources or files and sometimes included special tools and resource editor templates which we developed. For example, for MacProject Pro, which was written in MacApp and hence relied on MacApp view resources, I wrote a utility application that translated our non-standard view resources into standard view resources that could be localized with tools like IcePick. Without my tool, the product could never have been localized. Another example is a tool I developed called Resource Extractor. This tool parsed through targeted Macintosh resources and exported to a tab delimited file the information we needed for our localization database.

I was frequently called upon by the product engineering teams to provide solutions to them. Sometimes the solution would be in the form of advice and other times I would write code for them. In this capacity I worked on the international engineering of Claris Resolve (a spreadsheet based on the Informix engine), MacProject Pro, ClarisWorks 2.0 through 4.0, ClarisDraw, Claris Impact, Hollywood, and others. I am very familiar with issues regarding internationalization and localization e.g. Unicode, Bi-di scripts, Asian scripts for both Windows and Macintosh. I received excellent performance reviews while working in this department. I encourage you to contact my manager.


Training Program Manager (May 1988 - Oct. 1990)

I worked for two and half years in Claris' Training department as a Training Program Manager. I was responsible for all training aspects of my assigned products. I would develop training materials that were shipped with the product as wells as training materials for Claris' sales staff and distributors. I would also conduct training sessions for Claris' sales people, internal employees, distributors, and resellers. This training was conducted both at Claris and around the world. For Claris CAD, I developed a a 47 minute training video, a workbook of CAD exercises with an accompanying disk all of which was included in every box shipped. These material received rave reviews in the press. I have excellent teaching and presentation skills and, in fact, love presenting in front of audiences.

Native Guide Software (1989 - 1998)

I began this company along with a partner to develop a program that would accelerate a persons's learning. We shipped a Macintosh product called Spanish Native Guide to help people learn Spanish vocabulary. The product contains a database of Spanish vocabulary words and phrases. Each word contains hyperlinks to other related words in the database. The standard way to use this product is to let it present vocabulary items to you in a test mode. In presenting the item to you, it is essentially asking you if you know the item. After using the product for a few minutes, it begins to learn how well you know each item. Then it tailors the presentation so that you are working on the items that most require your attention. I did all the development for the first five years up to shipping the first product.

Hughes Aircraft Company (1986 - 1988)

I was hired to develop a Macintosh training program at the company. I developed training courses for some classes and bought training courses for other classes. Under my direction the Macintosh training business grew to half a dozen courses and several instructors. We taught applications classes such as Microsoft Word, Excel, Hypercard, Graphics, and others. I received excellent reviews for my training.

Languages & Tools

23 years programming experience. Excellent skills in Java, C, C++, Pascal, Object Pascal, and 68K assembly. I have also programmed in Basic, Modula-2, Forth, and PostScript. I've used Eclipse, Borland J++, Visual C++, MetroWerks CodeWarrior, Symantec THINK compilers, Apple MPW, MacApp, THINK Class Library,  Java's AWT and Swing, XML SQL, Struts, Hibernate.



Bachelor's degree, University of Texas


References available on request.