Professional Year in Review (2014)

BVA v6.0

  • Shipped v6.0.3 of our flagship application; projected deadline set by the team was met, and the shipping product contained more features than were initially in-scope
  • Incorporated hundreds of unit tests; addressed all tests marked as inconclusive so that the test suite was more trustworthy
  • Feature: having a configurable keV tolerance on the second read of the calibration source; this involved the entire team in the design, coding, and testing; considerable refactoring was required
  • Helped address two issues related to gender specification (i.e., visual emphasis and “unexpected gender change”); one of which allowed a CAPA to be closed
  • Figured out the “phantom test” bug and its solution
  • Studied the entire QC calibration algorithm and documented its design and requirements on the wiki; formerly, this was not documented anywhere
  • Participated in the design of a testable utility app that allows Jenkins to discover which unit/integration tests to run
  • Kept the BVA base system image up-to-date
  • Updated relevant work instructions and laboratory operations manual (LOM) components
  • Updated service technicians’ external drives with the most current version of the software, base system image, and accompanying tools

Team-lead work

Community and leadership

Project lead

  • Experimented with critical chain process management for BVA v6.0.3
  • Worked closely with the dev team to size issues and plan our work
  • Standardized the TFS/JIRA issue write-up format (e.g., workaround in the field, how to reproduce, how the issue was tested)
  • Performed the custodian role on TFS and JIRA to maintain issue consistency
  • For v6.1 issues, introduced the concept of user stories and acceptance criteria
  • Reviewed check-ins to ensure consistent quality of work and to help other devs improve their skills
  • Coordinated with the Project Manager (PM) to plan iterations
  • Maintained the practice of daily team member summaries shared with the group
  • Established and maintained weekly team meeting protocol: reviewing outstanding tasks, fostering communication by asking “what’s working, what’s not working, and what can we do to fix the problems?”
  • Reorganized the software team wiki to reflect current dev tools and processes
  • Maintained code quality and provided developer feedback through frequent one-on-one code reviews
  • Created an informal list of topic areas a software developer at DAXOR should be familiar with; previously this was “tribal knowledge”
  • Created a shared document which lists which critical processes lack sufficient documentation so that the PM and the Quality Manager could be made aware
  • Developed an improved system for performing regular document review; hopefully this will be implemented in early 2015
  • Assigned a new developer a development task to give him exposure to the language/tools used internally and to replace a manual process with an automated tool
  • Investigated instability of Jenkins and worked with the IT Manager to address it; this involved finding a tool to send out e-mails when a host stops responding
  • Filed a CAPA pertaining to the lack of a formal process around the application of operating system patches during maintenance release installations; worked with another dev to put a process and its corresponding documentation in place
  • Repurposed our productivity tools to use them more efficiently
    • JIRA: issues pertaining to shipping software and formal documentation for that software
    • Trello: internal tasks, current informal projects, and someday/maybe projects
    • Evernote: document management/tagging

Technical lead

  • Worked closely with another dev to determine how to migrate to a different set of development tools (Visual Studio 2013, JIRA, Bitbucket, Mercurial)
    • Explored workflow options and chose ones that best match our process
    • Defined documentation requirements
    • Co-created setup, usage, and maintenance documentation
    • Planned the modification of existing internal tools to use the new systems
  • Used Trello to capture goals and tasks from weekly team meetings to support continuous improvement and improve communication
  • Worked with the dev team to define processes pertaining to distributed version control (e.g., branching) as we migrated away from TFS
  • Facilitated multiple training sessions for a new developer to bring him up to speed on domain knowledge, processes/procedures, and software development practices

Management

  • Kept notes on the team so that I could see trends in their work
  • Talked with each developer (at least twice) about their performance
  • Reviewed each team member’s training matrix weekly to ensure compliance
  • Coordinated with another dev and the PM to handle that developer’s resignation
  • Interviewed a candidate for a software engineer position and put things in motion to have his onboarding process start on his first day
  • Kept the PM informed about dev team performance and articulated opportunities for improvement

Multichannel analyzer end-of-life project

  • Collaborated with the Electrical Engineering Manager and the PM to learn more about the problem domain
  • Reviewed portions of the BVA application code and constructed several collections of system- and user-level stories
  • Documented how to use the GBS MCA and accompanying data acquisition software
  • Designed and conducted a preliminary equivalence experiment (comparing Target and GBS MCAs)

