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
- E-mail: dvedvick@gmail.com
- Phone: 904-469-1338
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
- Improved a Quality Inspection Workflow service.
- Added working continuous integration for the service.
- Modified existing integration tests to work with mock dependencies, and started running the integration tests within the continuous integration pipeline.
- 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
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- Enabled new products, such as on-demand injection molding, by replacing the existing injection molding pricing engine.
- 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
- 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.
- 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
- Introduced code reviews to supervisor to improve code quality and spread knowledge of changes.
- Re-established the use of development and release branches to enable more responsive development from the team.
QuadraMed
March 2012 – June 2014
Software Engineer
- Maintained a Hospital scheduling application with 20 years of history, used by dozens of hospitals.
- Modified the processing model of a faxing application written in C# to better support multi-threading.
- Developed a new model for grouping appointments together into associated procedures.
- Ported old DLL plug-in to be in the actual client program and utilize the web service
- Wrote a wrapper around the automatically generated Delphi web service client to enable easy client configuration and instantiation
- Ported an e-mail appointment reminder service from a MAPI-based Delphi client to use POP3 and SMTP using C#
- 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)
- Built a tool for searching Crystal Reports
- Supported Regular Expression searches as well as normal text searches
Meridian Technologies
January 2010 – March 2012
Software Developer/Consultant
Wells Fargo Custom Docs
- Developer on an ASP.Net project that generated custom Loan Agreements based on information about the borrower and lender.
- 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.
- Developed with a team the site for the Loan Administrator to enter in information that fed into the documents
- 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.
- Rendered Loan Agreements were then editable in a WYSIWYG editor and printable to PDF.
- 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
- http://davidvedvick.info — Personal site, portfolio, and blog
- https://github.com/davidvedvick/ — GitHub profile
- https://www.linkedin.com/in/davidvedvick/ — LinkedIn profile
Certifications
NCEES Fundamentals of Engineering Exam (November 2009)