QR Code

Deowan Faruque Ahamed

Principal Software Engineer | Full-stack .NET Developer

Profile

• Over 12 years of professional software development experience and 20+ years of programming expertise.
• Skilled in all SDLC phases, including analysis, design, development, testing, and implementation of complex software.
• Strong OOP foundation, adhering to SOLID, DRY, and KISS principles for clean, maintainable code.
• Knowledgeable in design patterns such as singleton, repository, dependency injection.
• Proficient in a range of web technologies, including ASP.NET Core, MVC, Web API, Blazor, and React, with hands-on experience in designing and implementing robust web applications.
• Knowledgeable in image processing and computer vision for innovative visual data solutions.
• Skilled in data extraction and transformation from Image, PDF, JSON, CSV and Excel files.
• Active open-source contributor, including significant work on the Serenity platform.

Experience 12+ Years

Principal Software Engineer 2024 - Present
TechnoVista Limited, Dhaka
• Analyzed project requirements, defined task breakdowns, and provided accurate time estimations.
• Delegated tasks effectively, ensuring optimal alignment with team strengths, and managed project timelines to meet deliverables.
• Devised innovative solutions to address complex challenges, driving project success and enhancing team efficiency.
Senior Software Engineer 2018 - 2023
TechnoVista Limited, Dhaka
• Analyzed and translated complex client requirements into scalable technical solutions.
• As a development lead, help juniors understand and perform their tasks.
Software Engineer 2016 - 2017
TechnoVista Limited, Dhaka
• Introduced a new framework (Serenity) in the company which reduces 50% development time.
• Recognized with a performance award for outstanding contributions and exceptional results.
Software Developer 2014 - 2015
Unisoft Systems Limited, Dhaka
• Worked as a development team member of an ERP system.
• Understood business from analysts and developed accordingly.

Education

Bachelor in Computer Science and Engineering (B.Sc. in CSE)
University of Information Technology and Sciences (UITS), Dhaka 2010 - 2014

Projects

1. Integrated Centralized Billing System for Palli Bidyut Samities Mar 2019 - Present

A large-scale billing system. Over 20000 employees from over 500 workspaces will be using the system daily from all over the country. Over 30 million electricity bills will be processed per month by this system. Modules for this system are Electricity Meter Reading by Image Capturing, New Connection Application, Consumer Management, Billing, Collection, and Accounting management system.

Challenges:

  • Initially, the software was developed using the MS SQL server database. But later, the client chooses to use the oracle database. So, a large-scale database migration task is performed. Now the system is working fine with both databases.
  • The software was developed using .NET Framework 4.x. But later, we migrated to .NET 6
  • Since it is a financial system, network security is the priority. So, different network zones (VPN, DMZ) are used for modules. The data synchronization between zones was a challenge.
  • Almost all banks in Bangladesh are connected to this system via VPN. We have to support them in implementing our bill payment API
  • There are legacy data with different shapes for each workspace. We have to migrate them into our system.

Role: Solution Architect & Development Lead
Languages: C#, TypeScript
Tech-Stack: ASP.NET Core MVC, Serenity.is, Dapper, SlikGrid, OpenCV, Chart.js
Databases: Oracle, Redis

Responsibilities:

  • Involved since the project initialization.
  • Collecting requirements and visiting client premises in several locations.
  • Involved in writing Software Requirement Specification (SRS).
  • Designed databases and corresponding user interfaces.
  • Write back-end and front-end validation and business logic.
  • Architecting the solution using the Serenity platform.
  • Write unit test cases for critical business rules.
  • Performed research and development (R&D) for electricity meter readings by capturing meter images. R&D task performed using python and Jupyter Notebook. Later, it converted to java for integration with the android app.
  • Implemented two-factor authentication.
  • Implemented distributed caching using Redis.
  • Deployed the system to the client's data center (about 20 servers) as a distributed system.
  • Developed a server management tool to deploy the published application files to the servers using SSH and SCP.

2. Port Automation System Jul 2016 - Mar 2018

This is a complete sea-port automation system used at Mongla Port. Modules for this system are Container Yard, Transit Shed, and Port Billing, etc. Integration with ASYCUDA through IGM.

Challenges:

  • The port business is a new domain for us. We have to study a lot to understand the requirements.
  • Visual representation of the port yard and locating the cargo inside the port was a challenge.
  • The users did not have much IT knowledge to operate the system. So, implementation was another challenge.

Role: Analyst & Development Lead
Languages: C#, TypeScript
Tech-Stack: ASP.NET MVC, Serenity.is, Dapper, SlikGrid, Vue.js, WebGL, Babylon.js, Chart.js
Databases: SQL Server

