Fluent in development using the .NET Framework and Design Patterns. Worked as a team leader, team member, and as a stand - alone developer. Extensive backend and middle tier development experience. Considerable experience with custom code to interface with a variety of ERP/EAM systems. Experienced with continual integration and build/release systems.
Principal Software Developer
- Create and maintain micro & macro services (C# Web API).
- Created new Angular 2 applications (Angular 2, Angular CLI, Bootstrap).
- RDBMS development (Sql Server).
- Maintain & create new features for a traditional thick-client (WinForm) Enterprise desktop application.
- Use Visual Studio 2017, C#, Angular 2, Angular CLI, Bootstrap, Docker, Sql Server 2012, Git, Team Foundation Server
- Responsible for writing the data access layer, custom Windows user controls, installers and internal/external tools (web and Windows form based) to include:
- Data access layer to allow multiple applications to interface with the ERP suite (inSight).
- Component development (custom controls, user controls & forms) for user interfaces. Developed with the MVC pattern and tested with MS Test/Mocks/Stubs.
- Multiple internal Windows Forms based applications to support a variety of processes.
- AutoCAD plugins written in c#.
- Several internal web based applications (ASP.NET MVC5, HTML5).
- Android application to allow installers to scan delivered items.
- Created needed reports in SQL Server Reporting Services.
- Implemented and maintained the continuous integration system (CruiseControl.Net & Nant) which ran builds for every check-in on the Git repository.
- RDBMS development (stored procedures, table generation/maintenance, etc).
- Codebase of around 250,000 LOC of which I wrote about 75%, and was the only developer for the last 6 months or so.
Confidential, Olympia, WA
Senior Developer/Team Lead
- Led core product development team.
- Extensive use of dependency injection to create loosely coupled applications. Coupled with the Smart Client Software Factory and some custom rolled library loading, responsible for design and maintenance of the dependency injection sub-system.
- Developer project manager. Responsible for managing all projects on the development side. Worked closely with sales and QA engineers to ensure successful design, development, customization, rollout and maintenance of existing and new projects targeted for off-the-shelf consumption of Marshall’s main software product.
- Continual integration master. Responsible for designing and maintaining the continuous integration system, which used Cruise Control & Nant and comprised continual builds of over 50 solutions. Maintained 3 build servers. Any release could be created at need through the Cruise Control interface. Full builds/tests ran nightly on the trunk source tree.
- Build master. Responsible for creating all build scripts in MSBuild and maintaining continuous integration framework and projects, which were triggered from Cruise Control. Used customized build scripts to target different architectures & versions of dependent libraries.
- Install engineer using InstallShield Pro. Created highly complex InstallShield projects using a variety of the toolset to detect and provide for bootstrapping. Built custom Dialogs and installer DLLs to customize installation behavior to provide for functionality that doesn’t exist out of the box. Includes both Windows application installs as wells as server backend installs. Utilize both InstallScript and MSI projects to achieve the fullest extent of installation capabilities.
- Heavy use of MVC/MVP/MVCP design utilizing Windows Smart Client Software Factory for initial code generation, then extensively customized. Intimately familiar with MVC/MVP/MVCP best practices and paradigms.
- NHibernate to interface with SQL Server/Oracle/DB2.
- Worked closely with the test team to develop comprehensive test plans.
- Worked with upper management & the other senior developers to architect a system that will allow greater code re-use, make the code base less brittle and maximize developers’ efforts.
- Worked with sales and management to ensure all projects are feasible.
- Used standard design patterns to re-author the existing application to interface with multiple Enterprise Asset Management systems.
- Brought in all projects on time.
- Used Visual Studio 2005, 2008, 2010 & 2012, SQL Server 2005, 2008 & 2012, Visual Sourcesafe, InstallShield, ESRI Libraries, NUnit, SVN, NAnt, CruiseCrontrol.Net, NHibernate
Confidential, Renton, WA
- Designed and developed new features for C++ and C# based servers in both UNIX and Windows environments.
- Developed .Net based web services for payment processing and internal billing.
- Used Windows Forms programming to construct tools for developers and support staff to use.
- Designed, constructed, and debugged stored procedures and other database related tasks
- Wrote NUnit tests to verify new code works as expected.
- Used InstallShield Pro to create deployment projects for various WinForms applications.
- Used C# (Visual Studio 2003 & 2005), .Net (1.1 & 2.0), SQL Server, X-Emacs, vi, Make, Windows Forms, XML, XSLT, XSD, NUnit, Jira
Confidential, San Pedro, Ca
- Researched and developed applications to enhance the company’s core application.
- Managed three developers when in charge of the reports department.
- Responsible for debugging and troubleshooting all aspects of the application using various tools to track down and fix errors.
- Progressed from junior developer to senior developer in three years.