B.C. Holmes

325-955 Queen St. W.
Toronto, ON
webmaster@bcholmes.org


Summary of Qualifications

I am an expert Java architect and programmer, with solid (albeit rusty) experience with other languages such as C, C++, Objective-C and various IBM technologies. I have over 20 years of experience in the IT industry and have architected, designed, implemented, evolved, supported, tweaked, and improved numerous systems in many industries --- especially the accounting, financial and electronic health care industries.

I additionally act as a technical lead, mentoring and guiding delivery teams to successful project completion. In this role, I've relied heavily on Agile development methodologies. At Intelliware, we take pride in our ability to deliver, and I have personally steered dozens of projects to successful completion.

My strengths include being able to operate at both the high-level architectural "boxes on slides" level, and the down-and-dirty debug-the-obscure-race-condition level.

Specialties

Java, Java EE (J2EE), web application development, HL7, JUnit and other testing methodologies, application architecture, object modelling, extreme programming.

Recently, I've been developing my skills with Python and with mobile development (esp. iPhone and Blackberry).


Work History

Intelliware Development (September, 2000 - present)

Technical Director,
e-Health

As Technical Director, e-Health, I set technical direction and create solution architectures for the e-Health practice and the various systems being designed and implemented at Intelliware. Mostly, this involves figuring out how to use HL7 and other technologies in use by the Canada Health Infoway Standards Collaborative process.

In my eleven years at Intelliware, I've consulted for many clients, and on a large number of projects: I've built web applications for Financial Institutions, e-Health record management applications, and even an application that let you buy a Coke with your cellphone.

I've also been deeply involved in all aspects of the consulting business: I've been deeply involved in proposal writing and client presentations, I've directly lead delivery teams, I've created and estimated solution architectures and I've working with marketing to produce technical collateral for business development. I've presented at large conferences and small interest groups.

Key Skills:

Java-based technologies: JavaEE, Hibernate, Spring, JSF, Richfaces, Axis, CXF, DWR, JUnit, JMock, Mockito, JMS, JavaME (esp. Blackberry). Servers: WebSphere, WebLogic, JBoss, Jetty. Axis, CXF, DWR. SCMs: CVS, SVN, Git, Mercurial. Also more antiquated technologies like Struts, JSPs, Tapestry and EJBs. I've written plugins for Eclipse and Maven

Objective-C/iPhone, Xcode, JQuery, Oracle, MySQL, DB2, PostgreSQL, HSQL, Informix, VoiceXML, HL7, CDA, Ubuntu, .Net/C#

Manulife Financial (February 1998 – September 2000)

Technology Architect

At Manulife, I acted as the technology architect for Manulife's Internet strategy, working in the organization's enterprise architecture group. While in that role, I promoted and architected the adoption of the Java language across the enterprise (at a time when servlets and JSPs were bleeding edge), assessed and directed the implementation of WebSphere Application Server (the earliest work was before the brand "WebSphere" had been adopted -- the tool was still known as ServletExpress), and took part in assessments of other mission-critical systems such as Siebel.

I think the biggest thing I took away from this time was a perspective of the entire life cycle of the development process. My work required guiding the creation of an entire Java development practice: finding the tools to develop Java code, to provide source-code management, to execute in a production environment and to manage and operate the running systems. Key considerations included everything from Single Sign-on to developing a generic applications architecture to evaluating tools for content management.

At the time, this use of WebSphere was an early deployment and a flagship account for IBM, and I benefited from access to several senior IBM strategists, architects and technologists. I also had a few opportunities to present experience reports from the Manulife engagement back to IBM audiences as a customer speaker.

Key Skills:

Java, VisualAge for Java, WebSphere, PVCS, C++, MQ Series, DB2, Lotus Domino, Siebel, Mosaix ViewStar. Also evaluated and worked with various content management products: Vignette, ATG Dynamo, Interwoven TeamSite).

IBM Canada (May 1990 – February 1998)

Internet Architect

During my time at IBM, I played several different roles. It was my first job out of university (although I had worked there for several co-op work terms). I moved through a variety of jobs: application support for internal financial systems, system development for a world-wide customer lead system, and ultimately worked as an application architect in the newly-minted Internet Services group. I also spent several months on assignment in IBM Netherlands.

While working in Internet Services, I lead a team that built the first online web banking system in Canada (for Caisses Desjardins in Montreal), and later worked on the ScotiaBank web banking implementation and other financial institutions.

My time at IBM exposed me to many different languages (APL, PL/1, COBOL, Rexx, C, C++ and smatterings of Java), operating systems (MVS, VM, OS/2, Windows 95, AIX and other flavours of UNIX) and business domains. I think I brought to the table strong technical capability, an aptitude for picking up business domain requirements, and excellent communication skills.

Key Skills:

C, C++, PL/1, VM/CMS, MVS, OS/2 (!), JCL, Rexx, AIX, DB2. I even admit to APL and COBOL.

Education


Other Stuff