nipunaranasinghe
Nipuna Ranasinghe
Associate Technical Lead at WSO2
Colombo, Sri Lanka

Working as a lead developer in Ballerina language team and previously worked as a research officer in StatNLP group in Singapore University of Technology and design. Lead developer of the International Autonomous Robotics Challenge 2016 (Kanpur, India) winning team and the national team for ABU Robocon 2017 (Tokyo, Japan) More interested in algorithm development, robotics, and machine learning.

CodersRank Score

What is this?

This represents your current experience. It calculates by analyzing your connected repositories. By measuring your skills by your code, we are creating the ranking, so you can know how good are you comparing to another developers and what you have to improve to be better

Information on how to increase score and ranking details you can find in this blog post.

909.8
CodersRank Rank
Top 1%
Based on:
Stackoverflow 18 events
Senior Developer
Java
Java
Top 5
Ballerina
Ballerina
Developer
Sri Lanka
Top 5
Java
Java
Developer
Sri Lanka
Highest experience points: 0 points,

0 activities in the last year

List your work history, including any contracts or internships
WSO2
6 years 8 months
Sri Lanka Current workspace
Currently Nipuna Ranasinghe supports the WSO2

Nipuna Ranasinghe's scores will be added to this company.

Associate Technical Lead
Jun 2021 - Present (3 years 5 months)
Ballerina is a programming language designed for network distributed application development. Ballerina developer tooling provides a numerous set of tools including CLI tools, compiler extensions, language plugins, IDL extensions, etc. As an associate technical lead, I have been playing the following primary roles.

1) Role of lead engineer - Responsible for developing the Ballerina debugger and semantic versioning validator tool.
- Mentor an intern project to introduce the semantic versioning validator CLI tool for Ballerina language, which prevents pushing packages to Ballerina central with Semver incompatible changes.

2) Role of Ballerina Dev tooling team lead - Responsible for overall output of a 6-member team.
- Provide technical leadership for the design and the implementation of Ballerina OpenAPI converter tools
- Conduct architectural and code reviews for the components that resides under Ballerina tooling

3) Role of Engineering Manager - Responsible for quality of work, deliverables of a 8-member team
- Identify bottlenecks in the process and roadblocks to success of my team and clear the roadblocks
- Partner closely with the Product lead to manage project scope and ensure the technical deliverables are met
- Identify headcount needs for the team, plan and recruit to fill the needs
- Manage team members with different skill sets
- Solicit and Deliver individual feedback frequently
- Fill in the Performance Appraisal Review (PAR) for each team member
- Provide technical input for developer tooling design and implementation
Senior Software Engineer
Jul 2019 - Jun 2021 (1 year 11 months)
Ballerina is a programming language designed for network distributed application development. Ballerina developer tooling provides a numerous set of tools including CLI tools, compiler extensions, language plugins, IDL extensions, etc. As a senior software engineer, I have contributed to the Ballerina compiler and developer tooling with the below contributions.

- Design and implement a LSP(Language Server Protocol) client library called 'LSP4IntelliJ' for Jetbrain IDEs, which received a massive community attraction and currently being continued as a community-driven open source project under the official Ballerina Platform GitHub Organization.
- Design and implement the debugger tool for the Ballerina language from scratch, with the support for conditional Breakpoints, logpoints, stepping (in/out/over), stacktrace view, variable view, watch window, expression evaluation support, etc.
- Optimize Ballerina compiler to reduce the jar creating time by 10x using Ballerina JAR compression + creation related optimisations.
- Initiate the effort to create custom JREs for Ballerina runtime.
Software Engineer
Feb 2018 - Jun 2019 (1 year 4 months)
Ballerina is a programming language designed for network distributed application development. Ballerina developer tooling provides a numerous set of tools including CLI tools, compiler extensions, language plugins, IDL extensions, etc. As a senior software engineer, I have contributed to the Ballerina developer tooling with the below contributions.

- Improved Ballerina IDE support and developer experience by designing and developing the Ballerina language extension for IntelliJ platform IDEs
- Designed and developed a set of Ballerina connectors by integrating REST APIs such as Jira, Google calendar, etc.
- Enhanced WSO2 customer support engineering process by improving the existing WSO2 CIP (Customer Information Portal) backend using Ballerina language
Asia Pacific Broadcasting Union
Feb 2017 - Aug 2017 (6 months)
Tokyo, Japan
Team Member - National Team for ABU Robocon 2017
The ABU Asia-Pacific Robot Contest (ABU Robocon) is founded in 2002 by Asia-Pacific Broadcasting Union. In the competition robots compete to complete a task within a set period of time. The contest helps advance engineering and broadcasting technologies in the region. The event is broadcast in many countries through ABU member broadcasters.
I contributed as the lead programmer of the national team, which was qualified from the national round and represented sri lanka for ABU Robocon 2017, which was held in Tokyo,Japan
Singapore University of Technology and Design (SUTD)
Aug 2016 - Jan 2017 (5 months)
Singapore
Research Officer Intern
I worked at StatNLP Research Group under Professor Lu wei and gained experiences in
• Machine Learning for Cyber Security
• Using supervised models for malware classification and behavior prediction tasks
Machine learning

Request failed with status code 503

Jobs for you

Show all jobs
Feedback