Summary
Overview
Work History
Education
Skills
Personal Contribution
Professional Memberships
Certification
Technical talks
References
Timeline
SoftwareEngineer

Sharmilan Ampikaipakan

Senior Software Engineer
Colombo

Summary

Hands-on experience in software engineering as a full-stack for almost nine years and worked in few mobile
applications, including large-scale applications. Experienced in many successful SaaS and mobile projects.
Versatile in different areas of software development and, quickly adapting to new technologies combined
with a 'can-do' attitude. Efficient and effective knowledge of analytical and problem-solving skills and keep
updating day-to-day. Highly interested in clean, optimised, and reusable codes and modern architecture,
Also, eager to follow SDLC with SOLID principles, OOP concepts and other best practices. As a lead, willing
to take challenges, take responsibility to team and guide and share knowledge with fellow engineers.
Proven experience to work as an individual and really interested to work as a team.

Overview

8
8
years of professional experience
4
4
years of post-secondary education
1
1
Certification

Work History

Senior Backend Developer

openprovider
09.2021 - Current

openprovider is an ICANN-accredited domain registrar and technology company. It provides a fully automated platform to manage domain names, SSL certificates, Plesk licenses, spam filters, and EasyDMARC, among other services.

Technologies:

API integration, Hexagonal architecture, Solid principles, OOP, PHP 8.2.x, Symfony 6.x, microservices, envoy API gateway, docker, nginx-unit, kubernetes, helm charts, PostgreSQL, ORM, gRPC, codeception for tests and coverage, docker-compose for stage, Go Lang, swagger jenkins and google cloud platform(GCP)

Responsibilities:

  • The requirement analysis for integrating EasyDMARC as a service addon from scratch.
  • Work involving system design and architecture directly under the product manager and system architect.
  • Developed backend using symfony framework (6.x) with Hexagonal architecture and SOLID principles.
  • Database design and developed migrations and create diagrams for proper documentation.
  • Responsible for working with project manager and EasyDMARC vendors engineers and for complete service as a solo backe-end engineer.
  • Worked with front-end people, other service engineers, QA, and DevOps from start to end.
  • Integrated deployment scripts for stage environments and helm charts for the production in the google console platform.
  • Integrated with a core platform for billings and other services to complete the process cycle; also worked with GoLang to manage direct API calls.
  • Integrated unit test cases and maintained code coverage over 95% using codeception deployments and monitoring the services and resources on production.
  • Prepare documentation and knowledge sharing with other engineers also integrate with the company.
  • Involving team scrum sprint planning and fellow agile methodology in the development process.
  • Integrated the service with automated code generators and added into scheduled jobs and queues.

Associate Technical Lead

Rootcode (Private) Limited
02.2021 - 08.2021

Rootcode labs is a software product engineering company that develops web and mobile applications for clients.

Technologies:

React-native, React, Redux, thunk, Typescript, Deeplink, crashlytics, and Flex

Responsibilities:

  • Closely worked with the product manager and the clients for requirement analysis and system design.
  • Developed mobile application with react native and front end application with react.
  • Feature developments according to the requirements, debugging, and fixing.
  • Involved with code reviews, guidance, and mentoring fellow engineers.
  • Involved with other react native applications as a consultant.
  • Involvements in application releases to the app store and play store.

Senior Software Engineer

Salpo Technologies Limited
05.2018 - 01.2021

Salpo technologies is an innovative cloud-based enterprise software solutions provider founded in 2007, headquartered in Gloucestershire, UK, and engineering solutions from Sri Lanka.

