Senior Software Engineer

Winnipeg, Canada /
Development /
Please apply if you are innovative and ambitious individual who wants to help build an organisation that makes a positive global impact on society and the environment.

As a Senior Software Engineer at Invenia Labs you will work on building the software components of a distributed machine learning system. In this role you will collaborate closely with Machine Learning Researchers to identify use cases and design maintainable long-term solutions that scale, address current needs while also anticipating future requirements.

Role Description

    • Own software design, integration of components, delivery and deployment.
    • Lead small teams for projects.
    • Innovate new packages for the Julia ecosystem.
    • Create scalable solutions for distributed systems.
    • Contribute to design discussions surrounding the core system.
    • Identify the needs of the research team.
    • Aim to exceed user expectations, ensuring that usability, performance, and correctness are given equal consideration during design and development.

    • Build the software components of the system, including libraries for:
    • Expressing, distributing, and executing complex machine learning pipelines.
    • Complex data querying and preprocessing.
    • Asynchronous communication with other systems.
    • Utility packages supporting the above.
    • Review proposed code and provide feedback.
    • Contribute to open source packages.

Desirable Qualifications:

    • Experience in software engineering/development.
    • Ability to develop and/or deploy distributed applications.
    • Julia, MATLAB or Python development.
    • Parallel or distributed computation (e.g. Dask, Tensorflow, Apache Spark).
    • Basic familiarity with Machine learning, statistics, and/or optimisation.
    • Strong communication skills, especially with regards to requirements gathering and documentation.
    • Linux Containers (especially Docker).
    • Cloud Computing (especially AWS beyond EC2).
    • BSc/BEng degree in computer science or equivalent.
Please note that while this is a flexible hybrid role, it cannot be performed fully remotely. We only consider candidates who already live, or are willing to relocate to our office locations in either Winnipeg, Canada or Cambridge, UK.