- Experienced software engineer and project manager with a proven track record of successful projects
- Strong software architecture skills and experience designing extensible, large - scale applications
- Experience with .NET Core, ASP.NET/MVC, WebAPI, Bootstrap, Angular, Knockout, Kendo UI, WCF, WPF, WinForms, COM/ActiveX
- Database experience includes SQL Server and MongoDB
- Experience with a wide variety of development tools - Visual Studio, Scitech memory profiler, GIT, Subversion, Resharper, MSTest, NUnit, LINQ Pad, Visio UML, Postman, Balsamiq
- Experience designing and implementing commercial APIs and developer tools
IT Manager/Integration Architect
- Project manager and architect for team working on the Credentially Management System (CMS), which is the back office website for ABP operations. Successfully introduced Agile process to the team and established quarterly release schedule. Successfully completed rewrite from Java to .NET and introduced workflow engine into application.
- Project manager and architect for team that created a new persona-based landing page for ABP users. Introduced microservices and single page application (SPA) architecture. Reusable UI components and user mappings to personas provides customized user experience for different groups of users. Project completed on time and well-received by users.
- Application architect for Online Tracking application, which tracks of physicians in residency and fellowship programs. Introduced object-oriented domain model used by front-end and back-end systems, as well as workflow driven processes for backend users of CMS (back office application).
Senior Software Engineer
- Responsible for design and implementation of features for a new website used by program directors to track residents in .
- Also worked on custom single OpenID Connect identity provider used for single sign-on by several different websites in the organization.
- Member of team that deployed new website on time and within budget.
- Used ASP.NET/MVC in combination with jQuery, knockout.js, and bootstrap to implement user interface.
- Used Entity Framework, nInject, and log4net on the server side to implement service and data layer components.
Senior Software Engineer
- Design and implement enhancements for ResolutionManager, an enterprise solution for identifying viruses, malware, and network intrusions and providing remediation of issues.
- Used Windows Identity Foundation to implement a single sign-on solution that allows multiple web servers to be accessed by a single web-based client. Implemented a custom security token service using existing API to access credentials in a MySql database. Made significant changes to JSON RPC calls to support web service calls to multiple servers using credentials and claims stored in SAML tokens.Enhanced web UI based on ExtJS with new pages and the ability to navigate between server instances.
- Implemented a more efficient mechanism for creating snapshots on client machines and uploading those snapshots to the server. Implemented multi-threaded resolution of assiet identifiers on client. Implemented API to support Rsync algorithm for efficiently synchronizing snapshot files between the client and server.
Senior Software Engineer/Application Architect
- Design and develop new enhancements for PortfolioCenter, a portfolio analysis and reporting product used by financial advisors.
- Work on a team of developers using Agile methodology to design and develop new features and product enhancements.
- One of three application architects that guide the design of the product and provide technical mentoring for other team members.
- Led User Interface Core Group which is responsible for defining UI standards and providing guidance and review of UI changes.
- Integrated the C++/MFC user interface with .NET WinForm user interface components.
- Designed and developed the Portfolio Data Manager, an application that allows users to create custom views of their data using ad-hoc queries and edit the data using an excel-style grid user-interface.
- Enhanced the application to allow users to select custom views of their data.
- Led a project to design a new WPF-based dashboard and reporting interface. Designed and implemented a rendering engine that uses XAML elements, custom controls, and markup extensions to generate reports in XPS and PDF format. Developed application to allow users to assemble custom reports from stock pages and XAML elements.
- Led the effort to develop a Silverlight application for managing and viewing batch reports. Developed an MVVM framework that integrates with Reactive Extensions (RxFramework). Application uses a REST-based web service and custom LINQ query provider for retrieving and updating objects.
- Led the effort to develop a distributed work management system which allows work to be distributed to worker processes on a network. Worker processes communicate with a central controller in order to request work and send progress notifications and results. Controller is a WCF web service that uses the SOAP protocol. Workers are muli-threaded Windows services. Initial application is for generating reports.
- Worked on a large team developing the next generation portfolio management system. Designed and implemented a flexible metadata framework used to map dynamically map entitities to MongoDb and management schema information. Designed and implemented database access layer for MongoDb along with authorization mechanism for restricting access based on access control lists.
Senior Programmer/Project Manager
- Architect and project manager for a new product called IssueNet. IssueNet is a highly customizable enterprise issue management platform that supports form editing, scripting, database customization, reporting, and a rule-based workflow engine. Wrote Software Requirement Specifications (SRS), lead design discussions, designed and implemented the core framework, and prepared project plans.
- The IssueNet platform includes an client application that runs solutions and an Architect application for creating solutions. Solutions include object-oriented metadata, forms, scripts, menus and toolbars, reports, workflows, and triggers. Technologies used include Microsoft .NET, ADO.NET, .NET web services, XML/XSLT, .NET Windows Forms.
- Lead developer on Visual Intercept Web 3.0. Designed and implemented a new version of Visual Intercept for the Web, a shrink-wrap incident management (defect tracking) tool.
- Work on incident tracking system called Visual Intercept for Confidential .
- Design and implement XML serialization for Visual Intercept SDK. Designed XML schema for COM objects in the Visual Intercept SDK and developed a mechanism for serializing the objects to the XML DOM.
- Implemented web services based on SOAP to submit and retrieve incidents to and from a web server via HTTP. Web service clients are PCs, handhelds, and any other device that can send and receive HTTP.
- Used the following technologies: MS XML 3.0, MS SOAP SDK 2.0, PocketSOAP, IIS 5.0, ASP, WinINet, Visual C++, MFC, Visual Basic, and COM.
- Features include selection and drag/drop of 3D objects, navigation through scenes using keyboard and mouse, command undo/redo, hit testing and collision detection, XML persistence, and import from 3D studio files. Uses Direct3D and DirectInput version 8.
- Unable to complete version 1 before running out of money.
Senior Software Engineer
- Develop C++ class libraries based on the Microsoft Foundation Classes (MFC) and ATL.
- Lead developer for Objective Views, a graphics library for 2D interactive graphics and diagramming.
- Responsible for the design and implementation of significant portions of the product such as transform logic, symbol connection logic, mapping modes, measurements, back buffering, scrolling, zooming, ruler guides, curves, ellipses, and text and label support.
- Responsible for development of some of the diagramming functionality in UML Studio, a UML modeling tool based on Objective Views. Occasionally provided onsite and consulting for customers.
- Manager for the Foundation Products Group.
- Managed the development of the Confidential Foundation Library, a library that serves as the foundation for Confidential ’s Objective Studio products and provides commonly used features such as a model-view-controller architecture, layout management, object-oriented event model, bitmap graphic manipulation, owner draw and bitmap buttons, collection classes, and design pattern support.
- Managed the development of windowing and application development extension classes for ATL which provide features such as application module classes, pluggable message loops, idle processing, SDI, MDI, multi-threaded SDI, GDI classes, common dialog classes, OLE drag and drop, splitter windows, print preview, and XML persistence.
- Also responsible for project management of Objective Views, Objective Edit, and Objective Toolkit for ATL. Responsible for writing software development plans and requirement specifications, developing estimates, managing schedules, and design and implementation of product features.
- Develop multimedia software for sales and marketing applications in C++ and Delphi. Projects include sales automation applications for insurance companies, banks, and advertising agencies. Team leader on several projects with experience writing Software Requirements Specifications (SRS), project estimates, and object-oriented design using CASE tools.
- Developed Delphi components to manage Windows palettes and palette animation.
- Developed a 3D golf game for Windows using Microsoft Visual C++. Golf game uses polygons, bitmaps, 3D transformations, and 3D clipping algorithms to render the golf course from the player’s point-of-view.
- Team leader on the ArchiTech Specifier project, a WYSIWYG diagramming tool that allows Brunswick sales personnel to layout equipment for a bowling center.
- This Windows diagramming application features drag and drop, multiple selection, undo/redo, object aggregation, object rotation, and object sizing. Experience with Windows GDI, sprites, double-buffering, animation, metafiles, AVI, WAV, and 3D algorithms.