Lead/Senior Software Engineer2018 - 2019Major Telecommunications Firm in New York (via Toptal)
Technologies: Dependency Injection, .NET Core, Hangfire, ASP.NET Identity, ASP.NET Web API, Security, Optimization, Web API, Redis, OWIN, .NET, C#
- Created Web API endpoints with highly optimized throughput to support scaling up and scaling out.
- Optimized the existing codebase.
- Introduced a distributed cache using a Redis cluster to the existing codebase.
- Introduced Dapper lightweight ORM to manually optimize heavy-lifting SQL queries.
- Made general bug fixes and version updates for packages and/or framework version.
Security Lead2016 - 2018Major Telecommunications Firm in New York (via Toptal)
Technologies: IdentityServer 3, IdentityServer 4, OAuth 2, ASP.NET Identity, SAML, Identity Server, OpenID, OWIN, .NET, C#
- Designed and implemented an in-house authentication endpoint for SSO.
- Implemented authentication using IdentityServer3 at its core and making it compatible with OpenID Connect, OAuth2, SAML2, WS-Federation, and more.
- Built a custom solution to suit the business needs along with the different authentication flows based on the subdomain (departments), 2FA, existing user migration from legacy store to ASP.NET Identity user store, administration UI for user store, and IdentityServer3.
- Developed custom flows for password recovery, linking the external provider’s user to the internal user and user lockout.
- Used dynamic middleware registration to achieve different behavior of the same deployed application on a different server (domain) to control the authentication flows.
.NET Web Developer2016 - 2016InnoSoft Canada, Inc. (via Toptal)
Technologies: Algorithms, CSLA, Scrum, Jira, Microsoft SQL Server, T-SQL, LINQ, Web API, ASP.NET MVC, C#, .NET
- Created database tables, diagrams, and stored procedures.
- Created complex SQL stored procedures to implement advanced scheduling algorithms.
- Created CSLA.NET business objects for ORM.
- Resolved security vulnerabilities in OWIN middleware implementation.
- Created Web API controllers and action methods.
- Created Ajax calls to get data from Web API controllers and utilize it in appropriate partial views.
- Created a view to render SVG vector images based on data and the ability to download it as PNG with transparent background (for printing) or with a custom color background.
.NET Security Expert2015 - 2016FocustApps (via Toptal)
Technologies: IdentityServer 3, IdentityServer 4, OAuth 2, Azure, Kentor, Microsoft SQL Server, LINQ, Entity Framework, SAML, OWIN, C#, ASP.NET
- Designed and implemented a back-end library that standardized the security model.
- Designed and implemented the code that supports multiple identity providers using OWIN middleware.
- Designed and implemented a custom change-aware lazy-load caching solution.
- Designed and implemented an application and low-level database auditing solutions.
- Created standards for other developers to follow to make the solution easier to develop and maintain as well as being more secure.
Senior .NET Developer, Project Leader, Team Manager, Software Architect2008 - 2015Chinook Software
Technologies: Windows, Architecture, Algorithms, T-SQL, LINQ, VB.NET, C#, HTML5, jQuery, AngularJS, Razor, ASP.NET
- Created a custom reusable code library for authentication, caching, auditing, and messaging.
- Built a custom Moneris API wrapper for online credit card processing.
- Developed and implemented custom shopping cart solutions.
- Programmed various functions with advanced custom features for Composite C1 CMS.
- Wrote complex SQL Agent jobs for data conversion, import, and sync.
Oracle Developer2007 - 2008InterSoft
Technologies: DB, Oracle, Oracle Forms
- Designed ER diagrams based on BRD.
- Migrated Oracle forms from desktop to in-browser apps using Java.
- Maintained and supported existing Oracle DB instances.
- Created data imports from legacy data formats into a new Oracle DB instance.
- Went on-site and got field experience in problem solving and solutions implementation for remote locations.