- 15 years of experience with all phases of development of a wide range of software systems, including Web, Windows, and Services in the healthcare, marketing, and eCommerce space.
- Strong data experience utilizing both RDBMS technologies (SQL Server, PostgreSQL) and NoSQL (MongoDB, ElasticSearch, Couchbase, Neo4j)
- Architecture and development of several frameworks for custom web and WPF applications.
- Excellent communication skills with experience working directly with clients and project team members (Project Managers, Business Analysts, Development Managers, Engineers).
Technical Lead/Principal Software Engineer/Software Engineering Manager
- Lead several teams of developers across multiple product lines with a total of 15 direct reports.
- Lead the architecture review board, which is a governing body responsible for recommending architectural approaches, creating guidelines and standards, and guiding teams on creating proposals for new technologies and budget approvals.
- Architected several microservices for an integrated healthcare talent platform leveraging containers, AWS Lambdas, AWS ECS, AWS EC2, ElasticSearch, PostgreSQL, Couchbase, RabbitMQ, and SQL Server
- Extensive design and development work with eventual consistency and distributed data models that contributed to our ability to deliver new features and functionality fast while providing world class search capabilities.
- Architected and implemented RESTful APIs to integrate with both our internal career site as well as third party career sites. The RESTful APIs accepted and returned HR Open Standards JSON objects for interchange between our systems and third party systems. This was written using Web API 2, C#, OWIN Authentication middleware, EF 6, and Autofac.
- Architected and implemented a new job search system using ElasticSearch and an enterprise message bus for decoupling our SQL Server databases from our ElasticSearch indices. This increased performance of search from 4 - 6 second page response times to approximately 200 millisecond page response times.
- Rewrote our career site application utilizing the new job search using ReactJS for the front-end and Web API (RESTful APIs) and C# for the back-end.
- Architected and implemented a new application workflow for applicants applying to jobs on our clients’ career site. This involved a configurable card workflow modelled after Material Design. The data for this was stored in a NoSQL database, allowing for rich, complex hierarchical data to be retrieved quickly.
- Wrote several npm packages of re-usable components that were consumed by other React projects.
- Wrote several nuget packages of re-usable C# components that were consumed by other back-end RESTful API services.
- Contributed to our source control strategy by recommending processes around pull requests and semantic versioning. All source control was migrated to GIT from TFS in 2016, making the pull request process easy to implement.
- Architected and implemented an identity provider solution for our external-facing applications, which allow for several applications to authenticate through a central store.
- Designed and enhanced the token architecture to handle single-use expiring tokens. Designed and enhanced the security framework to allow granting of limited access rights based on an encrypted token.
- Responsible for all architecture and implementation of SaaS offering, enterprise application offering, and internal tools and utilities.
- Designed and developed Confidential ’s first SaaS product using the existing enterprise application as a model for the new SaaS design. The new SaaS product was built using C#, .NET 4.5, MVC 4 and SQL Server 2012. For the SaaS product, developed new features based on customer feedback, including an entirely new algorithm and methodology for determining sample and scheduling sample to be sent invites. The sampling algorithm improved sampling performance over the existing enterprise application by 60%.
- Created a new MVC application used as a backbone for administrative functions for the SaaS application as well as a prototype for the next generation enterprise application.
- Responsible for leading and mentoring a team of four engineers, being an individual contributor, and analyzing requirements to help in creation of user stories from the business team.
- Involved in all aspects of scrum, acting as scrum master for our team and guiding the project management staff toward writing more effective, clear, and concise user stories.
- Successfully lead the team through several major feature releases, bringing product to market on time for each release.
- My most significant contribution in this role was to write a WCF framework to communicate with a Silverlight front end and eliminate the overhead of the channel stack and XML serialization. This framework used JSON serialization and compression to reduce payload size and custom authentication to eliminate the chattiness of NTLM authentication. Overall, this decreased network traffic by 90% and increased the speed of service calls by 50-80%.
- Wrote several complex pieces of functionality for the Silverlight application and supporting windows services. These include enhancements to sampling, invite management, routing respondents to the appropriate surveys, traffic and channel enhancements.
Senior Software Engineer
- Wrote a public-facing ASP.net application that gathered patient satisfaction data using traditional ADO.NET. This was localized to support any number of cultures, including arabic, traditional chinese, russian, and spanish.
- Wrote several WPF applications that were deployed to our internal users using ClickOnce technology that allowed users to create, customize, and translate patient surveys for the electronic survey platform.
- Led a project and team of four through a release of the translation application, including deployment plans and resource allocation.
Senior Microsoft .Net Developer
- Responsible for the design and implementation of several public facing eCommerce web-sites in ASP.net with traditional ADO.net for data access as well as web service calls to various other platforms to integrate warehousing, inventory, invoice, and product information.
Senior Software Engineer
- Responsible for interfacing with third party vendors using HL7, creating a read-only version of the clinical management application in ASP, enhancing the existing VB client-server applications that made up the software suite, and rewriting from VB to C# in .NET 1.1.