Description
IO Global is searching for a Haskell engineer (with Nix experience and interest) to join our rapidly expanding Engineering function. You will be working with our Tracing and Benchmarking team on one of our most exciting projects – Cardano – and taking responsibility for writing high-quality infrastructure code for automated benchmarking of our products. As a Software Engineer at IOG, you will have the exciting challenge of working on cutting-edge research and technology with a focus on the market needs.
As a member of the Tracing and Benchmarking team, you’ll be building and using the automation that allows exploration of the systems’ predictable range of operation.
Your mission
- Follow agile software development practices
- Work with teams across multiple time zones
- Work independently on software development tasks
- Be proactive and require minimal supervision or mentoring to complete tasks
- Review specifications produced by architects and formal methods specialists
- Contribute to the design of algorithms
- Write clean, straightforward, efficient code that satisfies previously 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 team-mates
- Fix bugs in your own code and legacy code from others
- 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 about distributed and concurrent computation
- Be knowledgeable about the basics of cryptography.
Requirements
Your expertise
- A degree in Computer Science is desirable but not essential
- A minimum of 2-3 years of development experience (professional or otherwise) in Haskell
- Experience working with Git
- Knowledge of functional and object-oriented programming paradigms
- 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/contributions to the Glasgow Haskell Compiler (GHC)
- Familiar with frameworks/libraries such as:
- generics-sop, containers, stm, optparse-applicative, aeson, servant, persistent, template-haskell
- Proficiency with advanced FP techniques such as:
- Advanced functional data structures, Dependent types, Extensible effects, Generic programming, Streaming, Type-level programming
- Basic Nix skills & interest to grow in that direction.
- Practical experience of agile software development methods
Benefits
Location
- IOG is a fully distributed organization and therefore this is a remote position. Due to team distribution we are ideally searching for someone in a European timezone.
All Colleagues
- Flexible schedule
- Remote work - ability to work anywhere
- Laptop reimbursement
- New starter package to buy hardware essentials (headphones, monitor, etc)
- Learning & Development opportunities
- Competitive PTO and Sick Leave plan
US Employees
- Medical, Dental, and Vision benefits coverage through Anthem with 100% premium cost covered by IO Global for the employee and dependents
- Health Savings Account
- Life Insurance
UK Employees
- Monthly Health Stipend to use towards any wellness or medical coverage/service
- Pension