Académique Documents
Professionnel Documents
Culture Documents
Software Engineer with over 15 years of experience developing innovative solutions to complex problems. Experienced in architecting distributed systems with clients operating in web, mobile, and desktop environments. Firm understanding and capability to apply appropriate design patterns and principles for enterprise applications.
Skills
General
C#, Visual Studio, MSTest, NUnit, Resharper, Java, IntelliJ, JUnit, Object Oriented Analysis & Design (OOA/OOD), Design Patterns and Principles, Agile, Scrum, User Experience (UX), Dependency Injection, Unit Testing, TestDriven Development (TDD), Continuous Integration (CI), Service Oriented Architecture (SOA), Event-Driven SOA (ED-SOA), Domain Driven Design (DDD) Oracle, SQL Server, MySQL, PostgreSQL, Windows Azure Storage Services, Performance Tuning, Database Administration ASP.NET, Windows Azure, IIS, Apache, Web Services, WCF, Node.js, Socket.io, Enterprise Service Bus (ESB), Command Query Responsibility Separation (CQRS) WPF (MVVM), WinForms (MVP), XAML JavaScript, CSS, KnockoutJS, RequireJS (AMD), jQuery, bootstrap, MomentJS, Durandal, qUnit, AJAX, WebSockets WPF (MVVM), JavaScript
Database
Server
Desktop Web
Mobile
Employment 06/13 present
New Dawn Technologies Logan, UT SOFTWARE ENGINEER Architected a client-side framework by customizing KnockoutJS, UnderscoreJS, RequireJS and adding the components missing to properly implement the MVVM pattern. The framework provides the capabilities to design a responsive web application for mobile to desktop, or to provide a mobile-optimized website by simply providing different views over the same view model. In addition to all modern browsers, the final application can run natively on Windows mobile devices, and using PhoneGap can also run natively in Android and iOS. Architected a server-side framework in a legacy system using Java, Groovy, Hybernate, and JSP to implement a CQRS API exposing only
D. Comer
data to be consumed by the client-side framwork. Both client-side and server-side frameworks fit comfortably in the legacy application and provide a simple migration path to the new architecture as existing modules are re-visited. Maintained / Upgraded an existing client/server application consisting primarily of .NET technologies (Winforms, WPF, and WebServices) Participated in an Agile environment using Trello and other open source tools to assist our Scrum process, while telecommuting over 50% of the time.
01/12 06/13
309th Software Maintenance Group Hill Air Force Base, UT COMPUTER SCIENTIST
Redesigned the GPS Crypto Key application and API from a C++ to a C# utilizing modern agile software engineering disciplines, while supporting a COM interface for backwards compatibility. Provided technical leadership and guidance by performing training and mentoring to software engineers within the GPS Crypto Key team and other Mission Planning teams on agile design patterns, principles, and practices. Implemented user interfaces in WPF, utilizing the Model-View-ViewModel (MVVM) design pattern to provide a separation of concerns between the user interface and business model, allowing the software tests to be automated by unit tests and the user interface to maintained/changed independently of the core business requirements. Separated pieces of the application utilizing a layered architecture to provide maximum potential for code reuse, and position them for change to allow easy maintenance. Areas that are likely to change together are grouped into assemblies and seams are designed between the layers to help protect them from changes that occur in other areas. Minimized application debugging requirements by using Inversion of Control to integrate the GPS Crypto Key application with the Joint Mission Planning System, while also allowing it to run independently. Redeveloped large portions of the user acceptance tests performed to provide better coverage of requirements and reduce dependencies on the order that tests are run. Performed research and development on best practices to ensure an adequate level of security exists within the GPS Crypto Key application as most of it is now implemented in a managed memory environment using the .NET framework. Obtained training on the acquisition process and systems engineering process utilized by the Department of Defense.
10/05 01/12
D. Comer
provide a solution that best meets the given requirements. Conducted regular meetings with customers to determine application requirements, present design documentation, provide status briefings, and perform demonstrations. Responsible for the development and maintenance of complex databases, writing stored procedures, triggers, and performance tuning in Oracle 10G. Maintained a current grasp on Microsoft technologies including WPF, WCF, Windows Azure, and Silverlight to develop scalable solutions and rich client applications with innovative user interfaces. Developed and implemented a geographically distributed system utilizing smart client applications implemented in a .NET environment and materialized view replication through Oracle.
05/05 10/05
02/03 05/05
INDEPENDENT CONTRACTOR
Curves International, Inc. - Created a multi-lingual, database-driven website with a content management system. The application uses the ASP.NET with SQL Server. Curves International, Inc. Upgraded/Maintained a web-based application to generate advertisements and brochures on the fly for Curves franchise owners. CTG Consulting - Extended an online store developed in PHP to provide a dynamic presentation layer based upon a referral from another website. This provides the capability of the store to take the look-and-feel of other companies websites which gives them the opportunity to impersonate a store built into their own site.
10/03 04/05
D. Comer
maintainable through an administrative interface. Designed and created an application that stores data on students to integrate with and extend the capabilities of existing legacy software. The application reports student progress, transcripts, and tracks information required for the accreditation process for the high school program. Perform user management, training, and troubleshooting on proprietary software, Student Management System (SMS), an application designed to track enrollment, accountability, and attendance for the students. Provide training and troubleshooting on Microsoft technology within a Citrix environment. Responsible for maintaining security within Active Directory in a Windows 2003 environment. Maintain a Local Area Network consisting of over 400 desktop computers on center with issues pertaining to hardware, software, preventative maintenance, and network printing/scanning.
09/02 12/02
Education