David Vedvick

Resume

View the PDF version!

David Vedvick

Senior Software Engineer

Senior software developer with broad, deep experience delivering reliable, valuable, and peformant software through customer collaboration and a focus on best practices.

Contact

Skills

  • C#, .Net Core/Framework, ASP.Net, Entity Framework
  • Javascript, Typescript, ReactJS, NodeJS
  • Python, Flask
  • SQL Server, SQLite, Oracle
  • Windows APIs
  • Building, deploying, and running on Docker
  • Powershell and bash scripting
  • Version Control systems: mostly git, but Teams, SVN, and Perforce experience as well
  • Kotlin, Java, and Android API experience
  • Test-Driven Development and code optimization techniques
  • Practical experience with Event Driven and Clean Code architectures
  • Extensive experience with agile and scrum methodologies
  • Enjoys working with other engineers to build reliable systems through pair/mob programming

Experience

Zeiss Industrial Quality Solutions

September 2021 – Present

Senior Software Engineer, Surface Inspection Workflow software

March 2024 - Present

  1. Improved a Quality Inspection Workflow service.
    1. Added working continuous integration for the service.
    2. Modified existing integration tests to work with mock dependencies, and started running the integration tests within the continuous integration pipeline.
    3. Partially migrated the existing, highly-coupled system that was difficult to test, due a large amount of interacting state, into a set of loosely coupled components with high test coverage.

Senior Software Engineer, Additive Manufacturing Inspection software

September 2021 - March 2024

  1. Accelerated 1.0 product release within first year of joining by:
    • Improving application uptime by eliminating significant memory leaks.
    • Bringing test coverage from 0% to ~50% in main application, improving resilience of application to breaking changes.
    • Delivering major product features, such as camera calibration, by developing a flexible codebase that was easy to adapt to feedback from the product owner and users.
  2. Increased data storage capabilities by porting database from SQL Server Express with a 10GB data limit to SQLite, both improving application performance by reducing overhead, and allowing more data to be persisted.
  3. Improved Image Processing algorithm from ~200ms to ~60ms, reducing feedback time to the Additive system, by improving pointer math in some algorithms and replacing other algorithms with OpenCV alternatives.
  4. Improved customer build quality reporting by creating a PDF engine capable of generating large PDF reports, using our existing web UI to provide consistency.

Protolabs, Pricing Team

July 2015 – September 2021

Technical Lead

March 2019 – September 2021

  1. Accomplished a successful migration of the pricing software to the company's new e-commerce platform while maintaining high uptime on existing platform by:
    • Compiling and running simultaneously on .Net Framework/IIS and .Net Core/Docker, enabling other teams to develop the new E-Commerce software around pricing software that operated consistently, while giving the pricing manager access to new features.
    • Migrating Dependency Injection container from Unity to Microsoft DI, enabling smoother integration with the new platform and with the modern dotnet stack.
    • Migrated pricing data to the new platform while the service was live, requiring minimal downtime at launch of new platform.
  2. Aided product management in the development of future e-commerce product enhancements, such as secondary operations and instant quoting, by assessing their requirements and collaborating with other teams on implementation strategies.
  3. Improved reliability of software throughout the company by championing unit testing, automated acceptance testing, and pair programming, leading to fewer issues post-deployment.

Senior Software Engineer

April 2016 – March 2019

  1. Enabled new products, such as on-demand injection molding, by replacing the existing injection molding pricing engine.
  2. Developed from the ground up utilizing industry best practices in test-driven development, pair programming, and automated acceptance testing
    • System replaced earlier pricing engine within a monolithic code base.
    • Re-written from scratch over the course of 1 and 1/2 years.
    • Went live with no defects nor changes in quoted prices.
    • New features were able to developed and deployed within system in under 6 months.

Software Engineer

July 2015 – April 2016

  1. Improved existing Protolabs software as a support engineer.
    • Achieved higher throughput of PDF versions of quotes, reducing a large backlog of quotes to be processed, by implementing a single input multi-dispatch queue for quote processing.
  2. Joined Protolabs' pricing team to help with effort to write a new pricing engine for Protolabs' Injection Molding service.

Rosemount (Emerson Process Management)

June 2014 – June 2015

Software Engineer

  1. Introduced code reviews to supervisor to improve code quality and spread knowledge of changes.
  2. Re-established the use of development and release branches to enable more responsive development from the team.

QuadraMed

March 2012 – June 2014

Software Engineer

  1. Maintained a Hospital scheduling application with 20 years of history, used by dozens of hospitals.
  2. Modified the processing model of a faxing application written in C# to better support multi-threading.
  3. Developed a new model for grouping appointments together into associated procedures.
  4. Ported old DLL plug-in to be in the actual client program and utilize the web service
    1. Wrote a wrapper around the automatically generated Delphi web service client to enable easy client configuration and instantiation
  5. Ported an e-mail appointment reminder service from a MAPI-based Delphi client to use POP3 and SMTP using C#
    1. Added support for automatically attaching vCal’s so that the appointment could be added to a patient’s calendar program (such as Outlook or Gmail)
  6. Built a tool for searching Crystal Reports
    1. Supported Regular Expression searches as well as normal text searches

Meridian Technologies

January 2010 – March 2012

Software Developer/Consultant

Wells Fargo Custom Docs

  1. Developer on an ASP.Net project that generated custom Loan Agreements based on information about the borrower and lender.
  2. Mapped Loan Agreement templates with conditions in Excel, wrote C# command line utility to load documents using the SQL and Excel COM object libraries into the database.
  3. Developed with a team the site for the Loan Administrator to enter in information that fed into the documents
  4. Developed a rendering engine for the Loan Agreements; was fully conditional and logically complete, and fields from the UI could feed into the Loan Agreement.
  5. Rendered Loan Agreements were then editable in a WYSIWYG editor and printable to PDF.
  6. Numerous improvements were made in the iTextSharp source code to improve compatibility with the HTML specifications.

More employment history available at https://davidvedvick.info/resume

Education

Master of Science in Software Engineering; University of St. Thomas (December 2022)

Graduate Certificate in Artificial Intelligence

Bachelor's of Science in Computer Engineering; North Dakota State University (December 2009)

Minor in Computer Science

Online

Certifications

NCEES Fundamentals of Engineering Exam (November 2009)