Full-stack Developer (C#/Angular)2019 - PRESENTCustomer Priority Service
Technologies: Amazon Web Services (AWS), Bootstrap, CSS3, HTML5, AWS Data Pipeline Service, DevOps, Azure, Integration, Deployment, SQL Server 2016, C#, TypeScript, AWS, Angular, ASP.NET Core
- Set up and used CI/CD by using Azure DevOps, Azure (development stage), and AWS (production stage).
- Migrated a legacy application which had been written by VB.NET to ASP.NET Core Web API.
- Implemented a legacy service without having any documentation (as the service support has been discontinued).
- Performed R&D on a custom statistics system that helps the company to plan future releases based on client requirements.
- Implemented the front end using Angular 7, TypeScript 3, HTML5, and CSS3.
Software Developer2017 - 2018A Job Board for Freelance Work
Technologies: SQL Server 2016, jQuery, CSS3, HTML5, AngularJS, NUnit, Moq, Autofac, SOA, Domain-driven Design (DDD), Model View Viewmodel (MVVM), Web, Core, NHibernate, Server Architecture, Windows Presentation Foundation (WPF), TFS, Git, ASP.NET Core 2, C#
- Set up and used CI/CD with TFS.
- Considered many security topics such as obfuscating T-SQL while NHibernate Core was used for its ORM.
- Evaluated cracking methods and tried to prevent software cracking as might as possible.
- Worked with hardware APIs like scales, scanners, mini printers, mini pcs, and swipe machines.
- Utilized .NET Core 2.0 for the website, .NET standard for all of the libraries, the Web API 2.2, and an OWIN self-host for a local service.
Software Developer2015 - 2017Taba Tejarat Ltd
Technologies: SQL Server 2016, jQuery, CSS3, HTML5, AngularJS, xUnit, Moq, Autofac, Model View Viewmodel (MVVM), NServiceBus, RabbitMQ, Web API, Dapper, Entity Framework, Server Architecture, Multithreading, TPL, Windows Presentation Foundation (WPF), Windows Services, ASP.NET MVC, C#
- Improved the performance of stored procedures by reviewing and optimizing queries and using SQL CLR in some cases that were related to strings.
- Removed indexes by using index tuning and index partitioning and managed un-used indexes that may impact on performance.
- Utilized the Entity framework for merge and bulk insert operations by implementing some extension methods to it.
- Improved the performance for fetches by using second level caching and disabling tracking in EF.
- Wrote some extensions for EF to reduce the number of locks and wait times in SQL Server for the cases that uncommitted reading was possible.
- Implemented a generic light cache level with minimum locking that managed its items automatically to reduce direct requests to the database.
- Upgraded a WPF application to MVVM and used async operation in reporting sections.
- Moved a worker queue from an internal structure to NServiceBus and RabbitMQ.
- Implemented an intelligence task scheduler rather than a default task scheduler so that it would perform tasks according to their processing time.
- Reduced app threads from 546 to 163 which reduced the cost of thread creation and switching.
- Utilized object pools which reduced the number of collections and trained the second generation collection of GC to be run in longer periods.
Senior Back-end Developer2015 - 2015Dade Pezhohan Bartar Ltd
Technologies: SQL Server 2014, Web API 2, Entity Framework, Server Architecture, Multithreading, Windows Services, TFS, ASP.NET MVC, C#
- Analyzed and implemented a POS management by utilizing Scrum framework and TDD.
- Implemented R&D for processing some large data files which were updating continuously by using concurrent/parallel methods.
- Installed an ASP.NET Web API 2.0 (token base) for delivering analyzed data to clients.
Back-end Developer2012 - 2015Dusan Ltd
Technologies: CSS3, HTML5, SQL Server 2008, Windows Presentation Foundation (WPF), Web API, Model View Controller (MVC), Single-page Applications (SPA), SignalR, Ajax, jQuery, Entity Framework, ADO.NET, TFS, Architecture, C#
- Implemented a SignalR app to push notifications to clients.
- Wrote automated performance and unit tests for projects.
- Developed a management system by using WPF, Web API, and asynchronous programming.
- Reviewed teammates' code and helped them on their tasks.
Software Developer2010 - 2012Pars Eram Ltd
Technologies: SQL Server 2008, Web Forms, Ajax, LINQ to SQL, ADO.NET, Subversion (SVN), Architecture, C#
- Implemented a CMS by using C#, ADO.NET, 3 layer architecture, and SQL Server.
- Developed a website for an artist to introduce himself by using C#, ADO.NET, 3 layer architecture, and jQuery.
- Constructed an SMS portal for an SMS services provider by using C#, Ajax, ADO.NET, web services, N-layer architecture, and SQL Server jobs.
- Taught web services and technologies like LINQ and 3-layer architecture in .NET 3.5 to colleagues.