Résumé

Download the PDF versioncurrent as of September 2017

Geoff Mazeroff

Software Builder

geoff@geoffmazeroff.com
https://www.geoffmazeroff.com | https://www.bitbucket.org/geoffmazeroff

Summary

  • Disciplined and focused approach to process improvement and applying best practices, while being adaptive as situations, requirements, and organizations change
  • Experienced in developing and maintaining a complex software application in a government-regulated environment
  • Engaged in hands-on collaborative activities such as pair programming, mentoring, and community involvement
  • Committed to taking ownership in work produced and relationships formed, favoring honesty, fairness, and agreement
  • Involved in continuous learning and application of analytical skills to solve problems that are meaningful to others

Preferred work environment

  • Tech stack is not as important as company culture, so long as I’m able to learn new things and that the technology is the right fit for the task (i.e., not just staying with a certain tech because that’s the way it’s always been done)
  • Office environment with face-to-face collaboration and organic communication (with the option to work remotely)
  • Combination of team (e.g., pairing) and individual work, preferring the former
  • Small company where I can learn about how the business runs while building lasting relationships with coworkers; not opposed to working in a larger company if I’d be part of a small (max of 7), close-knit team
  • Development team (3-5 members) with a mixture of skill levels and strengths; in other words, I want the opportunity to mentor and be mentored
  • Healthy and frequent communication with short feedback cycles
  • Management that encourages others to bring out their best work, explains how that work aligns with business objectives, and trusts their teams to be professionals
  • Culture of encouraging continuous improvement of the company and professional growth of its employees

