Careers - United States
Design Lead - Ballerina Standard Library
It is statically typed, but has a flexible type system with structural types and untagged unions, which gives the language a dynamic flavor, with similarities to TypeScript. It is not an OO language (although it does have object types), nor is it a functional language (although it does have first-class functions and function types). Its type system prioritizes learnability over maximizing type safety. It has explicit error handling, similar to Go, rather than exceptions.
- Ballerina language website: https://ballerina.io/
- Ballerina language specification: https://ballerina.io/spec/lang/2019R3/
- Blog on language concept: https://blog.jclark.com/2019/09/ballerina-programming-language-part-1.html
In 2020, we plan to integrate a series of integration specific features to the language including:
- Declarative data transformations
- Local and distributed transactions
- Deeper database integration
- Language integrated query and streaming query
Ballerina comes with a “batteries included” standard library which is meant to make it very easy to program any network application as all the necessary tools are at the developer’s fingertips. The goal is to have built-in support for all popular network protocols, message formats, and data schemas. A further layer of the standard library will include support for many popular SaaS APIs. We are looking for a person to lead the design work for this standard library.
The ideal candidate must have the demonstrated ability to create beautiful APIs. Understanding integration technology and middleware as they fit with a programming language will be very helpful. They must have experience with a wide variety of programming languages. Experience with TypeScript and Go would be particularly useful. They must be willing to learn the idioms and design principles of Ballerina, and develop API conventions that make effective use of the language. They will lead the creation of a comprehensive standard library that is elegant and easy to use, and will be a key component of attracting new users to Ballerina. They will also contribute to evolving the language, as experience with the standard library identifies areas where improvements are desirable.
The Ballerina engineering team is mostly based in Sri Lanka but we are expanding globally with key leaders in Bangkok, San Francisco, and New York. The ideal location for this person would be San Francisco but other options are possible as well. International experience (especially with global open source projects) would be a great advantage for this role.
The job title and compensation will be tailored to suit the candidate. WSO2 offers competitive compensation consisting of salary and bonus as well as stock options. We also offer a highly flexible work environment.