Asad Ullah

asad.u@outlook.com · (+92)-334-1366328

I am a Staff Software Engineer at 10Pearls having experience of working on several large scale web products based on MEAN & MERN (MongoDB, ExpressJS, ReactJS, NodeJS) stack. Over time, I have developed skills to translate business processes into software solutions. My ability to adapt to different stacks have made me comfortable with several technologies and I also have exposure of working with both business and technical stakeholders in agile environments. TDD is what I believe [most of the times] is the way to write safe and robust code.


Skills

Programming Languages & Tools
  • JavaScript / TypeScript / ES5 & ES6+
  • NodeJS / ExpressJS / NestJS
  • ReactJS / Redux / Webpack
  • Golang
  • RESTful APIs / GraphQL APIs
  • Mocha / Chai / Enzyme / Jest
  • Cypress
  • MySql / PostgreSQL
  • MongoDB / DynamoDB
  • SocketIO
  • Redis / Docker
  • Test Driven Development (TDD)
  • Micro-component driven FE architecture
  • Micro-services driven BE architecture
  • Unix System Familiarity
  • Git / Jira / Basecamp / Confluence
  • Scrum / Agile / Kanban

Interests

Apart from making software, I enjoy video games and football. I like to watch movies and read books sometimes. I spend a large amount of my free time studying about web development and cloud computing.


Projects & Domain Experience

Company ABC - Education Platform

Tech Stack
  • ReactJS (with typescript) & Redux
  • ExpressJS (with typescript) & PostgreSQL
  • Jest for unit tests
  • Cypress (Integration Tests)
  • nx (monorepo management tool) & Webpack
  • antD UI library
  • Micro-component driven frontend architecture
  • Codefresh for CI & fluxCD for CD
  • Kubernetes for backend deployment
Outline

Project was to modernize some critical modules of client's platform. From setting up the pipelines to micro-component architecture, I was working as lead engineer with dev team who implemented and migrated the feature set in newer technology.

Role

FullStack Engineer

Project Challenges
  • Working Remotely with team which involves collaborations and daily scrums.
  • Understanding the business requirement and implementing the features in an existing microservices system.
  • Running modernized react app in legacy PHP system as a microcomponent
  • Fixing reported GDs (general defects) by end users in legacy PHP system.
  • Being part of Scrum planning and ticket grooming sessions for preparing the sprint.
  • Code pipelines to ensure smooth integration and delivery of software
  • Ensuring the unit tests are updated and code coverage (95%+ for frontend & 100% for backend) requirements are met.
  • Implementing features in other microservices and proxies (backend for frontends).

Company ABC - Education Platform

Tech Stack
  • ReactJS & Redux
  • ExpressJS & Apollo Server
  • Mocha & Chai & Enzyme (Karma Test Runner)
  • Cypress (Integration Tests)
  • Babel & Webpack
  • Sementic React UI
  • ElasticSearch & MongoDB
Outline

​Project was to make the frontend clients (React Apps) WCAG 2.0 compliant. Project scope also included Code cleaning along with new feature implementation in the backend powered by GraphQL, MongoDB and ElasticSearch.

Role

FullStack Engineer

Project Challenges
  • Working Remotely with team which involves collaborations and daily scrums.
  • Understanding the business requirement and making the UI WCAG 2.0 Compliant
  • Feature Flags removal and improvement in centralized logging.
  • Being part of Scrum planning and ticket grooming sessions for preparing the scrum.
  • Making the third party UI components focus order compliant across browsers.
  • Ensuring the unit tests are updated and codecov (92%+ for frontend & 100% for backend) requirements are met.
  • Implementing features in backend spanning over multiple backend services i.e. Elastic Search service, mongo service.

Company XYZ - HR Dashboard

Tech Stack
  • ReactJS (with TypeScript) & Redux
  • antD React UI
  • Mocha & Chai & Enzyme
  • Google Places API
  • Babel & Webpack
  • Sharepoint (backend) & SPFX framework for frontend
  • JIRA
Outline

Development of HR dashboard comprising of different modules such as Request Travel Booking (RTB), Local Travel Request (LTR), Leave Management etc.

