Lakshan Hettiarachchi, Developer in Kandana, Western Province, Sri Lanka
Lakshan is available for hire
Hire Lakshan

Lakshan Hettiarachchi

Verified Expert  in Engineering

Back-end Developer

Location
Kandana, Western Province, Sri Lanka
Toptal Member Since
October 26, 2021

Lakshan is a back-end Java developer with 8+ years of experience working on long-term projects. At Toptal, he has worked full-time for 1+ years for the text analytics platform Sintelix based in Adelaide. Before joining Toptal, he worked in the airline domain for AirArabia, from software architecture design to development and testing. With strong analytical and problem-solving skills, Lakshan plays a pivotal role in shaping the systems he builds to be robust, productive, and maintainable.

Portfolio

Sintelix
Java, Apache Lucene, JavaScript, Cdata, ABBYY FineReader OCR API, JSON...
ACCELaero Portfolio
Java, Spring Boot, Apache Kafka, PostgreSQL, gRPC, Protobuf, REST, Docker...
ACCELaero Portfolio
Java, Spring Boot, Apache Kafka, Amazon Web Services (AWS), Couchbase, gRPC...

Experience

Availability

Full-time

Preferred Environment

Ubuntu, IntelliJ IDEA, Java, Scrum, Spring Boot

The most amazing...

...thing I've developed is an aviation messaging system used by Air Arabia to communicate with other airlines, airports, and government authorities in real time.

Work Experience

Full-stack Java Developer via Toptal

2021 - PRESENT
Sintelix
  • Integrated and configured ABBYY FineReader OCR API with Sintelix.
  • Worked with Cdata connectors such as CSV, JSON, MongoDB, MySQL, Oracle OCI, PostgreSQL, SQL Server, IBM DB2, Microsoft Excel, and XML to facilitate data ingestion to Sintelix. In addition, certain GUI components were also built to filter the data.
  • Implemented an audit functionality to track ingestion and changes to the documents ingested to Sintelix. This included a UI to filter and view the audit entries.
  • Designed and implemented a license quota usage tracker in Sintelix to record the usage of different quota types such as text, OCR, and media and display it on a UI. The quota consumption records were modeled as a blockchain to maintain integrity.
  • Created a blueprint to secure and enhance the licensing and activation key mechanism of SIntelix online and offline clients to minimize the tampering of licensed quota usage while being client-friendly on offline usage reporting.
Technologies: Java, Apache Lucene, JavaScript, Cdata, ABBYY FineReader OCR API, JSON, Continuous Integration (CI), Git, Databases, Relational Databases, Oracle, Full-stack, Object-oriented Programming (OOP), API Integration, Front-end Development, HTML, CSS, HTTP REST, OCR, Full-stack Development

Tech Lead

2020 - 2022
ACCELaero Portfolio
  • Played a key role in feature development, performance testing, performance tuning, and facilitation for multiple government certifications during and after the inaugural production release of the aeroCONNECT aviation messaging system.
  • Developed parsers using ANTLR and JavaCC for various airline message types, such as PNRGOV and SSIM, in formats such as EDIFACT. In addition, these messages were also created using FreeMaker and Apache Velocity to facilitate 2-way communication.
  • Worked on production stabilization and change and feature request development for the aeroPRICE airline ticket pricing system.
  • Developed flows, such as inventory roll forward, inventory transfer, and reprotection of aeroINVENTORY, the airline seat inventory system.
  • Provided Level 3 support on a monthly roster basis for the aeroCONNECT airline messaging system and the aeroPRICE airline pricing system.
  • Conducted employee training sessions on Apache Kafka.
  • Participated in recruiting, training, ranking, and placement of experienced, fresh, and undergraduate developers.
Technologies: Java, Spring Boot, Apache Kafka, PostgreSQL, gRPC, Protobuf, REST, Docker, JUnit, Mockito, SonarQube, JProfiler, Couchbase, Microservices Architecture, Spring Microservice, Microservices, Spring Data JPA, Web Platforms, APIs, Solution Architecture, SQL, Architecture, Software Architecture, OAuth 2, Scrum, Jira, PowerMock, NoSQL, Message Queues, REST APIs, Technical Hiring, Interviewing, IntelliJ IDEA, Code Review, Source Code Review, Back-end, Containers, Design Patterns, Distributed Systems, Task Analysis, JSON, Spring, Continuous Integration (CI), Git, Databases, API Development, Relational Databases, Scalable Architecture, Scalable Application, Object-oriented Programming (OOP), API Integration, Debezium, Integration, EDIFACT, Electronic Data Interchange (EDI), HTTP REST