BVA v6.1

  • Worked with the PM to discuss project scope, plan, schedule, and task priorities
  • Coordinated several meetings for soliciting feedback about possible features
  • Worked with another dev on some WPF-specific questions regarding the upgrade of our Telerik libraries for reporting and UI controls
  • Championed a project to investigate finding a simpler isolation framework (NSubstitute instead of Rhino Mocks) for unit testing; created corresponding training materials
  • Performed regular team lead activities (e.g., issue management, code reviews)

Quality systems internal audit

  • Became trained as DAXOR Oak Ridge Office’s internal auditor (for ISO 13485 compliance)
  • Conducted functional area audits
    • Management review
    • Corrective and Preventative Action (CAPA)
    • Complaint handling
    • Call center

Customer support

  • Banner Good Samaritan (preventative maintenance)
  • Mayo Clinic Hospital (upgrade to 6.0.2)
  • The Queen’s Medical Center (customer support; upgrade to 6.0.3)
  • IDANT Laboratories (upgrade to 6.0.3)
  • Dr. Feldschuh’s unit (upgrade to 6.0.3)
  • VA Oklahoma (site environment issue)

R&D

  • Designed a statistical experiment to look for centroid variance over multiple detectors; this was in response to an issue at North Alabama Radiopharmacy having detector issues
  • Verified that with certain modifications, the main portions of BVA v6.0 would run on a Windows 10 community preview release
  • Documented the hazards/risks of deploying our app to a 64-bit operating system
  • Investigated how much cost/benefit would be realized by upgrading the development machines to use solid state drives

Miscellaneous

  • Trained the sales team on the basics of the BVA v6.0 application
  • Showed the IT Manager how to use the BVA application to assist the Director of Sales with data mining tasks related to sales support
  • Worked with the IT Manager to evaluate multimedia hardware for a quality monitor/dashboard for the Oak Ridge Operations office
  • Participated in several conversations with the PM so that DAXOR can be part of a computer science capstone project for Pellissippi State Technical Community College
  • Sat in on several discussions involving the “ideal blood volume” application
  • Decluttered the software dev area by moving the BVA-100 test units to the Engineering R&D lab
  • Recycled a car-load of unwanted reference books and catalogs in the Break Room, and 97 lbs of lead batteries

DAXOR website

  • Checked for press releases every Friday morning
  • Fixed the broken “contact us” page
  • Posted SEC forms and press releases as they were made available
  • Attended several conference calls with members of the New York office and a website design firm regarding a redesigned website

Support tasks

  • Performed regular OSHA-related tasks (emergency lighting checks, fire extinguisher checks, first aid kit maintenance)
  • Maintained the internal DAXOR publication catalog
  • Kept the internal phone number list up-to-date
  • Answered customer support lines when the office was understaffed
  • Acted as gatekeeper of quality for documentation on the wiki and released documents produced by the dev team
  • Helped support our field technician with anything 6.0-related, including keeping his laptop maintained with the latest versions of software
  • Occasionally helped the Medical Device Quality Manager with verification test or interlaboratory comparison questions
  • Performed weekly maintenance on development tools (JIRA, Jenkins, SQL Source Control, Evernote, Trello)

Professional development

Community involvement

  • Knoxville Software Craftsmanship Group facilitator (first half of 2014)
  • Part of an inaugural group of three software devs that meets every other week to network and work on software projects
  • Posted unit testing and isolation framework examples to my open-source repository
  • Tutored a undergraduate student in computer science (C++, Java)
  • Helped a tech recruiting company vet candidates for WPF job applicants
  • Member of the Board of Trustees for a local non-profit organization

Training proficiency

  • Quality Management System
  • Quality policy, objectives, and procedures
  • Code of Federal Regulations Title 21, Part 820 (general knowledge)
  • ISO 13485 (general knowledge)
  • OSHA compliance
  • HIPAA compliance
  • Radiation safety
  • Process validation
  • Device master record, device history record, design history file
  • Product servicing
  • Personnel training
  • Risk management
  • Corrective and Preventative Action
  • FDA investigation readiness
  • Statistical techniques
  • Engineering Change Control procedure
  • Document formatting
  • Customer order entry
  • Verification of performance specifications (VOPS) testing
  • Verification and validation (V&V) process
  • Scintillation detection theory
  • Measured and ideal blood volume calculations
  • Software development standard operating procedures