M. Tahsin Anwar
Verified Expert in Engineering
Back-end Developer
Eindhoven, Netherlands
Toptal member since March 31, 2022
Tahsin has six years of experience in 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 an eager learner and can adapt to any new technology quickly.
Portfolio
Experience
- Hibernate - 6 years
- Spring - 6 years
- MySQL - 6 years
- REST APIs - 6 years
- Java - 6 years
- Back-end - 6 years
- Node.js - 4 years
- MongoDB - 4 years
Availability
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
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.
Back-end Developer
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.
Back-end Developer
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.
Software Developer
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.
Full-stack Developer
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.
Software Engineer II
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.
Software Engineer
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.
Associate Software Engineer
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.
Junior Software Engineer
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.
Experience
ProShop eCommerce Platform
https://github.com/TahsinAnwarAkif/pro-shopTech: 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/developFEATURES
• 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-camperTech: 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-managerTech: 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
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• 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-kafkaAs 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• 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-reflectionEducation
Bachelor's Degree in Computer Science
University of Dhaka - Dhaka, Bangladesh
Certifications
The Complete Node.js Developer Course
Udemy
Node.js API Masterclass With Express & MongoDB
Udemy
Problem Solving (Basic)
HackerRank
Java (Basic)
HackerRank
Skills
Libraries/APIs
JDBC, Node.js, REST APIs, Java Servlets, React, PayPal API, Java Message Service (JMS), GitHub API
Tools
IntelliJ IDEA, Git, Jira, Gradle, Cron, Slack, Apache Tomcat, Apache Maven, Mongoose, AWS Glue, Jenkins
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
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring