Ashiq Alibhai

Ashiq Alibhai

$80/hr
Backend and full-stack web and API developer, specializing in .NET technologies and test automation.
Reply rate:
-
Availability:
Full-time (40 hrs/wk)
Location:
Mississauga, Ontario, Canada
Experience:
17 years
​ Ashiq Alibhai - ​Summary Agile and TDD developer with 15+ years of experience developing software for individuals, small companies, and enterprises (including Oracle, Seagate, and OpenText). Game developer and game development enthusiast since age eight. Polyglot with both breadth of programming languages and tools and depth in .NET technologies and Java. Particularly skilled and experienced with test automation (unit, integration/functional, and system testing). ​Technical Skills ●​ Languages: C# (.NET 2.0-4.x, 5.0-8.0), Java, JavaScript, Typescript, Python, C/C++, SQL, HTML ●​ Frameworks: MudBlazor, NUnit, xUnit, Moq, NSubstitute, Spring, Spring Boot, JUnit, Mockito, Lombok, Guava ●​ Tools: Visual Studio 2010+, IntelliJ IDEA, Visual Studio Code, Eclipse, Postman, SonarQube, Docker, JIRA, Trello, Git/Github, Gradle, Maven, SSMS ●​ Databases: SQL Server, MongoDB, DynamoDB, MySQL, PostgreSQL, Oracle, SQLite ●​ Web Technologies: Spring MVC, WCF, ServiceStack, .NET Core MVC, ASP.NET MVC, React, Angular, jQuery, Node.js, OAuth2, SAML, SSL/TLS, certificate authentication, BCrypt, JWT ●​ Messaging: RabbitMQ ●​ Cloud Platforms: AWS (DynamoDB, Lambda, API Gateway, CloudWatch, SES), Azure (functions, KeyVault, deployment, users and roles) ●​ Methodologies: Agile (Scrum, Extreme Programming), SDLC ●​ CI/CD: Jenkins, Hudson, GitHub Workflow, TravisCI, Cruise Control .NET, Azure DevOps ​Professional Experience Technical Lead at Transport Canada, Ottawa (Remote) (Contract)​ March 2023 to December 2024​ Environment: .NET 8, .NET Framework 4.7.2, MudBlazor, Blazor, Razor, SQL Server, NoSQL storage, Azure DevOps, Azure, Git, Visual Studio 2022, SonarQube, Playwright, SpecFlow, NUnit, xUnit ●​ Led a team of 3-4 developers (ranging from co-op students to senior developers) in full-stack web development (MudBlazor front-end, .NET 8 back-end, with SQL Server and NoSQL storage). ●​ Drove adoption of unit testing, raising baseline from 29% to 49% coverage, including writing positive and negative unit tests for all new development work ●​ Introduced and drove the adoption of end-to-end test automation as a regular development practice ●​ Introduced and drove the adoption of SpecFlow, a user-focused tool for writing and maintaining end-to-end tests. Mentored and trained other developers, QAs, and non-technical team lead on writing, troubleshooting, and maintaining clean, robust tests. ●​ Conducted technology proof-of-concepts for end-to-end, browser-based rendering and testing via Playwright and SpecFlow ●​ Introduced and drove adoption of SonarQube, including: a process for developers to regularly measure and fix code pre-commit to avoid increasing code smells or security vulnerabilities; regular review, triage, and prioritization of existing defects; working with the team lead and product owner to understand issues, and get buy-in to fix them as part of our sprints. ●​ Used Powershell to write scripts for build pipeline automation and SonarQube analysis ●​ Worked to implement and maintain applications with Azure services: functions, KeyVaults, authentication and authorization via ActiveDirectory and user groups, networking, build integration, and segregation of code into isolated environments. ​ Ashiq Alibhai - ●​ Worked with the team and team leads to ensure regular security updates to third-party packages, to mitigate potential security risks. ●​ Created, maintained, prioritized, estimated, and managed technical investment backlog. Worked with appropriate stakeholders (team lead, product owner, manager) to get work prioritized and included in sprints ●​ Designed release strategy, which was instrumental for hitting 1.0 release. Included scope management, defects prioritization, branching strategy, and bug-fixing strategy. Shipped twelve releases on time, with defects fixed or deferred, and high quality code. ●​ Worked with team lead and product owner to write, prioritize, and estimate stories and defects ●​ Introduced several improvements in the Azure DevOps build pipeline, including: NuGet caching (reduced build time by ~25%), artifact publishing for Playwright screenshots from test failures, troubleshooting and fixing flaky tests, incorporating build checks, and more. ●​ Converted build from Windows-only to run on Windows and Linux (Ubuntu) build nodes ●​ Introduced Health Check page which provides quick and simple red/green reporting for complex issues that are difficult to triage and remediate, such as missing database data, and third-party dependency API statuses. ●​ Designed, implemented, maintained, and bug-fixed the main application: MudBlazor components and Blazor on the front-end, .NET 6.0-8.0 and SQL Server (ADO.NET and internal APIs) on the back-end across several releases. ●​ Integrated with Azure Authentication and Graph API to fetch and cache user details on login. ●​ Designed, implemented, maintained, and bug-fixed secondary cron-based application; it consumes web-services, and sends emails to internal users when business rules are met. .NET 8 in the middle, with SQL Server and WebClient on the back-end. ●​ Configured cron-application for QA, user-acceptance, and prod environments in Azure ●​ Created and configured Azure group to control permissions to internal-only parts of application ●​ Optimized build pipeline (end-to-end test run) from 8 minutes to 5.5 minutes ●​ Updated build pipeline to enable re-running of flaky tests automatically, eliminating the need for developers to re-run builds 1-7 times per change. ​ Team Lead and Senior Software Engineer at Phreesia (Remote)​ November 2021 to March 2023​ Environment: .NET Framework, Azure, Git, BitBucket/Stash, Bamboo, Visual Studio 2019, JIRA, FHIR ●​ Designed and implemented a web-aware application which responds to patient search/import queries and round-tripped data from a remote Azure web-service; wrote unit and integration tests. ●​ Designed and implemented integration middleware which maps data from FHIR resources to company-specific data structures; middleware provides an abstraction that simplifies consuming FHIR RESTful services, and maps responses to complex objects which are distributed across databases and caches. ●​ Designed, implemented, and supported integration extension which leverages middleware and provides two-way communication between Phreesia SaaS web application and healthcare/PM system (via FHIR); implemented requirements, unit and integration test, and demoed completed work to QA and product management. Web API Developer and DevOps at OpenText (formerly Carbonite, Seagate, and EVault), Oakville, ON and Remote (2020+)​ September 2011 to November 2021​ Environment: .NET Framework and Core, ASP.NET Core, WCF, ServiceStack, IIS7, vSphere, SQL Server-, Visual Studio-, PowerShell, C#, Entity Framework, LINQ-to-SQL, Dapper, NUnit, Moq, Angular, React, jQuery, NodeJS, Jenkins, CruiseControl.NET, Git, GitHub, Perforce, JIRA, OAuth2, Checkmarx ​ Ashiq Alibhai - ●​ Designed internal API for Ops consumption, using ASP.NET Core. API relies on basic authentication and runs complex reporting queries, which generates alerts. Worked with Ops teams and product management to identify, document, and implement requirements. ●​ Designed and implemented internal tool for bulk-testing scalability of internal load-balancer tool in .NET Core. Implemented build pipeline in PowerShell which interfaced with vSphere to dynamically spin up and tear down VMs for testing. ●​ Designed, implemented, and troubleshooted features for distributed on-prem and SaaS web application spanning 14+ systems in production using SAML, OAuth2, and Forms authentication. ●​ Jointly developed and maintained SOAP and REST APIs (including system testing) for UI through several release cycles, leveraging existing (shared) business-domain and database-persistence layers ●​ Participate in production deployments, operational support, and customer-development escalations ●​ Designed and implemented RESTful API in ServiceStack and SQL Server, using onion and N-tier architectures. API supports PowerShell cmdlets and JSON, and uses Entity Framework and LINQ-to-SQL for persistence to SQL Server database. ●​ Fixed performance regression issues blocking release; optimized multiple API calls to cut runtime by 40-90% by restructuring code and optimizing bottlenecks in database access. ●​ Ran and maintained extensive functional/system integration test suite which touched 10-20 VMs ●​ Responsible for interviewing, training, mentoring, and ramping up several on-site and remote team members (contractors, full-time developers, and co-op students). ●​ Discovered and implemented complex, lost business requirements necessary for billing project, which resulted in re-signing deal with one of our largest partners; integrated solution, which combines relational database with data warehouses ●​ Introduced Karma for unit-testing new Angular code, which development teams adopted ●​ Invented and implemented a solution which allowed developers and QA to easily identify which strings in our application were not translated; crafted script to automate bundling of resource files for localization. ●​ Supported multiple teams in resolving cross-team and cross-product issues; regular presenter at demos ●​ Implemented database caching infrastructure for RESTful API with configurable cache times per type ●​ Co-lead for experimental C#, WCF, SOAP API microservice project through six releases in production to create stand-alone data usage and machine health services; deployed on 1500+ machines in production ●​ Wrote and optimized search queries on tables with 30M+ records; cut query time from 90s to 1500ms ●​ Centralized access checking in legacy C# WCF-based SOAP API during support of homogenous multi-user and multi-tenant release for SaaS product ●​ Transitioned, maintained, and extended multiple builds for teams from CruiseControl.NET to Jenkins ●​ Researched and procured monitoring software to cut system-test maintenance cost for team by 60% ●​ Go-to person for complex multi-project and multi-pipeline Jenkins builds for the APIs; wrote Jenkinsfile scripts, designed and wrote PowerShell scripts to bootstrap build environment, integrated code-coverage and security reports. ●​ Participated in code reviews, design discussions, and training/mentoring of other developers. ●​ Lead maintainer, organizer, and champion for technical debt in our legacy codebase. Wrote stories, prioritized and coordinated with teams, and negotiated with product and development managers to get technical debt stories into sprints. ●​ Supported organizational transition to Git as one of the git experts ●​ Independently researched and presented “brown bag” tech workshops to team on TDD, WebAssembly, and AI (genetic algorithms and genetic programming) ●​ Occasional scrum-master tasked with running daily scrums and sprint retrospectives. Fullstack Developer at Carbonite from- ●​ Implemented and tested full-stack requirements from database and RESTful API to front-end UI components written in jQuery, Angular, and ReactJS ●​ Implemented and pushed infrastructure for writing Javascript-based unit tests in Angular, which resulted in a substantial (and growing) set of front-end tests ​ Ashiq Alibhai - ●​ Played a key role in design, implementation, and testing of the web side of a project to create an automatic updater similar to Windows Update. Worked on full-stack UI and REST APIs to create and release updates to 10,000 agents, including performance/caching and version management. ●​ Architected, designed, and implemented simplified tech stack proof-of-concept with React and WebAPI during hackathon in order to eliminate build complexity between web application components Security Champion at Carbonite from- ●​ ●​ ●​ ●​ ●​ ●​ ●​ ●​ Security champion for two years. Worked with CSO to instate policies and procedures Implemented and maintained builds and reports for static analysis scans of web application Collected and rated security defects using CVVS v3, working with teams to understand issues Worked with product management to prioritize and triage security issues Worked with development teams to understand and implement fixes for security issues Coordinated test environments for pen-testers. Worked with pen-testers to convert reports into actionable security issue stories/defects Created inter-system threat model spanning 30-40 sub-systems and inventory of accounts (PII and inter-system communication channels) for GDPR compliance .NET Developer at McMaster University, Hamilton, ON (Contract)​ May 2011 to September 2011​ Environment: C# 4.0, Visual Studio 2010, Javascript, DevExpress, ASP.NET, PHP 5, MySQL 5 ●​ Independently managed and migrated customer-facing student management portal from legacy Access application to ASP.NET application; delivered project three weeks ahead of schedule. Customer ecstatic. ●​ Work with customers to identify and prioritize changes. Work as PM to break down, prioritize, and implement work. ●​ Spike, triage, fix, maintain, and troubleshoot existing legacy web-based applications. Development Team Lead at Healthscreen Solutions, Toronto, ON​ October 2010 to April 2011​ Environment: Java 6, Eclipse Helios, JEE, JUnit, Maven, Hudson, Hibernate 3, Spring, Nunit, MySQL 5.0, Tomcat, Delphi, DUnit, JIRA, HL7, Mirth Connect ●​ Tasked to resolve several inexplicable, long-standing complaints about medication data. Identified and fixed several issues to resolve several customer complaints; determined source for accurate information. ●​ Initiated and delivered a solution to notify doctors of product and data and application updates. ●​ Independently developed and managed J2SE project for processing of patient medical data via HL7; one of the few projects with heavy unit testing. Used Spring and Hibernate (with JPA) for persistence. ●​ Mentored junior developer and reviewed his code. CRM and Social CRM Developer at Oracle Canada, Markham, ON​ August 2007 to October 2010​ Environment: Java 6, JEE, C++, Visual Studio 2003 Jdeveloper, Rational ClearCase, BEA Weblogic, OC4j, OAS, JUnit 4.4, Adobe Flex 3, Oracle 11g, Cruise Control, JSP, AJAX, Javascript , Servlets, Apache Faces ●​ Worked on three international “SWAT” teams cobbled together to complete three strategic, new, Social CRM projects for CEO under fixed deadlines. Utilized Flex front-end and JEE/JPA for back-end. ●​ Authored centralized authentication library to support production workflows; three teams adopted it. ●​ Presented benefits and application of test-driven development to team; mentored team members. ●​ Part of one of two teams for CRM JEE application that met release targets for schedule and quality ●​ Participated, promoted, and encouraged use of agile processes during company transition to agile ●​ Worked across teams to rapidly identify and fix show-stopper defect for release in shared JEE libraries ​ Ashiq Alibhai - ●​ Upgraded Oracle proprietary JEE test-suite manager to support inter-test and inter-suite dependencies .NET Web Developer at Aareas Interactive, North York, ON January 2007 to August 2007​ Environment: C# 3.5, ASP.NET 3.5, Active Reports, Telerik Controls, Visual Studio 2005, Visual Source Safe, IIS 7, RM Track ●​ Created and maintained reports to fulfill customer requests by writing T-SQL queries that connect more than 20 tables; optimized slow reports to cut report generation from over two minutes to 45 seconds. ●​ Instigated use of master pages in ASP.NET application to promote consistent UI across all report pages ●​ Created in-page testing framework in ASP.NET and wrote tests to identify over 4000 instances of corrupted denormalized data in several tables. ASP.NET/Flash Developer at Printing Circles, Mississauga, ON (Contract)​ May 2006 to September 2006​ Environment: C# 2.0, Macromedia Flash 8, Visual Studio 2005, ASP.NET 2.0, Javascript, ABCpdf, IIS6 ●​ ●​ ●​ ●​ Work independently to add features and fix bugs on Flash application, along with ASP.NET integration Refactored monolithic 3000-line class into 6 related classes Introduced assertions, pre-conditions, and post-conditions to quickly identify errors Added rudimentary error-handling to improve application robustness ​Personal Projects Founder, Project Manager, and Team Lead at Independent Game Studio, Mississauga, ON​ January 2010 to Present​ Environment: Visual Studio-, Visual Studio Code, C#, .NET Core, .NET Framework, React, MongoDB, ASP.NET Core, Java, IntelliJ, PostgresQL, MongoDB, Spring Boot, React, WebPack, Jest, TypeScript, SonarQube, AWS, DynamoDB, AWS Lambda, AWS API Gateway, AWS EventBridge, Android SDK,Unity, Godot, Haxe, Ruboto, PhoneGap, Javascript, Coffeescript, QUnit, Python, Ruby ●​ Led virtual teams ranging from one to four developers to complete and ship 10+ titles with durations ranging from weeks to months. Managed product backlog and prioritization, mentored junior developers, reviewed code, wrote and maintained unit tests. ●​ Created and maintained Java Spring Boot web-application with microservices architecture, OAuth2 authentication, and REST APIs for service-to-service communication. Utilized MongoDB and PostgresQL for back-end services storage, with ThymeLeaf for UI rendering. ●​ Developed proof-of-concept AWS-centric web-application, which uses ASP.NET Core Web API for public APIs via Lambda and API Gateway, React for the front-end, DynamoDB for NoSQL data storage, and EventBridge for back-end cron tasks. ●​ Built ASP.NET Core application with React front-end (TypeScript) and MongoDB back-end. Uses JWT tokens with local storage for authentication, and MongoDB migrations. ●​ Created web services to allow cross-platform integration of games with achievements; persists in MySQL database, integrates with Facebook API, and allows Silverlight game to trigger API calls ●​ Released Android educational game; clocked in 17k users and 100k sessions over 18 months ●​ Released several games for web (HTML5/Javascript and Flash), mobile (Android), and desktop; developed with Javascript. ●​ Shipped Ruby game for Linux with low-level display console library; profiled bottleneck, wrote unit tests ●​ Created console-based game in Java with Eclipse/Gradle and entity-component architecture ●​ Designed and released reusable libraries (including source), including A* path-finding, normally-distributed random number generation, persistent storage in .NET (and Silverlight) ​ Ashiq Alibhai - ●​ Designed and implemented genetic programming framework in .NET Core, which allows consumers to easily write genetic programs. Crafted a novel dungeon generation algorithm with it. ●​ Created Python transpiler using Lark to convert Python to intermediate language (Haxe) ●​ Developed several cross-platform game developed tools with Ruby and C#. Implemented entity-component system and used onion architecture to maximize unit-testable code. Architect and Developer at Open Source Projects, Mississauga, ON​ April 2011 to Present​ Environment: WebAPI, Visual Studio Code, Java, Spring Boot, Gradle, Ruby, PouchDB, JRuby, Postgres, Eclipse Kepler, SQL Server, ASP.NET MVC3, Nunit, Ninject, jQuery, Javascript, dotLess, Dapper, HtmlUnit, Elmah, MigratorDotNet, Google Visualization, OAUth2 ●​ Developed WebAPI application with Chrome extension front-end for web tracking and monitoring. Client-side was Javascript with Chrome APIs that sent data to the back-end. ●​ Shipped crowd-sourcing platform in ASP.NET MVC3 and jQuery, with focus on front-end usability and back-end test automation via Nunit and HtmlUnit; used Dapper for ORM on top of SQL Server 2010 ●​ Shipped small-scale game analytics website in MVC4 with two public APIs. Leveraged Google Visualization for graphs; created and integrated .NET client with Ruby game ●​ Created open-source, API-driven search engine in Spring MVC and JDBC, with distributed web crawler ●​ Prototyped NoSQL embedded database in C#; combines in-memory caching with persistence ●​ Created SaaS blogging platform in ASP.NET MVC with pluggable and skinnable architecture ●​ Added integration testing to back-end microservice API for Java Spring Boot web application ●​ Prototyped cross-platform Ruby game engine with pluggable back-ends for web, desktop, and mobile. Used OpalRB to link Ruby to Javascript library, JRuby to link Ruby to Java library; packaged in Ruboto for Android devices ​Education Honours Bachelors of Science from the University of Toronto, Canada ●​ Graduated with an Honors Bachelor of Science degree with a double major in Computer Science and Communications Culture and Information Technology (CCIT), and a minor in Professional Writing ●​ Maintained good academic standing throughout undergrad studies; cumulative GPA of 2.78 and final year GPA of 3.58. ●​ Enjoyed courses in Software Engineering, Data Structures and Algorithms, Programming Languages ​Awards and Achievements ●​ ●​ ●​ ●​ ●​ ●​ ●​ ●​ ●​ ●​ Skilled working fully remote with small and large teams (since 2010, professionally since 2020) 10+ recommendations on LinkedIn, including several from prior managers Security clearance: Reliability Status,- Project Management Professional (PMP®), 2010+ ICNA Relief Scholarship, 2006 University of Toronto at Mississauga Appreciation Award, 2005 Mississauga Youth Leadership Committee Participation Award, 2004 Canada Millennium Scholarship,- Most Promising Senior Writer Award, 2002 OAC English Writing Award, 2002
Get your freelancer profile up and running. View the step by step guide to set up a freelancer profile so you can land your dream job.