M. Tahsin Anwar, Developer in Dhaka, Dhaka Division, Bangladesh
M. is available for hire
Hire M.

M. Tahsin Anwar

Verified Expert  in Engineering

Back-end Developer

Location
Dhaka, Dhaka Division, Bangladesh
Toptal Member Since
March 31, 2022

Tahsin has six years of experience in the back end, data-driven development using Jakarta EE, Node.js, and JavaScript, covering modern frameworks like Spring, Hibernate, Express, RDBMS, and NoSQL. He has a deep understanding of clean coding principles and best practices. He's also confident in making expected contributions to any software-related field and is vastly experienced in training other developers. Tahsin is also an eager learner and can adapt to any new technology quickly.

Portfolio

Gartner - Engineering
Java, JavaScript, Spring, Agile, React, Hibernate, REST APIs, Back-end, Jenkins...
Sage Publishing - Main
Node.js, GitHub API, Web Search, DigitalOcean
Wise Pelican
Node.js, NoSQL, Parse, Express.js, TypeScript, REST APIs, Cron, JavaScript, Git...

Experience

Availability

Part-time

Preferred Environment

IntelliJ IDEA, Linux, Slack

The most amazing...

...module I've developed is a reporting tool named Event Summary Reporting, the most frequently used report-generating module in the US DIDD industry.

Work Experience

Software Engineer

2022 - PRESENT
Gartner - Engineering
  • Developed share and comment features among team members for research documents or webinars. Integrated share functionality with publishing notifications using AWS Lambda.
  • Developed a profile alert feature to indicate whether someone has an incomplete or backdated profile.
  • Worked on Oracle to PG Migration for the owned APIs. Dealt with each related phase, like DB tables' migration, integrating multiple data sources in a single Spring Boot project, code changes, etc.
  • Improved an in-house data analytics framework to support capturing users' events on demand.
  • Improved the 'My Activity' feature to support sub-types.
  • Performed Spring/JDK Upgradation to the latest in existing microservices.
  • Fixed WhiteHat Security Vulnerabilities for back-end and front-end apps.
  • Held tech sessions among team members regarding advanced topics related to Spring/Hibernate. Also, guided junior developers while facing any back-end-related issues.
Technologies: Java, JavaScript, Spring, Agile, React, Hibernate, REST APIs, Back-end, Jenkins, Kubernetes, CI/CD Pipelines, Oracle, PostgreSQL, Jira

Back-end Developer

2022 - 2023
Sage Publishing - Main
  • Developed an app from scratch to schedule a crawler that saves important information of the public GitHub repositories for one week, created 60 days before, found through GitHub Search API.
  • Integrated an existing production database with our project, maintaining abstraction by using APIs to create/update data in production. Also, maintained a local database at the same time.
  • Deployed and hosted the developed project to DigitalOcean independently.
Technologies: Node.js, GitHub API, Web Search, DigitalOcean

Back-end Developer

2022 - 2022
Wise Pelican
  • Developed APIs using Node.js, Express, and TypeScript by which the client's company can store their site's agent info and their real estate properties (i.e., which they are trying to sell) through calling MLS APIs.
  • Developed two cron schedulers that look for updates in the existing agent information and their new property listings, respectively.
  • Pushed notifications to another endpoint when a new property listing has been encountered.
Technologies: Node.js, NoSQL, Parse, Express.js, TypeScript, REST APIs, Cron, JavaScript, Git, JSON Web Tokens (JWT), Domain-driven Design (DDD), JSON, Back-end, APIs, Architecture, API Integration, Task Analysis

Software Developer

2022 - 2022
E6 Data
  • Created an AWS Lambda function, GCP function, and an Azure function in Java that can crawl over all the databases (DB) available in the client's Hive/Glue/Purview meta-store and saved necessary table/column information in a local database.
  • Created another modular Lambda function which is invoked by the central crawler multiple times (i.e., equals to the number of tables found) asynchronously in order to reduce the execution time/cost.
  • Developed a validator JAR which acts as a coordinator between multiple AWS/other cloud instances. It managed the registration of an instance upon validating the maximum instance limit. Also, it removed the unreachable instances through heartbeats.
  • Obfuscated the assigned projects using ProGuard so that the JAR file would be very difficult to decrypt.
Technologies: Java, JDBC, AWS Lambda, Amazon S3 (AWS S3), SQL, Hibernate, AWS Glue, Apache Maven, Agile, Microservices, Google Cloud Platform (GCP), Multithreading, Spring Boot, REST APIs, RDBMS, JavaScript, MySQL, Git, JSON, Back-end, APIs, Architecture, API Integration, Code Review, Task Analysis

Full-stack Developer

