Consultant Resume
Minneapolis, MN
SUMMARY:
- Over twenty years of experience in analysis, design, development and implementation of software applications in n - Tier environments for Desktop, Enterprise, Web, Cloud and Mobile architectures.
- Experienced in leading/managing teams and all aspects of software development roles.
- Have extensive experience with design methodologies such as Agile/Scrum, Waterfall, Iterative and Incremental Process, Model Driven Architecture (MDA) and Rational Unified Process (RUP).
- Led and architected solutions to transform legacy applications into modern multi-tier solutions with multiple digital footprints.
SUMMARY OF SKILLS:
Methodology/Architecture/Design: Waterfall, RUP, Agile/Scrum, AUP, OOD/OOAD, SOA, Software Design Patterns, MVC, MVVM, MVVMCross, MVP, Microservices, REST
Framework: .NET, Xamarin, Polly
Languages: C#, JavaScript, TypeScript, Python, Regular Expressions (RegEx), Java, C++, VB.NET, C, Intel x86 Assembly
Cloud: Azure, AWS, AWS Toolkit
Mobile: Xamarin, iFactr (Cross-platform framework), Android, iOS, Mono Touch Dialog
Web: ASP.NET, Web Services, Node.js, AngularJS/Angular5, Bootstrap, HTML, CSS, Less, XSLT, jQuery, jQueryUI, KnockoutJS, AJAX, SignalR
Messaging: RabbitMQ
Content: SharePoint, Microsoft Dynamics
Data/ORM: Oracle, SQL Server, Redis, Entity Framework, NHibernate, Red Gate
Test: Test Automation, NUnit, NSubstitue, Moq, Jasmine/Karma, Selenium, Coded UI, Ranorex
Code Analysis: Sonar
Libraries: Kendo, Spring, DOM, SAX2, Expat, DirectX, OpenGL, Objective Toolkit, Objective Grid, GDI
Source Control/Build: TFS, VSTS, Git, TF Build, MS Source Safe, PVCS, Clearcase, Dimension, Perforce, Cruise Control, Tortoise
Modeling: UML, Rational Rose XDE, Rational Software Architect, ERWin
UX Design: Axure
Logging: Elasticsearch/Serilog/Kibana
Deployment: Docker, Kubernetes
Legacy: COM/DCOM, COM+, ATL, OLE Automation, MFC, Win32 API, STL, CORBA, Orbix 3, MTS, ActiveX, Dynamic Data Exchange (DDE), ADO.NET, ODBC, DAO, OLE DB, DDE/DDEML, Pro*C, Stored Procedures, PL/SQL, Erwin, Ingres, Sybase, DB2, Access, WCF Data Services
EXPERIENCE:
Confidential, Minneapolis, MN
Consultant
Environment: .NET, C#, SOAP/REST, SQL Server, Selenium, Java
Responsibilities:
- Architected and developed REST services.
- Added enhancements to public-facing web site.
- Provided consult in architecting and building Test Automation solutions using Selenium.
Confidential, Wayzata, MN
Architect (Consultant)
Environment: .NET, C#, Java, JavaScript, Angular, Selenium, Ranorex, ElasticSearch, Node.js, SQL Server, MongoDB, Oracle
Responsibilities:
- Architect and develop test automation solutions.
- Develop Proof of Concept solutions to help sales teams.
- Mentor team members.
- Designed and developed automation solutions for clients.
Confidential, Eden Prairie, MN
Sr. Architect (Consultant)
Environment: ASP.NET Core, .NET Core, Entity Framework Core, Azure (SQL Storage, Blob, File Storage, Key Vault), MVC, WebAPI, Microservices, Docker, Docker Swarm, React, TypeScript, Jasmine/Karma, Serilog, Sumo, VSTS/Git, CI/CD.
Responsibilities:
- Responsible for architecting and building enhancements to a public-facing web site to allow Audiologists order Hearing Aid products for their patients.
- Helped patients use their health insurance (American Hearing Benefits, AHB) to pay for the purchase of hearing aid products.
- Business functionality is exposed as microservices built using WebAPI. They are containerized and deployed continuously; and, scaled as needed.
- Leading edge best practices are followed in all aspects of toolset, development and deployment.
Confidential, Minneapolis, MN
Manager Consultant
Environment: ASP.NET Core 2, C#, Redis, RabbitMQ, Hbase, REST, Microservices, Moq, Jasmine/Karma, AD/ADFS/OIDC, Angular5, TypeScript, Elasticsearch, Kibana, Polly, Serilog, Docker, Kubernetes, SQL Server, Agile/Scrum, Amazon Web Services (AWS), VSTS/Git, TFS.
Responsibilities:
- my role as a Manager Consultant was to lead a team of developers.
- I was part of Insights & Data Practice; working toward a goal of being a specialist in applying Machine/Deep Learning and Big Data to solve business problems.
- I have completed a Proof of Concept engagement for a major medical device manufacturer. It involved cutting edge technology stack for re-architecting an application for implantable devices.
Confidential, Eden Prairie, MN
Consultant
Environment: .NET 4.5, C#, ASP.NET, MVC, REST/Web API, Knockout JS, Bootstrap, SQL Server 2014, Coded UI Test Automation, Agile/Scrum, Test Manager.
Responsibilities:
- Automate regression testing of a critical internal application.
- Coded UI CodeFirst model is used to automate the functional testing of the UI.
- Target application is fully integrated into Coded UI app.
- Responsible for architecting the solution/enhancements and implementation.
Confidential, Maple Grove, MN
Development Lead (Consultant)
Environment: .NET, C#, MVC, REST/Web API, AngularJS, Bootstrap, Kendo UI, Entity Framework, SQL Server, TFS, Agile/Scrum, Grunt, Jasmine, Karma/Istanbul, Browserify, Selenium Test Automation, Azure, AWS.
Responsibilities:
- As Development Lead, responsible for overall delivery of applications.
- Responsible for architecting solutions. They also include refactoring existing applications and data architecture.
- Defined architectural layers for Automated Regression Testing methodology using Selenium.
- Perform code reviews and team mentoring.
- Responsible for delivering certain level of code coverage, code quality and performance metrics.
- Developed prototypes and deployed onto Azure and AWS cloud storages. It allowed deployment on demand for test users.
Confidential, Mendota Heights, MN
Consultant
Environment: Android, .NET, Xamarin.Android, C#, MVVM, REST/Web API, MySQL, Google Cloud Messaging (GCM), TokBox, TFS, Agile, NSubstitute.
Responsibilities:
- I was responsible for architecting and building an Android application for a set-top box. The set-top box is connected to a TV via HDMI which displays the UI. The device has built-in Wi-Fi interface.
- The architecture used MVVM pattern. The business functionality was implemented in RESTful layer. A data layer abstraction was used for CRUD operations between service layer and MySQL.
- The UI/View is primarily built using .axml definitions and associated Activity artifacts. The Model layer contains the business logic/functionality; this layer also is the consumer of the REST layer. Model gets consumed by ViewModel to allow interactions with the View. A Data Binding allows ViewModel to ensure that the Views get updated data.
- Video calls are implemented using TokBox API.
- The Server and the UI Client exchange short messages using Google Cloud Messaging (GCM). They are used to push down/up notifications.
- Automated Unit Testing is planned using NSubstitute.
- Presently, Android SDK 4.2.2 (API 17) is being targeted; but, it is likely to be revised higher.
- An iOS version of the application is likely to follow. So, the architecture is designed to allow code reuse up to ViewModel layer. The Views are expected to be native to each OS.
- I was part of the team responsible for designing and developing cross-platform mobile solutions for Ecolab's products and services .
- Used Confidential 's in-house cross-platform framework iFactr, developed parts of the application that provide cleaning and energy-efficiency solutions to industries such as Food & Beverage and Hospitality .
- Used design patterns and industry best practices to design and develop elegant and maintainable solutions .
- The application was architected using MVC pattern into various layers . The data layer was abstracted out with mappers tied to physical layer (SQL Anywhere). The business functionality was implemented in a Business Layer, accessed by Controller’s Action Methods. It’s a thick-client application; so, the offline client on mobile devices is running its own database. The local DB is synced up with the master on a server via a Sync app.
- The app is interfaced with an external Ecolab-specific hardware called Ecolab Controller. It is used to tie the application to Dispensers responsible for mixing and dispensing various cleaning chemicals. A separate Controller Mapper provides the abstraction and allow the app to interact with Ecolab Controller. Field personnel use their mobile devices to configure and access various functionality on the Ecolab Controller, thereby controlling the cleaning functions via the Dispensers.
- Some of the built-in UI controls were customized to provide additional functionality to meet client requirements. Examples include Bool Fields and Required Text Boxes with Icons. Such custom controls were isolated to their own layer to provide an abstraction, as the app needs to remain cross-platform.
- Ecolab has large presence in a number of countries; and, the app is expected to be launched in each of those countries. So, all strings and literals were isolated to resource files and tables. A separate translation service is utilized to translate into respective languages.
- Automated Unit Tests were performed using NSubstitue. A separate Test Project is created for each project in the solution. The Test Class contains the “substituted” instances; these are then registered and made available in a Test Method, as dependencies.
- A Simulator app was created to replicate some of the functionality of Ecolab Controller hardware. It’s a straight C# app that listens to mobile app as it tries to communicate to hardware. It is primarily used to test the mobile app, in a limited way.
- A number of helper libraries were written to centralize non-business functionality.
Confidential, St. Paul, MN
Contractor
Environment: .NET, ASP.NET, C#, HTML, CSS, JavaScript, jQueryUI, Regular Expressions (RegEx), TFS, SQL Server 2008, Google Analytics, Fiddler
Responsibilities:
- Architect, design, develop, test and deploy a web application that scans a site for content changes, identifies changed artifacts and provide relevant functionality.
- Gather requirements specifications.
- Make project estimates.
- Analyze the specs and generate design documents.
- Design data modeling and develop the functionality.
- Provide web performance metrics.
Confidential, Minnetonka, MN
Contractor
Environment: .NET, C#, ASP.NET, MVC 4, HTML, CSS, JavaScript, jQuery, Bootstrap, SOA/Web Services, REST, Web API, Entity Framework, Design Patterns, Agile, TFS, Fiddler, SQL Server 2008, Microsoft Dynamics, Secure Code Best Practices.
Responsibilities:
- As a consultant, architected and implemented a customer-facing ecommerce store.
- Application was implemented using MVC 4. It allowed customers to make a purchase. The payments were processed using a service layer from a third-party provider.
- Product and customer data are stored in Dynamics CRM. A service layer using WebAPI allows data access via RESTful architecture.
- Cart data is stored in SQL Server 2008 using Entity Framework.
- For client validation and partial page updates, jQuery and AJAX are used.
Confidential, Eden Prairie, MN
Lead Technical Specialist
Environment: .NET, C#, ASP.NET, MVC4, HTML, CSS, JavaScript, jQuery, SOA/Web Services (WFC, SOAP, REST/Web API), Entity Framework, Design Patterns, UML, Agile, TFS, Fiddler, SOAPSonar, SQL Server 2008, Mocking frameworks (PEX/Moles), Secure Code Best Practices.
Responsibilities:
- Connexions provides Loyalty Program solutions to Banks, Credit Card companies and other consumer focused entities. It allows consumers to redeem their loyalty points for air, hotel, car rental and cruises.
- As a Lead, participate in architectural and design processes.
- Design enhancements to a consumer-facing web application.
- Primary member in internationalizing the application to support other languages (presently focused on Mexican Spanish, Brazilian Portuguese and Hong Kong Chinese).
- Responsible for enhancing an application that facilitates managing resources in other web applications.
- Had a lead role in defining a testing framework using mocking frameworks such as PEX/Moles.
Confidential, Bloomington, MN
Contractor
Environment: .NET, C#, ASP.NET, MVC, HTML, CSS, JavaScript, Oracle, SOA/Web Services (WFC, SOAP, REST), Design Patterns, UML, Agile/RUP, TFS, ReSharper, Apache Log4Net, Fiddler, SOAPSonar, Secure Code Best Practices.
Responsibilities:
- As a contractor, participate in architectural and design processes for Healthcare applications.
- Designed and developed Benefits Management System application using MVC pattern.
- Designed and developed web services using WFC for SOAP and RESTful architectures.
- Engaged in a number of activities such as building a CSV Parser, setting up automated build process using Team Foundation Build, etc.
Confidential, Minneapolis, MN
Principal/Solution Architect
Environment: .NET, C#, MVVM, HTML, CSS, JavaScript, NHibernate, Entity Framework, SharePoint 2010, SQL Server, Oracle, SOA/Web Services, Silverlight 5, Design Patterns, UML, Agile/RUP, TFS, Secure Code Best Practices.
Responsibilities:
- As a Solutions Architect contractor, I participated in architectural and design engagements.
- I have been part of teams that provided assessments on architectural and project feasibilities.
- Helped identify human resources for project teams.
- Developed parts of an application for a Crop Insurance client using ASP.NET, C#, HTML and CSS in MVVM pattern.
Confidential, St. Paul, MN
Architect/Principal Developer
Environment: .NET 4 (C#, VB.NET, ASP.NET), TFS, SOA/Web Services, MVC, Visual Studio 2005/2008/2010 , SourceSafe/Perforce Source Control, Oracle, SQL Server 2005, Waterfall, Agile/AUP, UML, Cruise Control, NUnit, Quick-PDF.
Responsibilities:
- As a Lead, responsible for providing production support for the following applications: IPOD (Intelligent Print On Demand), MetLife1, MetLife2 and Citi Compliance Confirm
- These are applications that process PDF files, generate and print files, distribute printed copies and provide services to clients through a web site.
- Document Requirements Specs, analyze and provide project estimates.
- Design/architect new applications and add enhancements to existing applications.
- Define and develop processes that improve developmental and operational efficiencies.
- Responsible for migration to .NET 4 with TFS from .NET 2.0.
Confidential, Minneapolis, MN
Sr. Application Developer
Environment: .NET (C#, VB.NET), SOA/Web Services, EPICOR ERP System, Visual Studio 2005/2008, Spring, SourceSafe/Tortoise Source Control, HEAT Call Logging, Cisco WebEx.
Responsibilities:
- Responsible for customizing EPICOR Manufacturing ERP modules to suit various Manufacturing Units’ requirements. Each manufacturing division produced building materials such as windows, steel tubes, etc.
- Involved in Analysis and Design of the enhancements to the application from the Requirements/Functional Specifications and client interactions.
- Responsible for designing and customizing .NET components that interface with the ERP systems.
- Worked with manufacturing processes and protocols.
- Work with teams located in different cities and time zones.
Confidential, San Jose, CA
Co-Founder/Architect
Environment: .NET, C#, VB.NET, WPF (XAML), WCF, AJAX (XML, JavaScript), ADO.NET, Design Patterns, SOA/Web Services, Rational Rose XDE (UML), Visual Studio 2005, SQL Server 2005.
Responsibilities:
- This project was done as part of an attempt to start a company.
- Confidential ’s concept was to provide software solutions and IT infrastructure to very small businesses.
- My role as a Co-founder/Architect was to provide design guidelines to the development team and be responsible for the overall product development.
- The UI was developed using Windows Presentation Foundation (WPF).
- The business logic layer was exposed as a collection of web services components.
- The data layer was implemented using ADO.NET to access SQL Server database.
- Windows Communication Foundation (WCF) was used to provide communication between .NET and non-.NET entities and build web services.