Skills & tech

  • Process-oriented development (CMMI)
  • Lean, Kanban, and Scrum
  • Object-oriented design/principles
  • .NET 4.5 (VB.NET, C#)
  • WPF
  • SQL Server
  • MS Test / Moq / NSubstitute
  • Team Foundation System 2015
  • Pair programming
  • Technical writing
  • Domain-driven design (DDD)
  • WCF
  • Mercurial (distributed version control)
  • JIRA (issue management)

Experience

Senior Software Developer / Team Leader

DPRA, Inc.; Nov 2015 – Present

JFAST II (Joint Flow and Analysis System for Transportation)

  • Lead one of four teams for a project involving nearly 20 members to implement features and fix defects for Releases 6 through 9 of JFAST II, a system that allows military planners to perform transportation and logistics feasibility analyses for selecting the best course of action; relevant technologies included WPF, MVVM Light, Prism, .NET 4.5 (VB.NET), Entity Framework, SQL Server, DevExpress WPF controls, MS Test, Moq, TFS 2015
  • Assimilated knowledge of military logistics, functionality of the legacy version of JFAST, and the architecture of the existing software solution
  • Acted both as a UI and core/infrastructure developer for a cross-functional team; this work involved integrating XAML from a UI/UX designer into the existing structure and implementing APIs and business logic supported by unit tests
  • Developed and presented architectural reviews for areas of the application that were not well understood by the project team; these reviews helped to more accurately define the scope of work for several features, and bring awareness to improvement opportunities
  • Communicated frequently with the QC team to improve the quality of acceptance criteria, minimize the introduction of new bugs, and disseminate problem domain knowledge of a complex system
  • Worked alongside the team architect to help set goals for each release and to ensure patterns, practices, and processes were in place, effective, and followed
  • Broke down large features and product backlog items on our team into manageable and estimable tasks, and ensured team members had what they needed to be successful
  • Instituted a team-oriented bug review process to control defect rates and allow more developers to work on any available bug
  • Created detailed descriptions for previously undocumented (or poorly documented) complex workflows, thus distributing the knowledge to other developers and software testers
  • Audited weekly static code analysis scans to resolve code quality and security issues
  • Encouraged and participated in cross-team code reviews
  • Paired with junior developers to help them learn the development tools and processes

Leadership

  • Supervised three developers; this involved approving time sheets, expense reports, and facilitating yearly performance reviews
  • Formally defined the role for a sub-team leader so that ambiguities about development and communication responsibilities were removed
  • Developed training and professional development plans for myself and my reports
  • Held monthly 1:1 meetings with each developer I supervised; this let me understand them better, ensure they were receiving feedback, and support their career growth
  • Created checklists and workflow descriptions for development processes; this helped manage expectations of those involved, and improved the quality of communication
  • Served as a member of the DPRA Communications Committee, helping to eliminate communication barriers, engage supervisors in sharing knowledge, and empower employees to ask questions

CMMI-DEV Maturity Level 3

  • Served as the software development representative on the Software Engineering Process Group (an oversight body) to provide input on how our processes are developed, implemented, and maintained; the goals of achieving the CMMI certification are to improve the quality of our processes (and by extension the work we deliver) and to allow our company to bid on more projects that require this certification
  • Participated in a team that developed the process improvement workflow, defined the Agile values for our organization, created the Process Asset Library, and established the Metrics Repository and Register
  • Attended a metrics design workshop and trained others in the organization on how to design and implement effective process metrics
  • Served as a member of the Software Quality Working Group, a committee tasked with defining software quality for the company
  • Developed a comprehensive list of aspects to consider when implementing a peer/code review process

Senior Software Engineer / Team Lead

DAXOR Corporation, Oak Ridge Operations (DORO); Sept 2008 – Nov 2015

Leadership

  • Created a detailed project plan for implementing support for a system-critical hardware component manufactured by a different vendor; the plan outlined costs and benefits, system components, objectives, phased deliverables, and initial estimates
  • Kept the development team productive by having junior software developers champion several internal projects
  • Informed the project manager of the development team’s performance and articulated opportunities for improvement
  • Coordinated with the project manager to discuss scope, plan, schedule, and task priorities
  • Assigned and prioritized tasks for other software developers and gave them the freedom to execute those tasks as they saw fit
  • Acted as the custodian of code quality for all client-facing products and tools
  • Mentored and encouraged team members to become better software developers through exposure to resources and demonstration of techniques (e.g., unit testing through hands-on pairing sessions)
  • Encouraged the software development team to be active in the local technical community and the community at large (e.g., Twitter, blog post creation); also encouraged them to make time for professional development

Process improvement

  • Championed and maintained an internal wiki to capture “tribal” knowledge; this involved collecting, structuring, and curating content that was previously undocumented
  • Adapted aspects of Scrum and Kanban to establish an efficient software development process for the team and product manager; this provided transparency and structure that was previously ad hoc and siloed
  • Performed detailed architecture and code analyses so that current and future developers could understand the components of our major software product; deliverables included design notes, architectural diagrams, user stories, and identification and prioritization of design flaw remediation
  • Authored or copy-edited most of the documentation concerning the software design life cycle, including development, QA, support, deployment, and field service
  • Documented the quality control calibration algorithm used by our software; this was previously only documented via source code and sporadic “tribal” knowledge

Projects

Blood Volume Analysis (BVA) v6.x

  • Worked on a 3-4 person development team to produce one major version, one minor version, and four maintenance releases of the company’s flagship software that provides diagnostic test results concerning a patient’s circulating blood volume; relevant technologies included WPF, .NET 4.0 (C#), SQL Server Express, WCF, Telerik Reporting and WPF controls, MS Test, NSubstitute, SQL Source Control, Mercurial, Jenkins, JIRA
  • Championed or was a major contributor to the following components:
    • Refactor to make the architecture consistent with domain-driven design
    • Creation of the test execution timeline
    • Design and implementation of injectate verification
    • Implementation of an automatic outlier exclusion algorithm (using statistical techniques such as linear regression)
    • Created the deployment process for the application both for in-house manufacturing and in-field upgrades; in addition to creating workflows and documentation, relevant tasks included creating a base system image, using Macrium Reflect for image capture/deployment, and investigating InstallShield for application installation

Multi-channel analyzer (MCA) end-of-life

  • Championed the software development effort to implement support for the radiation measurement hardware (MCA) from a new vendor given that the previous vendor’s product was no longer available; relevant tasks included working both with other vendors and internal engineers, and establishing software requirements
  • Corrected dozens of architectural shortcomings so that support for additional MCA vendors could be added and that unit/integration testing could be made possible
  • Increased the available knowledge about and confidence in existing MCA functionality through the creation of system diagrams, design notes, and automated tests
  • Built a fully functioning proof-of-concept prototype for communicating with a different vendor’s MCA; this involved writing a C# interface to a native C++ library; see https://bitbucket.org/daxorcorp/gbsprototypingrepo

Research and development

  • Evaluated several mocking frameworks as the software team began to incorporate unit testing; created code examples and reference documentation for the development team; see https://bitbucket.org/gmazeroff-daxor/daxorexcelexportconverter
  • Designed a system (and implemented the software component) for verifying the identity of the specific radiological components (i.e., injectate, reference standards) when performing a blood volume test; tasks involved designing workflows, capturing domain knowledge, creating an encoding algorithm, evaluating bar code reader hardware, and working with staff from engineering, clinical support, and upper management
  • Helped facilitate a week-long on-site beta test to validate the new version of the BVA software with one of our largest clients; this effort yielded several feature improvements and satisfied the verification phase of the project (per FDA requirements)
  • Paid down technical debt from previous development incurred by rushed or vague design decisions and incomplete documentation; the corrections yielded higher code coverage and surfaced knowledge/context of the system, which was previously only assumed, to other developers and the product manager
  • Created interaction design prototypes for several modules of the BVA software, including displaying on-screen alerts, supporting amputee patients, and providing order history

Support

  • Created a line-of-business, multi-tier .NET (Windows Forms) application to provide accurate daily financial information (in Microsoft Excel format) pertaining to the financial instruments within the company’s investment portfolio; requirements were gathered directly from the CEO and his assistant; managed all phases of the software development lifecycle, including its current maintenance phase
  • Visited twelve customer sites (e.g., hospital labs) to provide device maintenance, software updates, and training
  • Created a support tool for one of DAXOR’s largest customers to help transform exported patient results from the new software’s export format to the old format (to support an on-going study); tasks involved user interface design, implementation, requirements gathering, functional testing, deployment, and customer training; see https://bitbucket.org/geoffmazeroff/daxorexcelexportconverter

Regulatory

  • Acted as the creator and custodian for software-related documentation that is part of the design history file (DHF) and device master record (DMR), both of which are required by the FDA
  • Served as the internal ISO 13485 auditor, helping to ensure that the medical device-related areas of the company complied with the DORO Quality System Manual; such audits increased efficiency, improved the quality of documentation, and yielded one preventative action (i.e., CAPA)
  • Relevant training: HIPAA, OSHA, radiation safety, general familiarity with FDA regulations for medical devices (21 CFR 820), design control, engineering change process, verification and validation

Other employment

Group Fitness Instructor – Gold's Gym Sept 2016 – present
Proofreader – Les Mills International, RPM Production Team Mar 2017 – present
Group Fitness Instructor – Fort Sanders Health and Fitness Center Sept 2013 – Sept 2016
Tutor – Independent tutor Nov 2013 – Dec 2014
Tutor – Club Z! In-home Tutoring Mar 2010 – June 2010
Graduate Teaching Assistant – University of Tennessee, Knoxville; Department of Computer Science Aug 2004 – Dec 2008
Student Research Fellow – Oak Ridge National Lab (Nuclear Science Technology Division) June 2008 – Aug 2008 and May 2006 – Mar 2007
Software Engineer (Contractor) – Jewelry Television May 2007 – May 2008
Intern – Symantec Corporation (Security Response) May 2005 – Aug 2005
Graduate Research Assistant – University of Tennessee, Knoxville; Department of Computer Science Aug 2001 – May 2005

Training

  • Management and leadership
  • CMMI-DEV Maturity Level 3
  • Security+
  • Test-driven and behavior-driven development (TDD, BDD)
  • Business cases for software best practices
  • Domain-driven design (DDD)
  • User experience
  • Design principles

Education

  • Candidate for Ph.D. in Computer Science, University of Tennessee – Knoxville
  • M.S. in Computer Science, University of Tennessee – Knoxville
  • B.S. in Computer Science and B.A. in Music, Furman University – Greenville, SC

Community

Groups

Conferences

Professional interests

  • Professional development (writing blog posts, listening to podcasts, etc.)
  • Leadership and communication
  • Workplace culture
  • Interaction design and user experience
  • Cognitive psychology

Certifications and awards

  • Security+ (SY0-401); 2016-2020
  • CPR/AED
  • Group fitness instruction: Les Mills RPM (advanced), Les Mills BODYJAM
  • Department of Computer Science Graduate Teaching Assistant of the Year award (April 2007)

Leave a Reply

Your email address will not be published. Required fields are marked *