Senior Software Engineer

2018 - 2019
ACCELaero Portfolio
  • Worked on architectural design, technology selection and training, development, testing, production stabilization, and support of microservices and the aeroCONNECT stream processing-based messaging system using Spring Boot, Kafka, and Couchbase.
  • Developed parsers using ANTLR and JAVACC for various airline message types, such as PNRGOV and SSIM, in formats such as EDIFACT. In addition, these messages were also created using FreeMaker and Apache Velocity to facilitate 2-way communication.
  • Conducted employee training and evaluation on the Couchbase NoSQL database.
  • Enhanced the aeroLINE FLEET aircraft rotation and routing system to automatically reschedule flights based on the receiving air traffic flow and capacity management (ATFCM) messages.
Technologies: Java, Spring Boot, Apache Kafka, Amazon Web Services (AWS), Couchbase, gRPC, Protobuf, REST, JMS, IBM MQ, ANTLR, Docker, JUnit, Mockito, SonarQube, Jenkins, Jira, Microservices Architecture, Spring Microservice, Microservices, Spring Data JPA, Web Platforms, APIs, Solution Architecture, SQL, Architecture, Software Architecture, Scrum, PowerMock, NoSQL, Message Queues, REST APIs, Redis, Technical Hiring, Interviewing, IntelliJ IDEA, Code Review, Source Code Review, Back-end, Containers, Design Patterns, Distributed Systems, Task Analysis, JSON, Spring, Continuous Integration (CI), Git, Databases, API Development, Relational Databases, Oracle, Scalable Architecture, Scalable Application, Object-oriented Programming (OOP), API Integration, Constraint Programming, Operations Research, Integration, EDIFACT, Electronic Data Interchange (EDI)

Research and Development Engineer

2016 - 2018
ACCELaero Portfolio
  • Researched and developed genetic algorithm-based airline crew scheduling and rostering algorithms in Java to distribute duties and pairings among different types of flight and cabin crew.
  • Devised mathematical formulae to calculate roster cycle targets for flight and cabin crew members on entities, such as flying hours and duty hours, while respecting their annual, quarterly, and monthly limits on flying and duty hours.
  • Programmed crew duty and fatigue-related rules in the crew rostering system back end in Java to facilitate the generation of legal rosters.
  • Analyzed airline operation manuals to identify the requirements of new client airlines and accommodate their crew management and rostering requirements.
  • Created BIRT reports, such as journey logs and duty sheets, generated from airline crews' duty data.
  • Assisted technical writers with technology and domain knowledge while they compiled user manuals for the airline crew management system.
Technologies: Java, Spring Boot, Oracle Database, BIRT, Algorithms, Hibernate, Web Platforms, SQL, Scrum, Jira, PowerMock, REST APIs, IntelliJ IDEA, Back-end, Design Patterns, Spring, Continuous Integration (CI), Git, Databases, Relational Databases, Oracle, Object-oriented Programming (OOP), Constraint Programming, Operations Research

Research and Development Intern

2015 - 2016
ACCELaero Portfolio
  • Worked on mathematical models and algorithms that automatically distribute cargo inside an aircraft and achieve an aircraft's safe and efficient weight and balance configuration. I used FICO Xpress and Java in these projects.
  • Developed algorithms that solved the aircraft rotation and routing problem using FICO Xpress and Java.
  • Built an IATA SSIM message parser to automatically extract data in a standard SSIM message using the JavaCC parser generator.
  • Proposed a graphical solution to enable crew planners and schedulers to independently program the crew and fatigue-related rules into the automated crew rostering system.
  • Researched machine learning-related algorithms to improve the quality of the flight and cabin crew rosters in automatic rostering concerning fairness and robustness.
  • Investigated the suitability of graph databases (Neo4j) over relational databases (Oracle Database) to represent and store data related to airline crews and duties.