2020 - 2022
Freelance
  • Implemented a full-fledged eCommerce platform using Node.js, Express, MongoDB. and React for a client. Project info, demo code and a staging URL can be found in the Portfolio Projects section.
  • Implemented a back-end API for a boot camp directory website using Node.js, Express, and MongoDB. Project info, demo code and a staging URL can be found in the Portfolio Projects section.
  • Implemented an in-house task manager API using Node.js, Express, and MongoDB so that one of my client's team members can keep track of their to-do tasks. Project info, demo code, and a staging URL can be found in the Portfolio Projects section.
Technologies: Node.js, MongoDB, Express.js, Mongoose, Redux, NoSQL, JSON Web Tokens (JWT), PayPal API, JavaScript, ECMAScript (ES6), REST APIs, Git, JSON, Back-end, APIs, API Integration, Task Analysis

Software Engineer II

2020 - 2022
Therap BD
  • Redesigned the behavior module in Java and Spring, the oldest module of Therap, including an existing data migration consisting of 15+ million rows of 15+ years, a new structure, a database schema, and a new UI (analysis, design, and implementation).
  • Implemented a cron job scheduler in Java to dump five files with many fields to California state through SFTP. Wrote complicated queries in an optimized and efficient manner.
  • Built the features of one of our biggest modules in Java used for incident reporting. Migrated some of our modules to the modern Spring framework from legacy frameworks like SimpleFormController. Also, fixed simple and complex bugs in this module.
  • Managed the development team consisting of four members, led the required features' lifecycle, assigned them to proper developers, and made decisions when needed.
  • Interviewed many for the position of a software engineer in our company. Also, set the data structure-related problems in our written tests of the candidates.
Technologies: Java, Jakarta Server Pages (JSP), Oracle SQL, SQL, JavaScript, Jira, Git, Gradle, HTML, Bootstrap, REST APIs, Job Schedulers, Cron, JUnit, Spring Boot, APIs, Spring MVC, Hibernate, Spring, Domain-driven Design (DDD), XSLT, Apache Maven, Oracle, JSON, XML, JDBC, Agile, Cloud, CI/CD Pipelines, Multithreading, RDBMS, Java Servlets, PostgreSQL, Back-end, Architecture, API Integration, Code Review, Interviewing, Task Analysis, Team Management, Technical Hiring

Software Engineer

2019 - 2020
Therap BD
  • Implemented a reporting framework named Event Summary in Java, including code structure design, query optimization, and performing cost-heavy DB functions on the Java side to minimize DB overhead and indexing.
  • Executed a meal management web app in Node.js, Express, and React for maintaining our company's daily breakfast and lunch menu with proper authority. Users let the office know if they were taking a specific day's meal or not through this web app.
  • Developed an annotation and a JSP tag using Java to support rich text formatted input for different fields on the back and front end.
Technologies: Java, Jakarta Server Pages (JSP), Oracle SQL, SQL, JavaScript, Jira, Git, Gradle, HTML, Bootstrap, REST APIs, Job Schedulers, Cron, JMS, JUnit, Spring Boot, APIs, Hibernate, Spring, PostgreSQL, Domain-driven Design (DDD), XSLT, Oracle, JSON, XML, JDBC, Agile, Cloud, CI/CD Pipelines, Multithreading, RDBMS, Java Servlets, Back-end, Architecture, API Integration, Code Review, Interviewing, Task Analysis, Team Management, Technical Hiring

Associate Software Engineer

2018 - 2019
Therap BD
  • Built the features of a huge module used for incident reporting in Java, consisting of 156,000+ lines of code. Migrated some modules to the modern Spring framework from legacy frameworks. Also, fixed simple and complex bugs in this module.
  • Created new versions of incident reporting forms for different states upon their request, using Java and Spring. Also, developed new features and components in one of our modules for investigating incidents.
  • Improved maintainability of our existing modules by refactoring and optimizing back-end logic. Improved test coverage of our source code. We used SonarQube to monitor code quality constantly.
Technologies: Java, Jakarta Server Pages (JSP), Oracle SQL, SQL, JavaScript, Jira, Git, Gradle, HTML, Bootstrap, REST APIs, Job Schedulers, Cron, OOP Designs, JUnit, Spring Boot, APIs, XSLT, Unit Testing, Hibernate, Enterprise Java Beans (EJB), Spring, Oracle, JSON, XML, JDBC, Agile, Cloud, CI/CD Pipelines, Multithreading, RDBMS, Java Servlets, PostgreSQL, Domain-driven Design (DDD), Back-end, Architecture, API Integration, Code Review, Task Analysis

Junior Software Engineer

2017 - 2017
WellDev BD Ltd
  • Developed features for an online locker management app using Java.
  • Wrote test codes for the aforementioned project using JUnit and Mockito, which covered around 80% of the total codebase through test codes.
  • Fixed minor bugs assigned to me through Jira and followed proper Agile software development protocol.
