Lakshan Hettiarachchi, Back-end Developer in Kandana, Western Province, Sri Lanka
Lakshan Hettiarachchi

Back-end Developer in Kandana, Western Province, Sri Lanka

Member since October 21, 2021
Lakshan is a back-end Java developer with 6+ years of experience working on long-term projects in the airline domain, from architecture design to development, testing, production stabilization, and support. At ACCELaero, Lakshan advanced from an R&D intern to an R&D engineer, senior software engineer, and tech lead. With strong analytical and problem-solving skills and on-demand learning, Lakshan plays a pivotal role in shaping the systems he builds to be robust, productive, and maintainable.
Lakshan is now available for hire

Portfolio

Experience

Location

Kandana, Western Province, Sri Lanka

Availability

Part-time

Preferred Environment

Ubuntu, IntelliJ IDEA, Java, Scrum

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.

Employment

  • Tech Lead

    2020 - PRESENT
    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.
    • 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, IntelliJ IDEA, Jira, PowerMock, RESTful APIs, NoSQL, Message Queues, REST APIs, Technical Hiring, Interviewing, IntelliJ, Code Review, Source Code Review, Back-end, Containers, Design Patterns, Distributed Systems, Task Analysis
  • 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.
    • 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, AWS, Couchbase, gRPC, Protobuf, REST, JMS, IBM MQ, ANTLR, Docker, SMTP, POP3, JUnit, Mockito, SonarQube, Jenkins, Jira, Microservices Architecture, Spring Microservice, Microservices, Spring Data JPA, Web Platforms, APIs, Solution Architecture, SQL, Architecture, Software Architecture, Scrum, IntelliJ IDEA, PowerMock, RESTful APIs, NoSQL, Message Queues, REST APIs, Redis, Technical Hiring, Interviewing, IntelliJ, Code Review, Source Code Review, Back-end, Containers, Design Patterns, Distributed Systems, Task Analysis
  • 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, IntelliJ IDEA, Jira, PowerMock, REST APIs, IntelliJ, Back-end, Design Patterns
  • 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

Experience

  • 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 bi-directionally with external systems, creates and parses aviation messages, 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.

Skills

  • Languages

    Java, SQL
  • Frameworks

    gRPC, JUnit, Mockito, PowerMock, Spring Boot, Hibernate, Spring Microservice, OAuth 2
  • Libraries/APIs

    Protobuf, REST APIs, JMS
  • Tools

    IntelliJ, IBM MQ, ANTLR, SonarQube, Jenkins, Jira, JavaCC, IntelliJ IDEA, JProfiler
  • Paradigms

    Design Patterns, Scrum, Microservices, Microservices Architecture, Linear Programming, REST
  • Platforms

    Apache Kafka, Oracle Database, Ubuntu, Docker, BIRT
  • Other

    Software Architecture, Architecture, Solution Architecture, APIs, Technical Hiring, Interviewing, Code Review, Source Code Review, Back-end, Distributed Systems, Micro SOA, Algorithms, Web Platforms, RESTful APIs, Message Queues, Containers, Task Analysis, AWS, FICO Xpress
  • Storage

    Couchbase, PostgreSQL, Spring Data JPA, NoSQL, MySQL, Neo4j, Redis

Education

  • Bachelor's Degree in Computer Science and Engineering
    2013 - 2017
    University of Moratuwa - Moratuwa, Sri Lanka

To view more profiles

Join Toptal
Share it with others