Responsibilities:

  • Designed and developed an end-to-end solution based on the requirements.
  • Developed the visual representation of the port yard using the WebGL library (babylon.js).
  • Integrated google maps to locate incoming and outgoing vessels.
  • Import General Manifest (IGM) XML file importing facility.

3. E-Licensing System Jul 2017 - Feb 2018

Online licensing and approval system for any business entities of Power/Gas/Petroleum Production, Transition, or Distribution Companies

URL: http://elicense.berc.org.bd/

Role: Analyst & Development Lead
Languages: C#, TypeScript
Tech-Stack: ASP.NET MVC, Serenity.is, Vue.js, Chart.js
Databases: SQL Server
4. IATI Import Module Jan 2016 - Jun 2016

This project integrates AIMS Bangladesh with IATI where Development partners publish their data on aid activities through the International Aid Transparency Initiative (IATI). This project's aim is to start using IATI data in Bangladesh's Aid Information Management System (AIMS) and improve the quality of the data held in the AIMS and reduce the burden of data collection.

URL: http://aims.erd.gov.bd/IATIImportSite

Role: Developer
Languages: C#, TypeScript
Tech-Stack: ASP.NET MVC, Entity Framework, Angular.js
Databases: SQL Server, RavenDB
5. Purchase Order PDF Data Extraction Tool May 2022 - May 2023

As part of this project, I designed and developed a tool to simplify the data entry process for purchase orders that are received as PDF files. These PDF files are in different format for each buyer. The tool uses advanced PDF data extraction techniques to automatically extract relevant information from the purchase orders, such as the item name, quantity, unit price, and total cost. This eliminates the need for manual data entry, saving time and reducing errors.

Role: Developer
Languages: C#, TypeScript
Tech-Stack: PdfPig, Tabula, iTextSharp, WPF, ASP.NET Core MVC, Serenity.is, Dapper, SlikGrid, etc.
Databases: SQL Server
6. Single-Sign-On (SSO) User Management Module Mar 2016 - Jun 2016

In this project, I designed and developed a cross-database single-sign-on (SSO) user management module that can be easily integrated with any project. The module provides a secure and efficient way of managing user accounts across multiple applications, with a single set of login credentials. The module was designed to work with a variety of databases, making it highly flexible and customizable. The end result was a robust, scalable and user-friendly module that improved user management and provided a seamless user experience.

Role: Developer
Languages: C#, TypeScript
Tech-Stack: ASP.NET MVC, Serenity.is, Vue.js
Databases: Cross Database (SQL Server/Oracle/MySQL etc.)
7. Warehouse and Inventory Management System (WIMS) Jan 2016 - Jun 2016

Enhancing WIMS by adding new features like: Automatic item re-order and requisition system, item issue trend analysis; Real-time integration WIMS-LMS (Loyalty Management System) a gift distribution system of Banglalink through WCF service

Role: Developer
Languages: C#, JavaScript
Tech-Stack: ASP.NET Web Forms, WCF
Databases: Oracle
8. UniERP Business Solutions Nov 2014 - Dec 2015

A solution to all business needs including Finances, Human resources, Manufacturing, Supply chain and etc.

Role: Developer
Languages: C#, JavaScript
Tech-Stack: ASP.NET WebForms, Entity Framework, Crystal Reports
Databases: SQL Server/Oracle
9. Restricted Logon System Aug 2013 - Nov 2014

Security software that can restrict employees to do unauthorized access of apps and websites, monitor employees’ activity and send screenshots to the server, remotely change the employees’ privileges. It also provides file sharing and chatting facility.

Role: Analyst & Development Lead
Languages: C#
Tech-Stack: .NET Framework, WinForms and WPF
Databases: My SQL
Features: The features are applicable to a specific user or group of users.
  • Block Applications– Users can run only those apps that are assigned to them and all others apps are blocked. So, they cannot waste their office time by playing games or watching movies.
  • Block websites– This feature helps you to block the specific websites that are used to pass time such as Facebook and Twitter etc.
  • Prevent access to specific hard disk drives– Users can only access those disk drives that are assigned to them. If a user has only d: and f: drives then he can only access these drives.
  • Restrict from using USB drive/Pen drive/CD-DVD drive– USB drives are used to transfer files from one PC to another PC. Prevent using these drives; you can save valuable data/files.
  • Automatically capture screenshots and send them to the server– this software capture screenshots of the specific apps at a specific interval and send them to the server. You can see these screenshots whenever you want.
  • File transferring/sharing– it is easy to transfer files using this software, you have to select a file. The file is automatically uploaded to the server and at the receiver’s PC, it is automatically downloaded.
  • Chatting– The users can send messages instantly. Supports private and public chat.
  • Protects from viruses– Since this software blocks all unnecessary apps including viruses, so you do not need an antivirus.