Technologies: Java, JUnit, Apache Tomcat, Spring Boot, Spring, Gradle, JDBC, Agile, APIs, Hibernate, REST APIs, OOP Designs, RDBMS, SQL, Git, Jira, Unit Testing, Domain-driven Design (DDD), Apache Maven, JSON, XML, Back-end, Code Review, Task Analysis

ProShop eCommerce Platform

https://github.com/TahsinAnwarAkif/pro-shop
A multi-role-based eCommerce platform built from scratch.

Tech: Node.js, Express, MongoDB, React, Redux.

User Features:
• Login, register
• Add products to their cart
• Check them out with shipping address and payment info
• Place the order, pay for the order using PayPal/credit card
• Update their profile and see their orders' details only
• Review/rate a product once only to avoid BOT/spam reviews

Admin Features:
• Login
• Perform all that a user can perform
• Create/update/delete a product
• Update/delete a user
• Mark a user to be an admin user
• See all users' order details
• Mark the delivered orders as delivered

Additional Functionalities:
• Top products carousel
• Product pagination
• Product search
• Database seeder (products and users)
• Server deployment support (Heroku)

Live URL: https://proshop-9999.herokuapp.com

DUS Form Generator

https://github.com/TahsinAnwarAkif/dus-form-generator/tree/develop
A form generator app to populate or download PDF/DOCX forms with some specific data from Google Sheets, as well as from some fields of the application. This is developed for internal employees of the company.

FEATURES
• Users can upload sample PDF/DOCX templates with proper data mapping. The application will generate the filled forms properly and the placeholders are mentioned in the README.
• Users can remove existing PDF/DOCX templates that may be discontinued or are redundant.
• An internal scheduler has been configured to remove the obsolete files (removed by users or downloaded ones) after every seven days to minimize the server's storage space.
• Proper form validations, exception handlings, and success/error notification toasts are also implemented.

DevCamper API

https://github.com/TahsinAnwarAkif/dev-camper
A back-end API for multi-role-based DevCamper application, a boot camp directory website.

Tech: Node.js, Express, MongoDB

Bootcamp Features
• List all boot camps and also within a radius specifying zip code and covering the distance
• CRUD over a boot camp with proper authorization
• Upload a photo for boot camp with proper authorization

Course Features
• List all courses and for a boot camp
• CRUD over a course with proper authorization

Review Features
• List all reviews and for a boot camp
• CRUD over a review with proper authorization

User Features
• List all users
• CRUD over a user with proper authorization

Auth Features
• User login, registration, and logout
• Preview my profile
• Update my profile/password
• Forget/reset the password

Misc Features:
• JWT Auth
• Miscellaneous filters, pagination, selection, sorting; addition for listers
• Mongoose and other validations
• DB seeders
• Prevent NoSQL injections
• Add security headers, prevent XSS
• Rate Limiter (100 requests per 10 minutes per user)
• HTTP param polution protection
• CORS to make API public
• API doc in Postman and by Docgen
• DigitalOcean deployment

Live URL: http://159.223.10.250/

Postman Doc: https://documenter.getpostman.com/view/2647947/UzJQqZwk

Task Manager API

https://github.com/TahsinAnwarAkif/task-manager
Back-end API for the Task Manager application, where users can CRUD over their tasks and admins can also manage all the tasks and the users.

Tech: Node.js, Express, MongoDB

Task Features
• List logged-in user tasks, all users' tasks (i.e., by admin)
• Save, update, and delete a task for the logged-in user, or other users (i.e., by admin)

User Features:
• List all users with proper authorization
• Create, update, and delete a user with proper authoirzation
• View and upload a user's profile photo, save it in bytes

Auth Features:
• User Login, logout, and registration (with a user role)
• Preview and update my profile
• Update, forget, and reset password
• View or upload profile photo, save it in bytes

Misc Features:
• JWT authorization
• Password hashing
• Mongoose and other validations
• Database seeders
• Prevent NoSQL injections
• Add security headers
• Prevent XSS
• Rate Limiter (100 requests per 10 minutes for a user)
• HTTP param polution protection
• CORS to make API public
• API documentation in Postman and by Docgen
• DigitalOcean deployment

Live URL/Docgen: http://188.166.97.45/
Postman: https://documenter.getpostman.com/view/2647947/UzQuR6nt

Soccer Manager Game API

An online soccer manager game where users can create fantasy teams and will be able to sell and buy players among them.

Tech: Java, Spring Boot, Hibernate, MySQL

