Justin Sommercorn

Technical Skills

C#, Java, ASP.NET, Linq, Entity Framework, ASP.NET MVC, Razor, Win Forms, Debugging, Team Foundation Server, Git, Visual Source Safe, Bugzilla, Jira, AccuRev, Subversion, Nant, PsExec, Windows, Windows Server, IIS, Windows Services, REST, WCF, Microsoft SQL, MySQL, Agile Methodologies, SCRUM, XML, Unit Testing, NUnit, Design Patterns

Work Experience

Domo
Senior Software Engineer/Team Lead
August 2015 - Current
  • Created several REST connectors using Java to 3rd party APIs to pull in custom data and reports for customers.
  • Updated the connector Java framework to extend the support of the library.
  • Develop and maintain a .NET 4.5 application that lives behind the customer firewall to collect sensitive, customer defined data from many sources.
  • Create several plugins to collect specialized data from unique locations for the .NET application for both internal and customer use.
  • Work with support and customers to troubleshoot and fix issues with the .NET application.
  • Develop training material to train support and customers on developing plugins for the .NET application.
  • Instruct a class using the training material I created to teach how to create plugins.
  • Update the framework API to use an updated REST API to better support uploading data.
  • Changed existing addin framework to use .NET Managed AddIn Framework to support reverse compatibilty between the product and plugins.
  • Converted WinForms controls to WPF controls to work better through the pipeline.
  • Used MVVM to manage the WPF controls values and events.
  • Help manage and extend Wix to create reliable installers for the application.
  • Utilized Git and JIRA to manage source and track tasks and bugs.
Populus Group contracted with Visa
Senior Software Engineer
September 2013 - August 2015
  • Developed migration scripts with NANT to deploy applications along with complete hands off setup so the application just works upon deploy.
  • Looked at configuration of web applications, web services, and windows services in Windows 2003 Server then duplicated those settings in 2008. Debugged any errors that occurred between the different environments and fixed the issues.
  • Added functionality to an existing web application from an obsolete application that was not to be migrated.
  • Extended NANT to perform further installation and setup functions that it otherwise doesn’t do, such as specific IIS 7 configuration.
  • Helped to troubleshoot and fix a threading issue with an ODBC connector that was valid in a 2003 environment but not in a 2008.
  • Fix security issues that arise from penetration testing in applications that are being migrated to the highly secure Visa 2008 servers.
  • Modify existing websites and APIs based on new requirements from the customers.
  • Assist in implementing an Active-Active database solution and modifying all programs, websites, and reports to work with this change.
  • Utilized AccuRev with Rally to manage source and track bugs.
Certiport
Software Engineer
May 2012 - September 2013
  • Helped show many major security flaws in the primary website and helped with fixes to assist in PCI Compliance
  • Developed a renderer to display exams for a 2013 Office application
  • Developed a tool to handle all Certiport programs on a user’s computer.
  • Built several installers to assist the user with the installation of Certiport programs and programs that Certiport relies upon.
  • Developed a low level “Lockdown” that can limit Windows functionality and be dynamically set up to listen for certain keystrokes and ignore them and/or pass specific instructions to a program to help ensure that users cannot cheat on tests.
  • Developed a new and innovative testing platform from scratch that can self-update and be dynamically data driven. It supports full localization and impersonation to aid low security users in taking exams.
  • Added many new UserControls to aid in the development of Windows projects.
  • Implemented and administrated Microsoft Team Foundation Server 2012 and helped get plans in place to integrate all products currently running on Microsoft Visual SourceSafe and SubVersion so there is one master source control provider.
  • Helped put code review standards in place and taught other developers how to utilize different tools such as TFS 2012 to aid in code reviews.
  • Taught other developers many .NET 4.0 and .NET 4.5 functions and how to use/create lambda expressions.
  • Added many commonly used extensions to C# projects that speed up development and make code more efficient and easier to read.
  • Was constantly consulted by other developers about best practices and new/innovative ways to do things.
  • Helped architect a new driver and renderer for delivering, scoring, and launching exams from the ground up.
Robert Half contracted with Certiport
Salaried Professional Software Engineer
January 2012 - May 2012
  • Developed a SalesForce synchronization tool from scratch that utilizes a self-contained SOA layer to communicate with the local database using existing custom APIs. This project continuously worked seamlessly for over a year with little to no maintenance.
Vivint (formerly APX Alarm)
Software Engineer
July 2010 - January 2012
  • Developed and maintained a CMS solution used to track customers, payments, employees, and alarm systems.
  • Developed WCF web services used by several programs for automating tasks.
  • Developed console scheduled tasks to clean and run tasks at specific times.
  • Developed a Tax service that allows 1000’s of concurrent connections to calculate sales tax properly.
  • Developed an Active Directory program to assist HR with new hires by automatically creating user and email accounts with the proper permissions.
  • Architected and implemented many high value pieces into the CMS solution.
  • Worked directly with many internal customers to better help them with the tools being developed.
  • Worked on and helped maintain many publicly facing websites.
  • Was one of the primary consults of the lead developer coming up with new ideas and how to implement them.
  • Utilized TFS to manage source and track tasks and bugs.
JK Ventures / Vanguard Legal
Web Application Developer
September 2009 - July 2010
  • Developed for and maintained an ASP.NET web application.
  • Helped create and maintain a development, testing and production website to make sure that bugs were minimal.
  • Worked extensively with LINQ to SQL to quickly and securely access databases.
  • Created a multi-tiered program.
  • Worked with Microsoft Unity to tie the different layers together for a seamless web application experience, improving security and making the website easier to manage.
  • Helped to setup properly and maintain SVN to allow other developers to work in unison on the same code path while giving a large amount of backup ability.
  • Helped convert a Waterfall environment into a much more Agile environment increasing productivity and quality of work.
  • Discussed database and development design and implementation in groups to more fully understand what the developing business needs and for more object oriented designs.
  • Reviewed code and helped setup coding standards to give all code a similar structure to more easily parse and debug.
  • Worked remotely through VPN when extra hours were needed during non-business hours to keep the business running smoothly and without hitches the following day.
  • Developed a stand-alone plug-in to dynamically generate several hundred unique documents from templates and combine into a well structured PDF file that pulled values from a database that saves the business countless hours of manual labor.
  • Maintained and designed a database to manage a fully integrated real estate and legal database.
  • Developed an extension to the ASP.NET Membership login system to add permissions per user to provide even further flexibility and security within the membership extension.
  • Helped customize and create a new DotNetNuke site from scratch promoting the business and bringing in leads.
  • Maintained an active bug list using Trac and Bugzilla to keep track of development times, issues with live pages, and release notes increasing productivity and efficiency.
Paraben
Junior Software Engineer
September 2006 - September 2009
  • Designed and created several databases including the company's primary customer database which was comprise of 3 other databases that I merged into one.
  • Quickly implemented several changes to the company websites saving marketing from hours more work and improving sales.
  • Designed, coded using the .Net framework, and launched an enterprise site to further promote and bring in sales; Helped set up and manage internal company network and security.
  • Managed email and phone systems.
  • Created several online shopping carts in PHP with backend databases to sell specialized software.
  • Synchronized 4 separate user databases and created a website using the .Net framework to allow users to update their accounts across many different databases (http://account.paraben.com).
  • Created a backup solution to download and catalog database backups.
  • Created several specialized macros to save countless days of manual labor.
  • Created several applications for government and military use using Java technology.
  • Created a fully interactive site to allow users to register for an annual conference and register for specific classes inside the conference using PHP and MySQL.
  • Set up a new customer support ticket system to optimize user support and save time in answering customers.