Company

Opa jobs & career opportunities

Job offers

2 software engineers in Normandy, France

Founded with the goal to become the worldwide leader in the mapping of offline to online content, an ambitious startup in Normandy, France is now recruiting 2 Opa engineers.

Who are we looking for

Ideally holding a Bachelor or Master degree in Computer Science, you have a background of at least two years in application and web development.
You will be developing in the new, open source, Opa programming language: we expect that you have some knowledge of Opa showing your ability to find solutions and learn quickly by yourself.
We expect you to know the web platform well (HTML5, JavaScript, CSS) and know several programming languages, ideally with several paradigms (imperative, functional, etc.).

You are efficient, organized and have a passion for making great web applications (show us), you care about design since you care about the users.
You are fluent in English and have ideally a good level in French, or at least the willingness to learn.

About the recruiting company

The startup, which just successfully raised $1.7M, is based near Rouen, a lovely city rated (***) by the Michelin guide. It has secured international partnerships with key actors from the credit card ecosystem.
The company will offer you a warm-hearted work atmosphere where you will have the opportunity to make yourself heard and evolve -- not to mention a very interesting compensation package according to your profile.

Send your resume and cover letter to jobs@opalang.org.


Internship offers

6 internship offers in Paris, France

MLstate, the company behind Opa, is welcoming talented students for cutting-edge internships. See the ads below for some hot topics we are interested in.

If you would like to apply, please send your resume and cover letter to jobs@opalang.org.

Widget factory: binding Javascript widgets in Opa

As Web application become the new standard in software development, a growing number of Javascript libraries are used daily by Web developers to augment their productivity.

This internship aims to make the features of these libraries available in Opa, starting with the most common libraries of widgets (jQuery UI, boostrap JS, etc).

The candidate should have excellent skills in Javascript and web programming.

Querying the web from Opa

Many famous Web companies (Amazon, Facebook, Foursquare) have based their success on the development of an ecosystem of partners. Partners typically access the functionalities of the platform through a public Web API.

The goal of the internship is to provide bindings for the most famous missing APIs in Opa. At the same time a testing platform will be developped to test online the non-regression of our code and the stability of external APIs.

The candidate should have excellent skills in Javascript and web programming.

Adding support for relational databases in Opa

The Web developping platform Opa has so far concentrated on its own database engine as well as the connection to existing NoSQL databases.

The goal of this ambitious internship is to create the fundations of a framework for connecting relational databases to Opa (starting with MySQL). Different levels of integration will be experimented and successively made available (roughly: an untyped low-level API, a dynamically typed API, and a statically typed API generated at compile time).

This internship requires excellent skills in functional programming (Ocaml, F#, Haskell, Scala) and a very good knowledge of the SQL language and its concepts.

Creation of a generic Opa forge on the «cloud»

The Opa platform relies on an extended toolset for nonregression testing and automatic compilation of releases and packages.

This internship aims to create and experiment the next version of these integration tools that will be fully run over the « cloud » and with an increased focus on cross-compilation and cross-testing.

Candidates to this internship should demonstrate good skills in virtualization systems, packaging, scripting, and a previous experience in contributing to a large software project.

Creation of a framework for intensive testing of Opa web applications

The Opa platform benefits from a very clean design where many software-validation tasks and security-related tasks have been transferred one and for all from the programmers of applications to the Opa compilers. Yet this does not suppress the needs for fully validating production software before they are released, and monitoring them afterwards.

The goal of this internship is to extend the set of tools and libraries available for testing, benchmarking and monitoring the specific functionalities, the stability and the security of Opa applications. Examples of such extended tests include: checking the absence of SSL security alerts, checking the absence of dead buttons and dead links, checking availability of specific features and services, assessing the uptime of the application in realistic conditions, assessing the stability and benchmarking the performances of client-side interfaces, etc.

Candidates to this internship should demonstrate excellent skills in web development.

Automatic generation of database migration tools in a uniform typed setting

Migrating production data to the next version of a software has always been the nightware of computer specialists. A very nice property of the Opa language is that the datatypes of an application are specified in the language itself. These datatypes are then used by the compiler to generate the typed API that will access the database engine. (Typically this implies generating a database schema from Opa datatypes.)

The goal of this internship is to take advantage of this design to provide a uniform solution for migrating databases of Opa applications. The solution will work by inspecting the datatypes of the current and the next versions of a software. Then a number of default translation functions will be automatically generated in a separate file. This file will be optionnally manually updated, then compiled and used for migrating data.

This internship requires very good skills in functional programming (Ocaml, F#, Haskell, Scala). Some experience in database systems will be appreciated although not strictly necessary.

The browser you use is not supported by this application, probably because it lacks some critical features.
For a better experience, please consider using this application with a supported browser.