IOG, creator of the Cardano blockchain platform, is searching for a Scala Software Engineer to join an exciting new project! At IOG we do things that have never been done before in ways that have never been done before. We are looking for the very best people to join us, work with us and help us to change the world. If you are a problem-solver who is self-driven with a black belt in getting stuff done, we want to talk to you!
Our blockchain engineers, app developers, theorists and community managers are working together in a start-up-like environment to add collaboration tools to human processes and create a friendly and engaging experience.
You will follow agile software development practices and work with teams across time zones. To enjoy this role you will be comfortable working independently on development tasks, and covering your code with unit, property and integration tests when applicable. You will review the pull requests of your team mates, fix bugs in your own code and in legacy code from others. You may need to be available in emergencies to fix deployed products. As part of this role you will also integrate software components and third-party libraries.
Here are some examples of the duties:
- Follow agile software development practices
- Work with teams across time zones
- Work independently on software development tasks
- Review specifications produced by architects and formal methods specialists
- Contribute to the design of algorithms
- Write clean, straightforward, efficient code that satisfies acceptance criteria and specifications
- Commit often and submit small pull requests frequently.
- Review pull requests from other team members
- Fix bugs in your own code and in legacy code from others
- Verify and deploy programs and systems
- Troubleshoot, debug and upgrade existing software
- Write documentation for the code
- Write technical user manuals
- Update your knowledge of distributed and concurrent computation.
- More than six years’ experience of diverse and complex software development
- More than three years of Scala development
- Advanced knowledge of the Scala type system
- Familiarity with frameworks such as Akka, Monix, Shapeless, ScalaCheck and ScalaTest.
- Practical experience in the use of profilers, VM and GC tuning
- Experience of or knowledge of blockchain or cryptography-related fields
- Fluent in reading or writing formal specifications
- Experience of or knowledge of distributed, complex networks and/or decentralized systems
- Experience of working in distributed teams (self-management, fluent English)
- Experience of OS development
- A commitment to documentation and testing.