David Vedvick

Resume

View the PDF version!

David Vedvick - Computer Engineer

Technical Skills

Android, XAML, Silverlight, .Net, C#, Java, ASP.Net, Javascript, ReactJS, MVC, Entity Framework, Powershell nHibernate, WinForms, Delphi, C++, C, HTML, MySQL, PL/SQL, Oracle, SQL Server, Solr, Lucene, IBM DB2, SQLite, Ubuntu/Debian Linux, Windows (Server 2003, 2008, 7, 10)

Experience

ProtoLabs July 2015 – Present

Senior Software Engineer

  1. Developed automated acceptance test builds and architecture
    1. Used existing build technology (CruiseControl.net)
    2. Automated acceptance tests used Gherkin methodology
    3. Intended to run on entire stack, but within domain of team
    4. Automated acceptance tests ran automatically after a build and deployment was completed
  2. Engineer on the pricing team
    1. Focusing on delivering prices to customers using custom price algorithms
    2. Prices stay locked in indefinitely when a customer sees a production price for the first time

Rosemount (Emerson Process Management) June 2014 – June 2015

Software Engineer

  1. Maintained a click-once application to track and run hundreds of hardware tests on Rosemount pressure products
    1. Reduced frequency of crashed tests runs
    2. Improved reliability of communications with Modbus serial devices using an event-driven architecture
    3. Built an extensible tool to communicate directly with devices in the application to perform diagnostics on devices – HART and Modbus had so far been implemented
  2. Introduced code reviews to supervisor to improve code quality and spread knowledge of changes
  3. Re-established the use of development and release branches to enable more responsive development from the team
  4. Maintained a Silverlight Line-of-Business application for creating and tracking test jobs using entity framework and a RIA services back-end
    1. Converted usage of a single shared connection across View Models to properly scoped database connections, eliminating possibility of different entities overwriting each other's data
    2. Switched from use of a full database for unit testing to using MOQ, improving speed and reproducibility of bugs discovered in unit testing
    3. Streamlined and improved Job search functionality
    4. Improved load times in multiple areas of the application

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. Analyzed and 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 9
    1. Supports Regular Expression searches as well as normal text searches
    2. Searches recursively through sub-documents
    3. Coded in Delphi since the Crystal Reports library that QuadraMed owned did not natively support C#

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. Utilized SQL Server 2008 to store the database.
  3. 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.
  4. Developed with a team the site for the Loan Administrator to enter in information that fed into the documents; created the interface using a combination of jQuery and the AJAX Control Toolkit.
  5. Developed a rendering engine for the Loan Agreements; was fully conditional and logically complete. Text could be displayed depending on whether a condition was true or not, and fields from the UI could feed into the Loan Agreement.
  6. Rendered Loan Agreements were then editable in a WYSIWYG editor (TinyMCE) and also printable via iTextSharp.
  7. Numerous improvements were made in the iTextSharp source code to improve compatibility with the HTML specifications.

Emerson Process Management Co-op May 2008 – December 2008

Software Testing intern

  1. Developed Software Verification and Test Documents and executed test Cases

Undergraduate Experience August 2004 – December 2009

  1. Developed Digital Systems Testing projects in C++
  2. Developed applications for embedded processors in C and VHDL
  3. Experience with Microsoft Assembler

Miscellaneous

  1. Actively developing music canoe, an Android audio streaming client that interfaces with JRiver Media Center
  2. Developed store website (www.deliciouspc.com) using PHP (CakePHP MVC framework), MySQL and Linux

Online Portfolio

Education

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

Certifications

NCEES Fundamentals of Engineering Exam (November 2009)