Senior Software Engineer2019 - 2022NLogic
- Wrote, debugged, and maintained T-SQL server tables and stored procedures required to meet business needs. Also integrated Dapper to the .Net Core data layer project to execute these stored procedures easily.
- Contributed to the architecture design by researching and figuring out the best possible tools for our purpose and creating a POC model on numerous occasions. The tools I recommended include SelectPdf and PrimeNG.
- Integrated SelectPdf to generate pdf reports from ASP.NET Razor views. This was particularly challenging since debugging pdf is next to impossible. Out-of-the-box thinking was necessary to understand and resolve the issues inside the tool.
- Developed a self-guided wizard for creating a dashboard. The front end was done using Angular, and the back end using .Net Core. The database was a SQL server, and T-SQL was used for developing stored procedures.
- Implemented a feature for importing XML files from third-party systems, enabling users to upload a batch of files and fix several validation errors on the fly. An ETL process using Azure durable functions would be triggered for successful uploads.
- Developed the database model for the file import process using SQL Server. T-SQL was used for developing the script for the table structure and stored procedures.
- Rectified a long-evaded production issue by moving away from WCF to the inbuilt HttpClient feature of .NET Core, thus reducing the number of concurrent server-to-server connections. This involved taking advantage of the shared connection pool.
- Integrated ESLint and Prettier to one of our greenfield projects to enforce coding standards and catch potential errors during development. This was also added to the CI process to ensure the code being pushed is of the best possible quality.
- Developed a custom date range control by extending Angular Material datepicker. This was due to the business's specific requirements, which needed certain dates to be blocked for selection.
Software Engineer2012 - 2019Rckr Software
- Headed a team of four junior engineers working on customizing GetReal Health's EMR platform as per the requirements of a particular customer. This work included integrating health information exchange (HIE) and reconciling XML files.
- Oversaw the design, development, and deployment of product features relevant to the customer. This involved continuously communicating with the client to clarify requirements, guiding junior engineers, and reviewing their code.
- Contributed significantly to the complete migration of the product from ASP.NET to Angular/.NET Core/ T-SQL stack. This included hours of research to find out the ideal way to deal with the complex and dynamic structure of the application.
- Added tables, views, indexes, and stored procedures to the SQL Server database and the corresponding T-SQL scripts to the codebase, which were relevant to the enhancement of the product and necessary for integration to third-party systems.
- Incorporated single sign-on using OAuth 2.0 standards in a highly configurable manner. The addition of a new authentication provider was made possible by adding endpoints to a JSON configuration file.
- Developed a messaging feature for patients and providers to interact with each other. This was similar to modern chat applications with live load and notification of new messages without the user reloading the page.
- Created an XSLT for reconciling XML health data accessed from third-party endpoints like Microsoft HealthVault into our custom datatypes. Over 100 data types had a separate structure and needed to be handled individually.
- Integrated Health Information Exchange (HIE) with our core product to facilitate automatic patient onboarding and importing of their health data to our database. SQL server was used for storing the mapping data, and T-SQL was used for scripts.
- Discovered a major security flaw with the existing single sign-on process where a potential hacker could modify the JSON Web Token sent to the back end to impersonate a user. This helped the company securely rectify the issue in time for release.