Overall Responsibilities:

  • Researching, analysing, and developing the latest and useful technical trends and technologies to meet system requirements.
  • Consulting and working collaboratively with architects, team leads, and project managers to understand business requirements to implement suitable development solutions.
  • Involving team scrum sprint planning and fellow agile methodology in the development process.
  • Coding reliable solutions using industrial best programming practices and frameworks such as OOP, MVC, and agile methodology in the development process.
  • Analysing, evaluating, designing, and developing software applications/components with cutting-edge technologies.
  • Deploying, monitoring, and operating the app in staging, QA, UAT, and production environments and updating end-user documents.
  • Debugging, diagnosing, and fixing errors in staging, QA, UAT, and production environments to ensure programs and applications perform to specification.
  • Deploying web applications on Amazon cloud service and react-native mobile applications on the Apple store and Play store.
  • Maintaining production applications and responding to client inquiries and troubleshooting issues and resolving the issues, and documenting the root cause for stakeholders and project
    managers.
  • Consulting and recruiting fellow Software Engineers and trainee Software engineers and code reviews.
  • Involving in application designing and API structuring for the project along with other utilities and costing for the applications and services.
  • Doing and attending Tech talks to share up-to-date knowledge about the app and mobile development.
  • Identifying technical limitations and providing alternative solutions, and communicating with service providers.
  • Coordinating with team members, managing project status, and sending status updates to the project/product managers.
  • Writing unit tests, behat tests, functional tests, integration tests, e2e tests, and testing to improve the maintainability and stability of the code base.
  • Executing API performance and analysis using concurrency and bulk tests.
  • Doing work breakdowns and high-level estimations for upcoming projects.

Project involvements:

[Confidential big data system]

A high-performance system for big data analysis, search functionalities, and data warehouse maintenance. Deals with billions of records and rapidly growing data. Since it is a multi-level procedure, multiple languages and frameworks such as Node JS, JavaScript, PHP, and python are used with docker-based containers in this system.

  • Writing, updating, and maintaining program code
  • R&D
  • API performance tests and analysis
  • Deploying and monitoring for staging, QA, UAT, and production
  • Debugging, diagnosing, and correcting errors in staging, QA, UAT, and production environments
  • Sprint planning
  • Discussing/consulting with architects and project managers
  • the End user documentation

Technologies:
NodeJs, Angular, Symfony, Laravel, Material UI, python, and Most of the AWS services such as Elastic search, Redshift, RDS, Redis, S3, EC2, SQS, SES, SNS, Cloud watch, etc. are highly used in it. Prometheus, Kibana, PagerDuty, PingDom Docker, ES6, REST API, Apache JMeter, JMS test plan, Blaze Meter and Jira

[Mentoring App – Mobile]

This is a react-native app used in IOS and Android platforms for mentoring and mentorship between users. Mainly push notifications and emails will notify the users.

  • Writing and maintaining codes
  • R&D
  • Team management
  • Sprint planning
  • Discussions with project managers and other design and QA teams
  • Debugging and bug fixing
  • Overall team & project responsibility
  • Identify the technical requirements and blocks to archive the requirements.
  • Evaluating team members

Technologies:

React-native, Redux, thunk, Typescript, push notifications, react-navigation, deep linking, crashlytics, Flex, Jest, and Jira

[Mentoring App - web]

This is, for admin, used to monitor and permit controls of mobile users.

  • Writing and maintaining the program codes
  • R&D
  • Diagnosing and fixing errors
  • Team management
  • Sprint planning
  • Discussions with project managers and other design and QA teams
  • Overall team and project responsibility
  • Evaluating team. members

Technologies:

React, Redux, thunk, Typescript, Webpack, Ant design, and Jira

[BlueSky coaching card - Mobile]

This is a React-native app used for IOS and Android platforms which is a coaching tool for users based on multi-level categories and multiple card formats such as Text, Image, audio, and Video. Also, this app is enabled for offline features. so users could download their favourites.

  • R&D
  • Team management; Sprint planning; Discussions with project managers and other design and QA teams
  • Overall team and project responsibility
  • Estimations for upcoming features
  • Writing and maintaining codes
  • Debugging and correcting errors
  • Involving tests with QA

Technologies:

React-native, SQLite, Redux, thunk, Typescript, and some UI libs with Flex, react-navigation, deep linking, crashlytics, Jest, and Jira

[Enterprise Integration Services]

A separate system to integrate various third-party systems into Salpo CRM using Node JS. Numerous systems are popular for different purposes, such as invoices, inventory, calendars, and mailing. Therefore, EIS makes interactions with those and allows the user to access them through Salpo CRM; It Also Allows bulk updates to sync both. Development process through the Agile, Scrums, and kanban board to archive the CI and CD. The system works with Node JS and testing using Mocha and chai. He has integrated Company Checker, Microsoft Calendar, Google Calendar, RingCentral, etc.

  • Research & Development
  • Coding and maintaining the codes
  • Debugging, Diagnosing & fixing issues
  • Writing tests’ codes and testing
  • Team management
  • Sprint planning
  • Identify the technical limitations to archive requirements.
  • Discussions with project managers and other design and QA teams
  • Overall team & project responsibility
  • Estimations for upcoming features
  • Performance monitoring
  • Production monitoring and fixing bugs
  • API performance test