Game Features and Rules
• Users can create an account and log in using the API.
• Each user can have only one team.
• When the user is signed up, they get a team of 20 players (system generated).
• Each player has an initial value of $1,000,000.
• Each team has an additional $5,000,000 to buy other players.
• When logged in, a user can see or update only their team and player information.
• A team owner can set the player on a transfer list.
• When a user places a player on a transfer list, they set the asking price/value for this player. This value is listed on a market list.
• When another user or team buys this player, they must be purchased for this price.
• Each user can see all players on a transfer list.
• With each transfer, team budgets and values are updated.
• With each transfer, the player's price is increased by a certain factor.

Online Doctor Booking Management

https://github.com/TahsinAnwarAkif/online-doctor-booking-management
This is a multi-role-based online doctor booking management application with a custom automated scheduling approach where doctors can:
• Enroll themselves and update only their profile.
• View, update, and delete their appointments.
• Create their specialty field if not found in database.

Patient Features:
• Enroll themselves and update only their profile.
• View all available doctors.
• View, create, and delete their appointments with available doctors.
• Automatically generate their appointment date/time.
• Create an appointment with a specific date/time if valid/available for that doctor.
• Cannot view other patients or others' appointments (i.e., HIPAA violation).

Admin Features:
• Enrolled only by super admin and cannot register/update his profile.
• Can perform all of super admin's tasks except for viewing and updating the role actions of anyone or CRUD over admins.

Super Admin Features:
• Cannot CRUD over himself, already created by a developer using SQL.
• CRUD over doctors/patients/admins/specialties/appointments.
• Update role actions of role types (i.e., doctor/patient/admin).
• Block users of a specific role type from performing a particular role action.

Tech: Java, Spring MVC, Hibernate, JSP.

IBAN Document Validator

https://github.com/TahsinAnwarAkif/doc-validator-using-kafka
An IBAN (International Bank Account Number) document validator app where the user can send a .doc/.docx/.pdf file to the server and validate whether it contains any blocklisted or invalid IBAN.

As an API consumer, the user or admin can send a local file or remote URL and file type, which will save the fetched file in the server-local storage. It would also send the whole file as a message through Kafka.

The sent file is asynchronously validated through the server's Kafka listener. openiban API has been used to validate the IBAN inside the file. After sending the result JSON with proper validations, the locally kept file in the server is deleted using another Kafka listener.

Weather Checking Service API

https://github.com/TahsinAnwarAkif/weather-forecast
A simple weather checking app where an API consumer can:
• Search for today's weather by inputting the city name.
• Look for weather data from past periods.
• Look for earlier saved weather data for a specific city with or without mentioning the generation date.
• Look for the latest saved weather data for a specific city.
• Save weather data for retrieval.
• Locally save the current weather data for a specific city for later retrieval.
• Update an existing weather record.
• Delete an existing weather record.

Extended JSR @Size Implementation Using Annotations or Reflection

https://github.com/TahsinAnwarAkif/size-annotation-impl-with-reflection
Implemented a custom @Size annotation with proper validators. Users can use this on different properties to define or validate the range of a given input. Unlike the JSR provided @Size annotation, it can also support these data types along with string: integer, long, collection (i.e., validating the size).

Languages

Java, SQL, JavaScript, XSLT, HTML, ECMAScript (ES6), XML, TypeScript

Frameworks

Jakarta Server Pages (JSP), Spring Boot, Spring MVC, Hibernate, Spring, JSON Web Tokens (JWT), Bootstrap, JUnit, Express.js, Redux

Libraries/APIs

JDBC, Node.js, REST APIs, Java Servlets, React, PayPal API, JMS, GitHub API

Tools

IntelliJ IDEA, Git, Jira, Gradle, Cron, Slack, Apache Tomcat, Apache Maven, Mongoose, AWS Glue, Jenkins

Paradigms

Agile, Unit Testing, E2E Testing, Microservices

Platforms

Oracle, Linux, AWS Lambda, Heroku, Google Cloud Platform (GCP), Parse, DigitalOcean, Kubernetes

Storage

RDBMS, Oracle SQL, PostgreSQL, JSON, MongoDB, MySQL, NoSQL, Amazon S3 (AWS S3)

Other

OOP Designs, Domain-driven Design (DDD), Healthcare Services, Back-end, Architecture, API Integration, Data Structures, Algorithms, Code Review, Task Analysis, Job Schedulers, APIs, Enterprise Java Beans (EJB), CI/CD Pipelines, Multithreading, Interviewing, Team Management, Technical Hiring, Cloud, Web Search

2013 - 2017

Bachelor's Degree in Computer Science

University of Dhaka - Dhaka, Bangladesh

JULY 2022 - PRESENT

The Complete Node.js Developer Course

Udemy

JULY 2022 - PRESENT

Node.js API Masterclass With Express & MongoDB

Udemy

OCTOBER 2020 - PRESENT

Problem Solving (Basic)

HackerRank

OCTOBER 2020 - PRESENT

Java (Basic)

HackerRank

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring