For companies
  • Hire developers
  • Hire designers
  • Hire marketers
  • Hire product managers
  • Hire project managers
  • Hire assistants
  • How Arc works
  • How much can you save?
  • Case studies
  • Pricing
    • Remote dev salary explorer
    • Freelance developer rate explorer
    • Job description templates
    • Interview questions
    • Remote work FAQs
    • Team bonding playbooks
    • Employer blog
For talent
  • Overview
  • Remote jobs
  • Remote companies
    • Resume builder and guide
    • Talent career blog
MLabs
MLabs

Software Engineer (Haskell, Javascript, Scala, or Rust)

Location

Remote restrictions apply
See all remote locations

Salary Estimate

N/AIconOpenNewWindows

Seniority

N/A

Tech stacks

Software Development
Testing
JavaScript
+48

Permanent role
6 days ago
Apply now

About The Role

Our client is looking for a Software Engineer to join their team, you'll be responsible for writing high-quality code for our products. You'll tackle the exciting challenge of working with cutting-edge research and technology, always with a focus on market needs. You'll collaborate professionally and effectively with software architects, product managers, project managers, formal methods specialists, and QA test engineers.

Responsibilities

  • Follow agile software development practices
  • Work independently on software development tasks with minimal supervision
  • Review specifications produced by architects and formal methods specialists
  • Contribute to the design of algorithms
  • Write clean, straightforward, efficient code that satisfies agreed acceptance criteria and specifications
  • Commit often and submit small pull requests frequently
  • Cover your code with unit, property, and integration tests when applicable
  • Review the pull requests of your teammates
  • Fix bugs in your own code and in legacy code
  • Be available for emergency fixing of severity 1 issues on deployed products
  • Integrate software components and third-party libraries
  • Verify and deploy programs and systems
  • Troubleshoot, debug, and upgrade existing software
  • Write documentation for the code
  • Write technical user manuals
  • Be knowledgeable of distributed and concurrent computation
  • Be knowledgeable of the basics of cryptography
  • Work with teams across multiple time zones

Requirements

Key Competencies

  • Write idiomatic code that satisfies acceptance criteria
  • Write efficient and sufficient tests (unit tests, property tests)
  • Document code and APIs concisely and unambiguously
  • Break down tasks into sub-tasks that are completable in a short amount of time
  • Pragmatically adhere to software engineering principles (modularity, incremental development, no premature optimization, etc.)

Required Experience & Skills

  • A minimum of 2-3 years of development experience (professional or otherwise) in one of the following languages: Haskell, Javascript, Scala, or Rust.
  • Experience working with Git and Git workflow
  • Practical experience with Agile software development methods
  • Knowledge of functional and object-oriented programming paradigms

Specialist Skills (Dependent on Role - Indicate Your Area of Expertise)

Candidates should possess strong skills in at least one of the following specializations:

Haskell Engineer

  • Good understanding of Quickcheck/Hedgehog and property testing
  • Good understanding of concurrent programming / concurrency
  • Good understanding of call-by-need, memoization, and lazy evaluation
  • Experience in similar languages: PureScript, Elm, Idris, Agda, Ocaml, F#
  • Experience with / contributions to GHC (Glasgow Haskell Compiler)
  • Familiarity with frameworks/libraries such as conduit, cryptonite, distributed-process, lens, optparse-applicative, persistent, pipes, servant, stm, template-haskell
  • Proficiency with advanced FP techniques such as: Advanced functional data structures, Dependent types, Extensible effects, Generic programming, Streaming, Type-level programming

Scala Engineer

  • Advanced knowledge of the Scala type system
  • Familiarity with frameworks such as ScalaPB, Scalacheck, Scalatest, Scala.js, doobie, testcontainers, sttp

Network Engineer

  • Familiarity with Poldercast, Dandelion, Kademlia, Tor, P2P architectures and topologies
  • Practical experience with issues related to latency and throughput
  • Knowledge of distributed computing libraries

Cryptography Engineer

  • Familiarity with cryptographic signing systems, Zero Knowledge protocols, Multi Party Computation (MPC)
  • Familiarity with blockchain cryptography and constructions
  • Practical experience with implementation of cryptographic primitives
  • Security sensibility related to cryptographic implementation
  • Good theoretical cryptography and mathematical knowledge
  • Ability to read cryptographic papers

Tools Engineer

  • Experience writing or working with (cross) compilers, object formats, linkers, build systems, IDEs and IDE integrations
  • Experience and enthusiasm for working with large legacy code bases, across multiple languages
  • Ability to reach agreements with upstream developers

Functional Compiler Engineer

  • Expertise in programming language design & implementations including frontends, type systems, program transformations, optimisations, and code generation
  • Familiarity with Human-Computer Interface (HCI) aspects of programming languages and DSLs, programmer tools and analysis (a bonus)

Front End & Full Stack Engineer

  • Proficiency in HTML/CSS/LESS/SASS
  • Experience with CSS Preprocessing
  • Proficiency in Javascript/ES6
  • Experience with NPM, Webpack, Gulp
  • Familiarity with React/Angular/Backbone/Vue/Knockout/MobX/REST API
  • Experience with Electron, Cordova, React Storybook
  • Knowledge of GraphQL
  • Understanding of MVC/MVVM patterns
  • Strong grasp of UX/Design Principles
  • Basic knowledge of image and design editing tools (e.g., Sketch, Photoshop, Zeplin etc)
  • Experience with NodeJS and Docker

Rust Engineer

  • Solid System Programming experience (ideally in Rust, but also relevant experience in C/C++ will be considered)
  • Experience with distributed system and network development
  • Proficiency in software development methods such as agile programming and test-driven development
  • HTTP API understanding as well as accessibility and security compliance
  • Experience in developing cryptography protocols (a bonus)
  • Blockchain experience (a bonus)
  • A track record of delivering software projects from start to finish
  • Proficiency in software development best practices, including design, implementation, testing, and debugging
  • Familiarity with continuous integration and deployment pipelines
  • Experience with cloud platforms such as AWS or GCP
  • Web3 experience (a bonus)

Benefits

How to Apply: Please apply if you think you would be suitable for this role. We look forward to your application and the opportunity to welcome you to our team.

Due to the high volume of applications we anticipate, we regret that we are unable to provide individual feedback to all candidates. If you do not hear back from us within 4 weeks of your application, please assume that you have not been successful on this occasion. We genuinely appreciate your interest and wish you the best in your job search.

Commitment to Equality and Accessibility: At MLabs, we are committed to offer equal opportunities to all candidates. We ensure no discrimination, accessible job adverts, and providing information in accessible formats. Our goal is to foster a diverse, inclusive workplace with equal opportunities for all. If you need any reasonable adjustments during any part of the hiring process or you would like to see the job-advert in an accessible format please let us know at the earliest opportunity by emailing human-resources@mlabs.city.

MLabs Ltd collects and processes the personal information you provide such as your contact details, work history, resume, and other relevant data for recruitment purposes only. This information is managed securely in accordance with MLabs Ltd's Privacy Policy and Information Security Policy, and in compliance with applicable data protection laws. Your data may be shared only with clients and trusted partners where necessary for recruitment purposes. You may request the deletion of your data or withdraw your consent at any time by contacting legal@mlabs.city.

About MLabs

🔗Website
Visit company profileIconOpenNewWindows

Unlock all Arc benefits!

  • Browse remote jobs in one place
  • Land interviews more quickly
  • Get hands-on recruiter support
PRODUCTS
Arc

The remote career platform for talent

Codementor

Find a mentor to help you in real time

LINKS
About usPricingArc Careers - Hiring Now!Remote Junior JobsRemote jobsCareer Success StoriesTalent Career BlogArc Newsletter
JOBS BY EXPERTISE
Remote Front End Developer JobsRemote Back End Developer JobsRemote Full Stack Developer JobsRemote Mobile Developer JobsRemote Data Scientist JobsRemote Game Developer JobsRemote Data Engineer JobsRemote Programming JobsRemote Design JobsRemote Marketing JobsRemote Product Manager JobsRemote Project Manager JobsRemote Administrative Support Jobs
JOBS BY TECH STACKS
Remote AWS Developer JobsRemote Java Developer JobsRemote Javascript Developer JobsRemote Python Developer JobsRemote React Developer JobsRemote Shopify Developer JobsRemote SQL Developer JobsRemote Unity Developer JobsRemote Wordpress Developer JobsRemote Web Development JobsRemote Motion Graphic JobsRemote SEO JobsRemote AI Jobs
© Copyright 2025 Arc
Cookie PolicyPrivacy PolicyTerms of Service