Hobby and Educational Projects

Since my school life, I have developed some applications with my own interest. Here are some notable mentions.

1. Quran PWA Feb 2024 - May 2014
Developed an offline-accessible Progressive Web App (PWA) to provide access to the Holy Quran using modern web technologies. Integrated Quranic Arabic texts, translations, tafsirs, and recitations sourced from diverse references. Users can conveniently navigate through the Quranic text based on various partitions such as Sura, Juz, Ruku, and more within the application.
URL: https://quranpwa.github.io
Technologies: HTML, CSS, Typescript, React.js, Bootstrap 5, Vite, PWA
2. English to Bangla Machine Translator Jan 2012 - Jan 2014
In this project, I developed a rule-based English to Bangla machine translation system. The system is designed to translate English text into Bangla using a set of rules and algorithms that analyze the grammar and syntax of the English text to produce accurate translations. The system is integrated with a user-friendly interface that allows users to enter the English text they want to translate and receive the translated text in Bangla
Technologies: .Net Framework 3.5, C#, MS SQL Server
3. Quran Study Tool Jan 2012 - Dec 2012
This tool can be used to read, listen, and search the Holy Quran in different languages (Arabic, Bengali, English).
Technologies: .Net Framework 3.5, C#, Access Database, HTML, CSS, JavaScript, and Web Browser control
4. Santali Keyboard Layout Jan 2012 - Dec 2012
Using this tool one can type Santali (Santali is a language).
Technologies: .Net Framework 3.0, C#, Windows API
5. English, Bengali Dictionary Jan 2011 - Dec 2011
Using this tool one can search for the meaning of English and Bengali words.
Technologies: .Net Framework 3.0, C#, MS Access Database
6. Virus (clever 9) and Antivirus Jan 2009 - Dec 2009
This program is able to spread out from PC to PC via a USB disk and delete your files without your awareness. It can disable windows task manager, registry editor, group policy, etc. To prevent this virus from attacking antivirus software has also been developed.
Technologies: Visual Basic 6
7. USB Disk Cleaner Jan 2008 - Dec 2009
This is a USB Disk Cleaner tool that helps to prevent the spread of viruses and other malicious executables from USB disks. The tool was designed to scan USB disks for any malicious files and safely remove them before they can infect the user's computer.
Technologies: Visual Basic 6
8. Bangla & English Speed Type Jan 2008 - Dec 2009
The application is designed to provide users with a fun and interactive way to practice typing, with a variety of exercises and games that are tailored to their skill level.
Technologies: Visual Basic 6
9. PC Cleaner Jan 2007 - Dec 2009
In this project, I developed a PC Cleaner tool that helps to free up space on a user's computer by removing unnecessary temporary files. The tool was designed to be user-friendly and easy to use, with a simple interface that allows users to select the files they want to delete. The tool scans the user's computer for temporary files that are no longer needed, such as cache files, log files, and temporary internet files, and safely deletes them.
Technologies: Visual Basic 6

Open-source contributions

1. Serenity Platform

Serenity is an ASP.NET Core / TypeScript application platform designed to simplify and shorten the development of data-centric business applications with a service-based architecture. It aims to make development easier while reducing maintenance costs by avoiding boiler-plate code, reducing the time spent on repetitive tasks and applying best software design practices.

Contributions:
  • Added support for the oracle database
  • Enhanced code generation
  • Added method overloads for Sql Sum, Avg, Min, Max etc. which takes IField as parameter
  • AutoParam consistent after cloning SqlQuery
  • Added ForJson SqlQuery method similar to ForXml method
  • Handled tabs with empty captions in the generated form
  • Added selectedItem getter in Select2Editor
  • Tab title localization in forms
  • Added Bengali localization
  • Giving a hint to fix the "Specified cast is not valid." exception
  • Some minor changes such as look and feel, small bug fixes

2. Fluent Migrator

Fluent Migrator is a migration framework for .NET Migrations are a structured way to alter your database schema and are an alternative to creating lots of sql scripts that have to be run manually by every developer involved. Migrations solve the problem of evolving a database schema for multiple databases (for example, the developer's local database, the test database and the production database). Database schema changes are described in classes written in C# that can be checked into a version control system.

Contributions:
  • Oracle 12C supports object name max length = 128

3. Serenity.Extra

It has some extra features on top of the Serenity Platform, such as audit logging, theming, reporting, grid data inline editing, and some useful utilities.

Contributions:
  • This repository and NuGet package are being maintained by me

An unhandled error has occurred. Reload 🗙