Manage and review development activities and team; plan testing of new software and integrations.
Evaluate potential partners/products for integration.
Identify risks, constraints, potential impacts, and mitigation strategies.
Manage communications with stakeholders, upper management, sales, etc.
Authored project management documents: SOW, project charter, etc.
Senior Software Engineer (2014–2020) — Develop, enhance, and support customer-deliverable (shrink-wrap and custom) products for server, desktop, Android, and browser platforms. Created and currently run all development infrastructure.
Designed and developed next-generation object-oriented API/SDK for biometric identification and authentication systems. (C++)
Developed Java and Android libraries and apps to provide access to BIO-key's native biometric algorithms. (Android SDK+NDK; Java + JNI)
Substantially improved service to load nation-scale biometric data into high-performance indexed platform; eliminated resource leaks in app and managed/native interface for core library. (C#)
Designed and developed RESTful APIs, server, and administrative interface for client software and driver download/update. (Java, JAX-RS (via Jersey), JPA (Hibernate), JAXB (Jackson), JUnit, Maven)
Drove project management and schedule for 12-month customer project; architected solution, implemented server and reference client implementation; managed sprint planning, developers, customer communication.
DevOps: Proposed, implemented, and now support dev infrastructure including MediaWiki, Atlassian JIRA and Bitbucket (git), Jenkins CI, ProxMox. Manage IT infrastructure (e.g., AD, DHCP, DNS, SonicWall).
Automated builds; documented build process and dependencies; audited third-party component/license use.
Provided mentoring, code review, and feedback to team members.
Created, documented, and executed on-boarding process for new developers.
Back-end C/C++ development of DataScope Select product used by fund managers, etc, to analyze thousands of financial instruments at a time.
Designed, prototyped, and implemented message queuing-based replacement for old db-polling-based communication of core infrastructure to provide scalability and expandability for the next 5+ years of growth. (C++; ActiveMQ; protobuf)
Enhanced IPC, database use, and parallel processing to scale system to billions of instruments analyzed per month (delivered in time-sensitive bursts).
Spearheaded implementation and adoption of Splunk for rapid analysis of system status and problems; led training.
Contributed to strong test-driven development workflow/culture.