Technologies:

Node JS, ES6, RESTFul API, express, OAuth, PUG, mocha, chai, Mongo, Redis, Celery, Guzzle, loggly, Jenkins, PM2, Bull, Apache JMeter, and Jira

Software Engineer

Salpo Technologies Limited
07.2016 - 04.2018

Overall Responsibilities:

  • Doing R & D and identifying the technology limitations.
  • Coding, updating, and maintaining the program codes.
  • Debugging, diagnosing, and fixing errors.
  • Working collaboratively with Tech leads, Project managers, and product managers to understand business requirements to implement suitable development solutions.
  • Participating in the technical discussions, documenting, and communicating with the project stakeholders to ensure that applications are built to be reusable, scalable, reliable, and
    maintainable.
  • Involving team sprint planning and following agile methodology in the development process.
  • Implementing reliable solutions using industry best practices and cutting-edge technologies.
  • Monitoring the production-level applications, identifying the issues in existing applications, debugging, and fixing them.
  • Writing unit tests, behat tests, functional tests, integration tests, e2e tests, and testing to improve the maintainability and stability of the code base with 99% code coverage.
  • Working with the Quality Assurance Automation team to ensure the application's stability.
  • Involving in software designing and product features, creating new test plans, and troubleshooting procedures.
  • Handling client communication for production issues and fixing them timely.
  • Reaching and identifying technical limitations and discussing with product/project managers.

Project Involvements:

[Salpo CRM (SaaS)]

The Salpo CRM personalizes interactions and communications with customers and prospects. It builds up a 360-degree view of every individual in the system with the customized data structure. It also has multiple integrations and email sync facilities.

  • Writing and maintaining the codes
  • R & D
  • Debugging, Diagnosing & Fixing errors
  • Carrying out the development process through the scrums and kanban board with Jira to archive the Continuous Integration and Continuous Delivery
  • Follows code coverage and tests with the js unit, php unit, behat, and e2e tests

Technologies:

Angular JS, Symfony 3, JavaScript, Coffee Script, Typescript, Doctrine, MySQL. Elastic Search, Mongo, Redis, ORM, behat, protractor, jasmine, Celery, AWS, loggly, Jenkins, Gulp, npm, bower, Jasmine, GIT, CSS, less Bootstrap, material UI, Recurly payment gateway PingDom, vagrant and Jira

[Growth-hub (a Special version of Salpo CRM)]

One of the major companies requires some additional features with the Salpo CRM. The Salpo CRM was upgraded and released as a product with those requirements and integrated by the dedicated team.

  • Requirement analysis and involvement in system design with product managers and technical managers.
  • Developments, debugging, fixing bugs, and deployments with CI/CD pipelines.
  • Write automated scripts for specific features and deployments.
  • Involvement in sprint and agile plans, feature plans, and meetings with managers and other engineers in different teams.

Technologies:

Angular JS, Symfony 3, JavaScript, Coffee Script, Typescript, Doctrine, MySQL. Elastic Search, Mongo, Redis, ORM, behat, protractor, jasmine, Celery, AWS, loggly, Jenkins, Gulp, npm, bower, Jasmine, GIT, CSS, less Bootstrap, material UI, Recurly payment gateway PingDom, vagrant and Jira

Associate Software Engineer

thinkCube Systems Pvt Ltd
10.2014 - 02.2016

thinkCube Systems is a Software development company that develops in-house applications, maintenance, and sales.

Overall Responsibilities:

  • Requirement analysis and development of several features.
  • Performance monitoring and database management for query analysis.
  • Localization for the Tamil language.
  • System analysis and improved performance in search filtering.
  • System enhancement and decreased landing page speed by javascript minification.

Project Involvements:

[EzBiz – ezbiz.io (SaaS)]