Role

Frontend Engineer

Project Challenges
  • Introducing Redux setup for state management in sharepoint react webpart (SPFX).
  • Using Redux selectors to keep the react components reusable and data agnostic
  • Types for third party components to ensure the code quality.
  • Being part of Scrum planning and ticket grooming sessions for preparing the scrum.
  • Google places API integration for taking location related data from frontend.
  • Enabling treeshaking in the build process to reduce the bundle size.
  • Writing gulp tasks to transpile the ES7+ features

Urdu OCR - Urdu Text Recognition

Tech Stack
  • Python
  • Tesseract Engine
  • JIRA
Outline

​Research project for developing a POC (proof of concept) which detects different Urdu fonts.

Role

Research Engineer

Project Challenges
  • Understanding the training process of tesseract engine for custom data sets i.e. Urdu Image Data set
  • Acquiring and cleaning of Urdu handwritten datasets.
  • Increasing accuracy of images with digital urdu print recognition (score was good for Nastaleeq Font)
  • Obtaining a good recognition score for handwritten datasets.

Company ABC - Telemedicine Platform

Tech Stack
  • AngularJS & Vanilla JS
  • NodeJS (ExpressJS) & SocketIO
  • Mocha & Chai
  • Babel & Gulp
  • JIRA & BitBucket
Outline

​​Project was to modernize the existing appointment booking system to the latest technology and requirements with enhanced features.

Role

FullStack Engineer

Project Challenges
  • Making the calendar feature DST compliant and accurate in different DST time zones.
  • Coming over the technical limitations posed by 3rd party calendar component BigCalendar.
  • Keeping the design UI & Look similar to as it was previously
  • Refactoring and organizing the code base into independent isolated libraries and services.
  • Writing Unit tests in Mocha & Chai to meet the test coverage requirements.
  • Attending Sprint planning meetings and grooming the tickets
  • Working with the legacy code base written in AngularJS (1) and optimizing the performance for some parts of the system

KiboPush - Messenger Marketing Platform

Tech Stack
  • NodeJS (ExpressJS)
  • SocketIO
  • ReactJS & Redux
  • MongoDB & Postgre
  • Unix cron Jobs to run automated scripts
  • Gulp & Babel
  • Messenger Platform API
  • Facebook Graph API
  • WhatsApp Business API
Outline

​​​A platform to assist e-commerce stores in driving customer engagement and loyalty. Features too enhance customer reach were also part of the platform

Role

FullStack Engineer

Project Challenges
  • Implementing the message queue to ensure smooth consumption of FB & Messenger events(Webhook setup).
  • A separate service to provide the updated aggregated data for dashboard (usage of cron).
  • SocketIO setup to send real time notification to web client & dashboard service.
  • Creating reusable react components for different modules & then consuming them in containers
  • Writing Unit tests in Mocha & Chai to meet the test coverage requirements.
  • Attending Sprint planning meetings and grooming the tickets

Company XYZ - Campus Outreach System

Tech Stack
  • NodeJS (ExpressJS)
  • Firebase
  • ReactJS & Redux
  • MongoDB
  • React Material UI
  • Webpack
  • Digital Ocean Droplet
Outline

​​​A platform to accumulate student societies' activities in one app.

Role

FullStack Engineer

Project Challenges
  • Using firebase to send real time notifications to UI Clients.
  • React application load time optimization.
  • Role based authentication and loading the app bundle on the basis of role
  • Writing Unit tests in Jest
  • Attending Sprint planning meetings and grooming the tickets

KiboChat - Andriod app similar to WhatsApp

Tech Stack
  • Android SDK
  • Java (Oracle JDK)
  • Android Studio
  • Github
Outline

​An android app targeted for communication with in Business Environments.

Role

Android Engineer

Project Challenges
  • Using socket io to ensure real time communication between clients.
  • SocketIO Rooms to ensure which client is online or offline and for Group Chats
  • Making Activity & Fragment Screens by mocking WhatsApp UI Screens.
  • Extracting the reusable code into respective services to avoid tight coupling.
  • Attending Sprint planning meetings and grooming the tickets