logo Spalted Software LLC logo

 

Brian Holmes' Short Résumé

 
 
Short HTML Short PDF Long HTML Long PDF
 
Position Sought

Senior software engineer; independent consultant or full-time employee.

  • My requirements:
    • Development of C++ software in Linux; target/deployment operating system agnostic.
    • Robust SDLC supported by the software team and respected by the entire organization.
  • My preferences:
    • Multi-threaded, data-driven applications built for reliability and speed.
    • Innovative organizations with a start-up atmosphere.
Experience

2021-Present> Software Engineering Consultant at Spalted Software LLC

  • Surgical Robot (made public by client):

    Development: C++20 in Linux/ARM, International System of Units (SI Units), GNU Make, CMake, Gcov, Valgrind, Confluence, Jira, Jenkins, GitLab, LucidChart, Doxygen, Gnuplot, JSON, Raspberry Pi quad core, motor controls.

    • https://www.cambridge-design.com/news/cdp-advances-surgical-robotic-technology/
    • Proof-of-concept experiments and implementation of a surgical robot prototype.
    • Implemented robot arm inverse kinematics (Jacobian transpose) for Remote Center of Motion (RCM), force, and independent motion controls.
    • Implemented a thread framework to manage the exchange of information between asynchronous calculations and Controller Area Network (CAN) communications.
    • Logging interface modeled after std::ostream with syslog severity levels that wrote to the syslog utility, a text file, or both.
    • Introduced compile-time C++ types representing SI Units to improve reliability of calculations and their integration with other software modules.

2020> Senior Software Engineer at Cambridge Design Partnership, Ltd.

Development: C and C++17, IEC 62304, ISO 14971.

  • Medical device projects as per FDA/IEC/ISO standards:
    • Engineering lead on several small firmware engineering projects.
    • Performed and presented Software Failure Mode and Effects Analysis (FMEA).

2019> Staff Software Engineer at Baebies, Inc.

Development: C++14 in Linux. Use of GCC, Gcov, git, SQLite, Valgrind.

  • Finder - Newborn life-threatening condition testing:
    • https://baebies.com/products/finder/
    • Feature addition, testing, repair, and documentation of embedded, multi-threaded, medical device control software on a single-board computer target.
    • Relational database table definition and manipulation.
    • USB-storage device auto-detection (udev rules and Bash scripts).
    • System update and database migration from USB-storage.
    • Device leveling feedback based on accelerometer readings.
    • Background system administration: Log compression, up-time, and storage monitoring.

2016-2018> Manager of Software Engineering at Q2 Solutions | EA Genomics.

Development: C++11 and R in Linux. Use of Boost, Gcov, Valgrind, git, GCP and CLIA standards. Also MINGW and wine for cross compilation and testing for Windows deployment.

  • Hired, trained, and led a team of eight senior, mid-level, and co-op software engineers.
  • Defined the roles and specified the methods and process by which my team performed their work. Defined the role of the team within the company as a whole.
  • Modified existing bioinformatic pipelines for clinical validation.
  • Used the C++, Python, and R languages to implement software based on how well the language fit the problem at hand; all programs tested with the same custom framework.

1988-2016> Further details at https://www.spalted-software.com/resume.html

Genomics [2014-2018] C++11, Bash, Linux, Perl, R, gcov, Valgrind, BAM, BED, FASTA, FASTQ, Pileup, and SAM;

Telecom [1999-2014] C++, C, Java, Bash, Cygwin, AIX, Linux, Solaris, VxWorks, CVS, Clearcase, Rational Rose, ANTLR, XML, XSD, GSM/UMTS MAP, CAP (CAMEL), ANSI IS41, ANSI WIN, ITU TCAP, SCCP, MTP, SNMP;

Defense Contracting [1988-1999] Ada83, C, C++, Ada95, VMS, Solaris, ARC/INFO GIS, ARCML, DMA ITD/TTD, DMA DCW, Rogue Wave, Boost, DCE, pthreads, Clearcase, yacc, lex, MIL-STD-2167.

Education

1981-1987> Southern Illinois University - Carbondale

Development: Ada83, C, PL/1, Prolog, assembly, FORTRAN, Unix on PDP-11, IBM 370, Intel 8088.

  • Master of Science in Computer Science
  • Bachelor of Arts in Computer Science
 
 
info0001@spalted-software.com
 

Copyright © 2021-2024 Spalted Software LLC