Technologies: FICO Xpress, Linear Programming, Java, Oracle Database, JavaCC, Algorithms, SQL, IntelliJ IDEA, NoSQL, Back-end, Git, Databases, Relational Databases, Object-oriented Programming (OOP), Constraint Programming, Operations Research

aeroCONNECT

A cloud-based messaging middleware for airline, airport, and government software systems that rely on aviation messaging for communication. This system caters to high throughput and scalability by its design of microservices and stream processing-based architecture. aeroCONNECT also communicates bidirectionally with external systems, creates and parses aviation messages (such as PNRGOV, SSM, and ASM in EDIFACT and text formats), and delivers and accepts messages from client systems with persistence and high availability.

Air Arabia currently uses this system in all of its hubs. It has provided a centralized platform for users to manage millions of messages of various specifications during the day-to-day operation of the airline. The integration time of new messages was reduced to two days as a result of this system and its architecture.

I was involved in architecture design, technology selection and training, development, testing, production stabilization, and support.

aeroINVENTORY

An airline seat inventory management system built for Air Arabia. It provides an interactive UI for the users to create and manage seat inventory for flights and APIs to integrate with other systems in the airline's operations. I joined this project midway through its development and went on to develop key features, such as inventory roll forward, inventory transfer, and reprotection.

aeroPRICE

A system for creating and managing airline ticket prices and surcharges. It provides a UI for users and APIs for integration with the product ecosystem. I joined the project after its production release and worked on production stabilization and feature request development to improve the client experience and add value to their operations.

aeroLINE CREW

An essential system used by airlines to manage, pair, and roster flight and cabin crew for their duties. It prominently solved the crew scheduling problem for Air Arabia.

I was engaged with this product for 2+ years, developing the algorithm that distributes crew to pairings and duties. I used a modified genetic algorithm to improve the quality of the output of the solution. I was also involved in understanding airline fatigue-related rule manuals; programming the rules into the system; developing a formula for fair distribution of flight hours, duty hours, and various duty types among the crew; developing reports; and assisting technical writers with product knowledge for the manuals they wrote.

aeroLINE FLEET

A system to keep aircraft utilization high by managing airline fleets while efficiently scheduling aircraft to flights and maintenance procedures. I worked on designing and developing the aircraft rotation and routing algorithm, using the FICO Xpress optimizer, linear programming, and Java.

aeroPORT TRIM

An application to achieve safe and efficient weight and balance of Air Arabia's fleet of A320 aircraft. The core of this system relied on linear programming and operations research and was built using Java and FICO Xpress optimizer. As an intern, I worked on the optimization algorithm for this product and documented it for future reference.

Languages

Java, SQL, C, JavaScript, HTML, CSS

Frameworks

gRPC, Spring, JUnit, Mockito, PowerMock, Spring Boot, Hibernate, Spring Microservice, OAuth 2

Libraries/APIs

Protobuf, REST APIs, API Development, JMS, Apache Lucene

Tools

IntelliJ IDEA, IBM MQ, ANTLR, SonarQube, Jenkins, Jira, Git, JavaCC, JProfiler

Paradigms

Design Patterns, Object-oriented Programming (OOP), Constraint Programming, Scrum, Microservices, Microservices Architecture, Continuous Integration (CI), Scalable Application, Linear Programming, REST

Platforms

Apache Kafka, Oracle Database, Ubuntu, Oracle, Docker, Amazon Web Services (AWS), BIRT

Storage

Databases, Relational Databases, Couchbase, PostgreSQL, Spring Data JPA, NoSQL, MySQL, JSON, Neo4j, Redis

Other

Software Architecture, Architecture, Solution Architecture, APIs, Technical Hiring, Interviewing, Code Review, Source Code Review, Back-end, Distributed Systems, API Integration, Integration, EDIFACT, Electronic Data Interchange (EDI), Micro SOA, Algorithms, Web Platforms, Message Queues, Containers, Task Analysis, ABBYY FineReader OCR API, Scalable Architecture, Operations Research, Debezium, OCR, FICO Xpress, Cdata, Full-stack, Front-end Development, HTTP REST, Full-stack Development

2013 - 2017

Bachelor's Degree in Computer Science and Engineering

University of Moratuwa - Moratuwa, Sri Lanka

AUGUST 2023 - AUGUST 2026

AWS Certified Solutions Architect – Associate

Amazon Web Services

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