< Back to all results

May 6

Overview

Luna (http://luna-lang.org) is an award-winning data-science platform, selected by NASA and Singularity University as 1 of the 20 most impressive technologies worldwide. We are looking for senior Haskell developers for a variety of roles, including Compiler Engineer, DevOps Engineer, GUI Architect, and Cloud Software Engineer. If you have strong technical skills and a passion for functional programming, then this role could be the one for you.

Working on the design and implementation of the new portions of the compiler.

Both practical and theoretical work on improving Luna's type-system.

Practical work improving both the performance of the compiler and its capabilities.

Work on pass-based optimizations to improve the performance of Luna itself.

Work on developing the new Luna runtime, including the JIT compiler, base on the infrastructure provided by GHC (the Glasgow Haskell Compiler).

Designing and developing mechanisms for foreign language interoperability, to allow users to seamlessly integrate Luna with other languages in their stack.

Practical and rich experience writing code in Haskell, including experience with lenses, arrows, monad transformers, free monads, catamorphisms, GADTs, type families, existential types, template Haskell, generics, type applications, continuations and modern type-level programming, such as -XTypeInType (3+ years).

Experience reasoning about and debugging performance issues in Haskell code.

Practical experience building large and complex software systems.

Experience in building compilers or the design of type-systems.

Familiarity with the GHC Core language, and the GHC pipeline.

Experience with dependent type systems, row types, type-checking algorithms, and type-inference.

Familiarity with LLVM and its architecture.

Working closely with the internal teams to design a secure and scalable SaaS architecture, including user management, load-balancing, file management, on-demand scalability. 

Developing a SaaS solution based upon that design with robust tooling and reliability, as well as inbuilt support for collaboration.

Hosting the architecture on a cloud provider without becoming too dependent on any one given platform.

Contributing to the evolution of this vibrant open-source project by bringing a new component to its ecosystem.

A strong focus on security and scalability.

3+ years of experience in designing secure, scalable, and collaboration-ready SaaS architectures.

A strong understanding, based on practical experience, of cloud virtualization techniques.

Practical experience in building, scaling, and maintaining such infrastructure.

3+ years experience with one or more of AWS, Azure, Google Cloud, or Digital Ocean.

Experience working in close conjunction with multiple product teams.

Experience building SaaS deployments that are designed to be independent of the underlying cloud provider.

Experience in Haskell or other purely functional programming languages.

Spearhead the architecture and design for the new version of Luna Studio, its event system, and its plugin architecture.

Design and implement purely functional bindings to our JavaScript WebGL drawing framework.

Working closely with stakeholders and customers to design an interface that is both intuitive and fluid to work with.

Implementing these solutions using modern front-end web-development technologies in a cross-platform manner to create an application that can run both in the browser and in electron.

Managing and working around cross-browser compatibility issues.

Contributing to the testing and integration of the user interface, from both functional and UI standpoints.

A strong focus on both user experience and aesthetics.

Practical and rich experience writing code in Haskell, including experience with lenses, monad transformers, free monads, overlapping type classes, GADTs, type families, existential types, template Haskell, generics, type applications, and continuations.

Practical experience building large and complex software systems.

Practical experience architecting user-facing applications, with a focus on enabling user workflows.

A strong understanding, based on practical experience, of modern front-end frameworks, with a focus on React.

Experience with GHCJS, TypeScript, and RxJS.

An understanding of cross-browser compatibility issues, and experience working around such problems.

Familiarity with front-end build tools such as Webpack and Gulp.

Experience with testing tools, both for integration and for front-end (e.g. Selenium).

Experience with visual programming systems such as Houdini, Max/MSP, Lab VIEW, or Touch Designer.

Working closely with the compiler and IDE developers to create tailored solutions for the CI, and CD of Luna and Luna Studio.

Create solutions for packaging Luna and Luna studio in a way that can be run across myriad computing systems.

Create frameworks for creating packages in an operating-system independent manner.

Contribute to the future of a rapidly growing open-source project, and its ecosystem.

Practical and rich experience writing code in Haskell, including experience with lenses, monad transformers, free monads, overlapping type classes, type families, and template Haskell.

Knowledge of Haskell build processes (e.g. cabal the library, custom Setup.hs files).

Practical knowledge of the ways that executables and library loading works on Linux, MacOS, and Windows, and the differences between them.

Experience with how the above differences affects packaging, and the skills to debug related issues.

Practical experience with designing and implementing automated pipelines for building, setting up environments for, testing, and packaging complex projects.

Practical experience with some CI/CD system (we use Azure Pipelines).

A focus on robustness, repeatability, and debugability, with an inclination to automation of tasks for integration with build- and development-tools.

An understanding of the security concerns related to the above tasks.

Experience with automated, high-level testing, particularly for GUI projects (e.g. Selenium).

Experience with C++ Build Systems (e.g. CMake and MSBuild)

Knowledge of computer networking and the operation of VPNs.

Apply

July 18

July 17

July 16

July 14

July 13

July 12

July 10

July 6

View all recent jobs