- Led a team to create a C-language interface (API) to a database
system. Work involved complex bit-level C coding,
planning/scheduling of team members, design of test suites, and
overall technical management of the product. Tools were Microsoft
Visual C and Windows API.
- Designed and coded a large Java application to merge disparate
name directories for a security system. Work involved
object-oriented design, coding for clarity and performance,
rigorous testing and integration within a larger application.
Tools were Eclipse/Java and the underlying directory API.
- Extract/transform/load (ETL) of data between various formats.
Multiple projects of this type. Some have involved direct
manipulation of data files, others used database APIs for the
extract and load phases. The transformations achieved data cleanup
or synthesis to create new fields. Formats include tab-separated
text, binary records, database objects and XML. Tools included C,
Java, LotusScript and WinHex.
- Implemented S/MIME email with X.509 certificates from two
different signing authorities (one self-signed) and different mail
clients. Work involved background research, creation of
certificate authorities, generating the digital IDs, careful (and
complex) testing and a technical write-up of the solution.
- Generation of XML output from an application to match input
specified by the WSDL and SOAP of a web service provider. Primary
tools were soapUI and VisualBasic.
Sample Lotus Projects
- Replacing physical Domino servers with virtual machines built on
VMware and Hyper-V.
- Design/code/rollout of an enterprise-wide legal services Notes
- Day-to-day remote management of Domino servers. I create user
accounts, solve replication problems, reboot hung servers, install
version upgrades, handle user help calls, etc.
- Security audits of large Notes/Domino infrastructures. I use an
audit checklist that I created, write a report about
vulnerabilities and assist with correcting any problems.
- Finding a simple way to add Google gadgets to IBM Connections.
- Installing and configuring Lotus Traveler servers for mobile
email, including SSL server certificates.
- Designing and coding Notes C-API programs to access features
that are not exposed in the other APIs.
Teaching software engineering and writing about this subject keep
me up to date on the latest methods in the field. My hands-on
consulting work improves my teaching and writing about software
design and development.