Principal Software Consultant Resume
SUMMARY:
With over 10 years of experience in software development I have worked on and delivered many software development projects. I have experience leading and managing teams for fortune 500 companies as well as going in as a principal consultant. I am a full stack developer working with Microsoft .NET technologies, latest web technologies, and native mobile development.
TECHNICAL SKILLS:
- Visual Studio 2017/Code/Mac
- Bootstrap
- REST Services
- C#
- SQL Server
- WCF
- ASP.NET Core
- PostgreSQL
- SOA
- ASP.NET WebAPI/MVC
- MongoDB
- Windows Workflow
- Go/Golang
- Cassandra DB
- Design Patterns
- Node.js
- Amazon Dynamo
- PhoneGap
- Angular
- Entity Framework
- Java
- TypeScript
- Microsoft Azure
- Android Studio
- React
- Amazon AWS
- Objective C/Swift
- Redux
- Google Cloud
- XCode
PROFESSIONAL EXPERIENCE:
Confidential
Owner/Principal Software Consultant
Responsibilities:
- Provide consulting services for designing and developing software solutions. This ranges from enterprise domain models using Microsoft technologies like SQL Server, .NET, C#, ASP.NET Core, and WCF to web development using Angular 1/2/4, React, TypeScript, bootstrap, npm as well as mobile app development with Swift for IOS and Java for Android.
- Design and develop a dental imaging system used to store tooth data and images to allow matching through image recognition and machine learning. Front end UI is developed with Reactjs, redux, redux - forms; back end services were developed with Go (Golang); databases utilized were PostgreSQL and Amazon Dynamo; and files are stored in Google Cloud Storage. Web UI is hosted in Amazon AWS and app service is hosted in Google Cloud App Engine. This application is developed to work with Google Cloud Machine Learning to train and provide better matching for image recognition.
- Design and develop a custom lease management system used by a RIET company to manage their lease and building workflow. This was an application designed from the ground up using Angular 4, ASP.NET Web API, and SQL Server. This web application is a responsive application with Bootstrap so it can be used on the desktop, tablet, and phone.
- Telerik’s Kendo UI for Angular was used for web controls. This application integrates with the clients ERP system (MRI) to retrieve specific building and property data.
- Develop custom implementation for Loan Sphere (Empower) for financial institution. Developed a custom component with exports general ledger data from the fees and payoffs from a loan to a CSV file and distributes the file to be picked up by an ERP system for import. Development is in C# integrating within the Empower Framework.
- Beauty Services App: Developed a mobile app, using PhoneGap, that allows customers to request beauty services and located beauty artists available in the area. When an artist accepts the request, the artist would travel to the customer for the requested service. Once complete, a transaction is charged through a payment gateway to the customer. This app was deployed to the Apple App Store and Google Play Store. PhoneGap was used for the mobile app development, ASP.NET Web API was used for the REST Service, and MySQL for the database. We also integrated Twilio for the communication between the customer and artist and Authorize.NET for the payment gateway.
- Construction Service Locator: Designed and develop native mobile apps for Android and IOS for construction companies to request and locate services. Database is developed using SQL Server and is deployed to Azure SQL. The REST web service is developed with ASP.NET Core and is deployed to Azure as an App Service. Client apps for Android and IOS are native apps developed with Java in Android Studio and Swift in Xcode.
- Order Dispatch: Designed and developed a service ordering dispatch system which uses a web based portal for admin management in the office and an Android client app which service field workers use. Web portal allows an admin user to assign and dispatch orders to specific field workers. Notifications and commands are received by the Android device through Google’s GCM service and outbound communication is through a Restful WebAPI back to the server. Backend database is SQL Server, C# business logic, WebAPI for a Restful Service Layer, Angular for the admin portal, and Java in Android Studio for Android Development. Claims Portal: Lead a team to design and develop a claims portal with AngularJS, bootstrap, SignalR, WebAPI, C#, SQL Server, and RabbitMQ. We integrated with an existing application and enhanced the capabilities and workflow according to the client’s business process through a new SPA portal. RabbitMQ was used to subscribe to event messages from the existing application which would use SignarR to push notifications up to the client browser. All business logic and security resided in the middle tier WebAPI layer while AngularJS was used to manage the client side development. Travel Security Notification Dispatching System: Client - NC4. Development for a system that dispatches alert notifications to travelers based on current news and events that may affect the subscribed traveler. I worked on integrating various Travel APIs to be able to run analytics for the user’s flights and destinations. This integration piece was developed in C# .NET with the database being Oracle and Angularjs for the UI client side. I also worked on the main web application to develop a feature that allowed the users to manage their itineraries based on the news and events for their trip. Database used was Oracle, Java J2EE for the backend with Struts for MVC, and Angularjs for the UI.
- Address Standardization: Designed and developed an address standardization service which parses, standardizes, and verifies addresses. This service is exposed through a WCF SOAP endpoint as well as a WebAPI endpoint for a RESTful API. The data access is an inversion of control design which allows for dependency injection of various data stores. Implemented is SQL Server, MongoDB, SQL Lite, and a memory repository. The reason for this design is to allow different types on installs (depending on the environment/hardware/software) and achieving the same output and behavior.
Confidential
Consultant/Principal Software Engineer
Responsibilities:
- PhoneGap: Design and develop an internal ipad application for the Pasadena Police Department. This is app which the PD will use to survey the surrounding businesses for their local events like the Rose Parade, Rose Bowl, Pasadena Marathon, and 4 th of July Spectacular. This program is to provide security from terrorist attacks similar to what happened at the Boston Marathon. This is a native ios application which communicates through secure RESTful service endpoints provided by the Pasadena IT department. The application is able to work offline, utilize internal storage on the device, and sync back through RESTful services when back online. This involves full cycle software development including gathering requirements, designing workflows, wireframes, UML diagrams, software development, and testing.
Confidential
Consultant/ Team Lead
Responsibilities:
- Lead a team to design and develop a claims portal with AngularJS, bootstrap, SignalR, WebAPI, C#, SQL Server, and RabbitMQ. We integrated with an existing application and enhanced the capabilities and workflow according to the client’s business process through a new SPA portal. RabbitMQ was used to subscribe to event messages from the existing application which would use SignarR to push notifications up to the client browser. All business logic and security resided in the middle tier WebAPI layer while AngularJS was used to manage the client side development.
Confidential
Consultant/ Principal Software Engineer
Responsibilities:
- Empower.NET: Develop and integrate a loan wholesale/broker portal with Empower LOS platform. Mortgage brokers to submit, manage, and process mortgage loan applicants. The portal allows users to import 3.2 DU files or manually create loan applications for the 1003. There is integration to RealEC to handle Appraisal and Verification requests. The clients are then submitted to Empower where backend underwriting and funding can happen. Communication for status and conditions are then maintained through the portal and Empower service. This system is developed using ASP.NET for the web server, WCF for the service layer, and Empower for the middle tier.
- Empower.NET: Enhance Empower client application. Various enhancements to the Empower windows client for the business to work efficiently. The development deals with WinForms designed in a MVC pattern. All communication is through WCF and SQL Server is used as the datastore. Since Empower is a third party system and is a block box so Reflector is used to decompile the Empower source DLLs to reverse engineer and design based off of the existing framework.
Confidential
Consultant/ Principal Software Engineer
Responsibilities:
- Principal engineer in designing and developing a distributed multi batch processing system for an ETL process for handling an Active Loan process. The system will take new public recording records and apply analytics to existing loan records to determine if a loan is active, paid off, released, etc. The system is developed with SQL Server 2008 as the database, C# for the middle-tier running in a windows service, a WCF service which is an API for commands, and a WPF GUI which consumes the WCF service for managing the process. The system has the ability to process a billion records in 4 hours. This is on one server, running concurrent processes, multithreaded. The design is capable of being distrusted on multiple servers.
- Develop a batch processing system for users to order various data products and reports Confidential provides for the real estate and mortgage industry. The application allows users to either upload batch files through a UI or write a file to a FTP server which then will process the file based on the product is developed with SQL Server for the database, App Fabric for the cache tier, C# and Windows Workflow for the middle tier, WCF for the service tier, and ASP.NET MVC for the interface tier.
Confidential
Manager/ Software Architect
Responsibilities:
- Manage an architectural team for the Research and Development group of Confidential DataTree. I was in charge of gathering requirements, giving analysis of the project, design and develop all new software development projects. I work closely with the business unit as well as DBAs to strategize for the most optimized solution. I then create a project plan for development and communicate it with my team. My team was in charge of the architectural design, development, and build of the data and products developed from county assessor and recording data.
- Design a WCF service that exposes our analytical property data as well as transaction history and lien positioning for all Confidential applications as well as third party clients. This is a data driven web service which allows an admin to manage the user’s product access and geographical access. The service is designed to withstand high load and perform within milliseconds with a database consisting of a billion records.
- Architect and develop a distributed batch processing system. This system intakes batch files, around 100,000 orders, performs a relational bulk import, gets all active worker components, and distributes orders to worker components for concurrent processing. Worker components are windows services which self hosts a wcf service for communication which is consumed by the controller/manager. Worker component itself, is a service oriented architecture consuming multiple services to provide different types of processing for each request. Worker component is designed to behave polymorphically with each service it consumes. Communication between controller/manager to worker is through tcp authenticated with Windows Authentication. The controller/manager is also a self hosted wcf application which has a basichttp and nettcp bindings for clients to consume. With the previous single computer process design we had a throughput of 20 hours for each batch to process. The current architecture processes the batches in an average of 4 hours with 4 worker components.
- System is developed with .NET framework 4.0, C#, WCF, Entity Framework, and SQL Server 2008 R2. Client application, which consumes the controller, is a MVC 3 (Razor) application which utilizes jquery for client side development.
Confidential
Senior Software Engineer
Responsibilities:
- Design and develop a lead import system. This application allows for multiple sales offices to upload their leads, create a workflow for each individual lead, convert their lead into a customer, then submit the customer along with documents and data collected to be reviewed by our credit analysts to determine if they are a good fit for the company’s debt programs. This application allows for sales office’s gathering leads, customers filling out required documents and information, and Nationwide’s approvers to all communicate in the business process. This application was designed with SQL Server 2008 as the database, Entity Framework 4 as the Data Access Layer, C# 4.0 for the Business Logic, and ASP.NET for the interface. We also have WCF Services exposes for bulk lead imports and communication with our program approval application.
- Developed a client portal for lead management system used by our sales offices. The client portal allowed for prospects to work and participate in the workflow of their debt settlement enrollment with the sales offices. The client portal is developed using ASP.NET MVC 3 (Razor view rendering engine) and our same framework used for our B2B application.
Confidential
Senior Software Engineer/Software Architect
Responsibilities:
- Developed a reservation booking engine used for cruise line ships. The common framework is used for used for multiple cruise companies. I helped implement this functionality for Regent and Oceania. The framework is developed in C# in a N-Tiered Architecture with a Data Access Layer, Business Logic Layer, and a Service Layer developed with WCF to expose functionality. We also developed a home grown CMS solution which allowed the clients to control the pages and content within the consumer facing site. Our CMS solution gave the capabilities for our clients to create landing pages which integrated with our Marketing Campaign component which allowed for tracking and analytics. Consumer and travel agent sites for each cruise line were developed in ASP.NET. SQL Server 2008 is used for the Database.
- Architected and developed a viral political campaign manager used by activists to invite and include other activists, call voters, publish updates to facebook and twitter, and complete activities/tasks for rewards using a point system. This application is integrated with Sales Force for backend voter data and integrated with multiple social networks for the viral outreach. It was designed in ASP.NET MVC, C# for the business/service/data layer, and MySQL for the database.
Confidential
Application Developer 2
Responsibilities:
- Architect, design, and develop applications which support the business operations for Philips Health Care, North America. I maintain existing applications while gathering requirements and specifications to design and develop new applications to assist and support the business operate more efficiently. All applications are web based designed in an N-Tiered Architecture separating the presentation layer, business logic layer, and data access layer. Enterprise application blocks are implemented in all applications along with AJAX for a better user experience utilizing asynchronous postbacks. All applications are developed in Visual Studio 2008 and SQL Server 2008. ASP.NET is used for the presentation layer and business logic is coded in C#.
Confidential
. NET Developer
Responsibilities:
- Design and develop e-commerce web applications which allows users to search, filter, and purchase products from a range of selected categories that the client offers.
- Worked on a project where I implemented a silverlight application for graphing in an existing ASP.NET application using WCF to use existing Business Objects.
- Also develop an admin application on the back side to allow the client to manage and keep track of their inventory. Presentation layer is all developed in ASP.NET while some pages use XSLT for xml packages used for generic display. C# is used for server side code and SQL Server 2005 for the database.
- Linq to Objects is also implemented when querying Business Objects. Also developed a few small applications using LinqToSql for DataAccess.
Confidential
.NET Developer 2
Responsibilities:
- Involved in a major project which involves integrating four existing web applications into one main application for FIS- Confidential called Desktop. Assisted in the design and architecture of the framework and integration layers which connects the existing applications assemblies to the new applications framework in a Service Oriented Architecture. Worked with the “Desktop” application from beginning to end, dealing with the Full Life Cycle Development.
- The “Desktop Framework” and Integration layers were coded in C#, web project was coded in VB.NET, while using SQL Server 2005 for Database.
- Developed web application in ASP.NET called “Process Management/NewTrak” that manages and assists in processing mortgage loan foreclosure and bankruptcy for Servicers to better manage the process and steps. Application is designed in a n-tier architecture with ASP.NET for presentation layer, VB.NET for business logic, and SQL Server 2005 for data.
- Developed a Notifications Engine windows service component which was used to store events to notify selected users at a set time. I later integrated this component into our Process Management application.
- Developed web service project which consumed a web service from one of our in house applications. This project was designed in a layered architecture with a proxy layer which served as the means to the web methods, a model layer which was used to store the classes and properties, and a service layer which was used for the calls from the application referencing this application.
- Exposed an applications business logic through a service layer by implementing WCF to allow a separate Work Flow application to call and make transactions depending on the business rule outcomes.
Confidential
.NET Developer 1
Responsibilities:
- Design of an EMS (Emergency Management System) Expense tracking system;
- The system is designed to track company expenses in regards to fuel, repairs, supplies.
- The application was written in C#/ASP.net, the data access layer is SQL Server 2005 And the reporting was done in Crystal Reports XI. In the maintenance of a Real Estate Appraisal Property Analysis System. The system is designed to facilitate property valuation analysis for Tax Agents. The system was written in C#/ Windows Forms. The reporting piece was written in Crystal Reports X. The backend was SQL Server 2005