Personal details

Gihan S. - Remote full-stack developer

Gihan S.

Senior Developer
Timezone: Sri Jayawardenepura (UTC+5.5)

Summary

Simple, Clear, Testable architecture and code

Work Experience

Team Lead (Mobile)
Tours4Fun | May 2017 - Mar 2020
PHP
SQL
Node.js
MySQL
Git
GitHub
Docker
React
Microservices
Redux
The mobile team maintains three products, Mobile Site (React), Mobile Apps (Cordova), and Mobile REST API (PHP/Yii). ● Worked closely with the Project Manager and other engineering teams to deliver business goals by coming up with technical solutions. ● Introduced GitHub code reviewing, linting (Eslint), and E2E testing (Cypress) to keep the code and developer workflows in shape. ● Helped in migration of monolithic mobile REST API to microservice architecture that consumes many microservices including product, cart, order, user, price, finance, etc... services. ● Measure and monitor REST API performance using Google Analytics, Pingdom, Sentry.io like tools. It helped to identify commits that introduced regressions with ease. Redis, Memory cache, MySQL query optimizations and sometimes re-architecting solutions to fix identified performance bottlenecks. ● Revamped the mobile checkout process to enable guest checkouts which boosted the conversion rate. ● Optimized the mobile site to load faster on mobile devices and run smoothly. Lazy loading React components, Server-side rendering, scaling server-side using PM2 clusters and Lighthouse budgets were utilized to gain optimizations. ● Improved fraud detection with Sift Science tools to mitigate fraudulent transactions. ● Created a Node.js microservice to generate static map images similar to the Google Maps Static API which uses to display tour itinerary details on a map. ● Created a Node.js tool to parse and analyze Fluentd log files to reduce the turnaround time for production bug fixes. ● Created Docker containers to run the apps for the local developer environment.
Senior Developer
Tours4Fun | Jun 2015 - Apr 2017
PHP
Git
Angular
Yii
Sphinx
Memcache
Git flow
Apache cordova
RESTful API
With the expansion of mobile devices and users, the company decided to launch a better experience for mobile users. ● Involved in requirement gathering, planning, and developing phases of the mobile site and apps project. ● Developed the mobile website as an AngularJS app and created a REST API using PHP (Yii) to communicate with the backend. ● Integrated many 3rd party API services to the core business application. Hotelbeds, Algolia, Braintree, Rezdy are some of them. ● Improved product search using Sphinx search server which resulted in search results delivered within milliseconds. ● Developed middleware interface to Rackspace CDN to manage image uploads including image pre-processing functions to compress and resize. ● Helped in developing a service to generate image thumbnails, resize, and compress image byte size. The service is intelligent to select the best image format automatically for the requested browser. It resulted in faster loading of frontend pages. ● Keeping the complete web frontend (Desktop site + REST API) safe from security vulnerabilities by adding patches based on PCI scanner reports. ● Abstracted business logic into reusable and modular codes that other developer teams can take advantage of.

Education

University Of Colombo School Of Computing
Information and Communication TechnologyInformation Technology
Aug 2007 - Jul 2010