Lead Software Engineer
I'm incorporated with over 30 years
experience in the IT industry with a
BSc in Computer Science from Concordia University.
Industry Knowledge
I have
worked with Telecommunication, Travel, Cargo, Real-estate, Manufacturing, Financial,
Accounting,
Human Resources, Payroll, E-Commerce, Imaging, Mathematics, Insurance, Banking, Health,
Sales, Transportation, and Public Works.
Databases
Over
25 years experience with SQL Server, as well as Oracle DB,
DB2, CosmosDB, NoSQL, MongoDB, MySQL and PostgreSQL.
Azure
15
years of building large scaled web applications using Devops Continuous
Integration and Deployment with build/release pipelines, Application Insights, Azure Functions, Azure
Storage, Azure App Service, Key Vault, MSI, Azure API Management, WAF, Service Bus, etc.
Front-end Development
15
years of implementing front-end technologies like HTML,
Bootstrap, Material UI, CSS, jQuery, JavaScript, TypeScript and JavaScript
frameworks such as Angular, React, Vue.js, PHP,
Python when building web applications.
Back-end Development
25 years creating RESTful APIs with C#/VB.NET, .NET CORE, ASP.NET, Web Forms, MVC/MVVM Architect, Web API,
and ORMs such as ADO.NET, Dapper, NHibernate and Entity Framework.
Design Patterns
Understanding of software
design patterns (e.g., Singleton, Factory, Dependency Injection) to create scalable, maintainable, and
modular code.
Agile Methodologies
Experience
working in Agile development environments and using tools like JIRA/Azure DevOps for project management.
DevOps Practices
Understanding DevOps
principles and practices for streamlining development, testing, and
deployment workflows.
Monitoring and Logging:
Familiarity with
monitoring tools (e.g., Application Insights) to track
application performance and diagnose issues.
Security Best Practices
Awareness of best
practices, including input validation, data encryption, and
protection against common security vulnerabilities (SQL injection, cross-site scripting, etc.).
Authentication and Authorization
Proficient
in implementing authentication and authorization mechanisms
using technologies like OAuth, OpenID Connect, and JWT.
Performance Optimization
Knowledge of
techniques for optimizing application performance, including code
profiling, caching strategies, and database optimization.
Message Queues
Understanding message queue
systems (e.g., RabbitMQ, Azure Service Bus) for building
asynchronous and distributed systems.
Dependency Injection:
Knowledge of dependency
injection principles and frameworks like
Microsoft.Extensions.DependencyInjection for managing component dependencies.
Version Control:
Expertise using version
control systems like Git for collaborative development and code
management. Unit Testing: Experience writing and executing unit tests using frameworks like MSTest, NUnit,
or
xUnit to ensure code quality and maintainability.
Cloud Platforms
Experience with cloud
platforms like Microsoft Azure or AWS for deploying, scaling, and
managing applications in the cloud.
Microservices Architecture
Familiarity with
designing and building applications using microservices
architecture, including containerization (Docker) and orchestration (Kubernetes).