It’s a suite of business solutions catering to the needs of SMEs, including custom modules Purchasing, Sales, Inventory, Jobs, Reporting, Expenses, CRM, and POS. An E-Commerce web application can have multiple locations and multi-languages with customisable user access control on each feature. Easily accessible reports and can be downloaded as a PDF or CSV file. And additionally, it has customisable dashboard graphs. Receipts and alerts can be collected via Email.

Technologies:

Angular JS, Zend Framework 2, MySQL, JQuery, Ajax, JavaScript, Gulp, GIT, MVC, Bootstrap 3 CSS, HTML, Apache, Ubuntu, and Atom editor

[EzBiz - Portal ]

Administration control panel for ezbiz application. User-wise license payments and monthly subscription payments. Customising user licenses by getting new or updating the existing licenses. Easily accessible reports and can be downloaded as a PDF or CSV file. Automatic email notifications for expired alerts of user licenses.

Technologies:

Laravel 5, MySQL, jQuery, Ajax, JavaScript, Bootstrap 3, CSS, HTML, Gulp, laravel elixir, MVC, Git, Apache GIT Ubuntu, and Atom editor

[Rubik]

The front-end platform can integrate the new applications on the top. Own reusable components and styles were interconnected with a FLUX architecture. The platform handles the back-end API requests.

Technologies:

React JS, JavaScript, ES2015, Flux, webpack, material UI, babel, bluebird, GIT, Ubuntu, Atom editor, and some JavaScript packages.

Trainee Software Engineer

thinkCube Systems Pvt Ltd
04.2014 - 10.2014

[EzBiz – ezbiz.io (SaaS)]

As mentioned above, it’s a suite of business solutions catering to the needs of SMEs, including custom modules Purchasing, Sales, Inventory, Jobs, Reporting, Expenses, CRM, and POS.

Technologies:
Angular JS, Zend Framework 2, MySQL, JQuery, Ajax, JavaScript, Gulp, GIT, MVC, Bootstrap 3 CSS, HTML, Apache, Ubuntu, and Atom editor

Education

Bachelor of Science - Computer Science And Technology

Uva Wellassa University of Sri Lanka
Badulla, Sri Lanka
08.2010 - 10.2014

Skills

Extensive experience building REST APIs and other back-ends in the Nodejs and PHP

undefined

Personal Contribution

  • Cloud system for IOT-based system

Developed a cloud-based software application to control and real-time monitoring as a collaborator in one of the Ph.D. candidate's research. The cloud application developed includes user-based access control, and the admin can download real-time data as CSV and as the image of the graphs.


Technologies: 

Laravel 8.x, Tailwind css, Nodejs 16.x, typescript, React, React Query, React Hooks, and AWS services


  • Scrapper [WIP]

This is an extended version of the above application and is open source. Almost all features are the same but use cutting-edge technologies and microservice architecture. Also, users can define the number of sensors, controls, and manipulation on the data as the post process.


Technologies: 

Node.Js 18.x, GoLang, postgreSQL, React, react query, tailwind css, apache kafka, lambda functions, envoy, AWS, fargate, terraform, open-telemetry, docker, python for post-process, hexagonal architecture, microservice, OOP, SOLID, mocha sinon,  chai, Argo CD and woodpecker CI

Professional Memberships

  • Professional Member (MBCS) - 2021/05/03- 22/05/03

British Computer Society (BCS)- The Chartered Institute for IT 



Certification

Diploma in Hardware

Technical talks

  • "Introduction to Hexagonal Architecture" in weekly knowledge sharing
  • "Best practices in React native" in office -technical talk
  • Deep dive in event loop and other tech talks.
  • Participation in weekly architectural meetings

References

Available upon request

Timeline

Senior Backend Developer

openprovider
09.2021 - Current

Associate Technical Lead

Rootcode (Private) Limited
02.2021 - 08.2021

Senior Software Engineer

Salpo Technologies Limited
05.2018 - 01.2021

Software Engineer

Salpo Technologies Limited
07.2016 - 04.2018

Associate Software Engineer

thinkCube Systems Pvt Ltd
10.2014 - 02.2016

Trainee Software Engineer

thinkCube Systems Pvt Ltd
04.2014 - 10.2014

Bachelor of Science - Computer Science And Technology

Uva Wellassa University of Sri Lanka
08.2010 - 10.2014

Diploma in Hardware

01-2004
Sharmilan AmpikaipakanSenior Software Engineer