Founded in 2015, IO Global is one of the world's pre-eminent blockchain research and engineering companies, best known for the Cardano blockchain platform. We are a fully decentralized, remote-working organization committed to the highest principles of academic rigour and evidence-based software development. The company builds high-assurance blockchain products for public and private sector clients. Our goal is simple - to fuel our drive to be best in class by giving you the opportunity, resources and support to deliver your finest work to date. You'll work with some exceptionally talented and friendly individuals who are always open to new ideas and ways of working. IO Global is an advocate of decentralized remote working, with 300 people working in more than 50 countries. Everyone has a different skill set, a different culture, and is at a different stage in their life. We aim to make collaboration between diverse people fun, exciting, and always rewarding. Many companies say they 'think outside the box' - for IO Global it's more, 'we think outside the geography'. About the role:
We are searching for an experienced Software Engineer to join our Rust team. As a Software Engineer at IO Global you are responsible for writing high-quality code for our products. You have the exciting challenge of working with cutting-edge blockchain research and technology with a focus on the market's needs. To support you in this challenge, our products have software architects, product managers, project managers, formal methods specialists, and QA test engineers, with whom you must communicate professionally, effectively and efficiently.
Follow agile software development practicesWork with teams across time zonesBe proactive and require minimal supervision or mentoring to complete tasksReview specifications produced by architects and formal methods specialistsContribute to the design of algorithmsWrite clean, straightforward, efficient code that satisfies acceptance criteria and specificationsCommit often and submit small pull requests frequentlyCover your code with unit, property and integration tests when applicableReview the pull requests of your team membersFix bugs in your own code and in Legacy code from othersBe available for emergency fixing of severe issues on deployed productsIntegrate software components and third-party librariesVerify and deploy programs and systemsTroubleshoot, debug and upgrade softwareWrite documentation for your codeWrite technical user manualsDevelop your knowledge of distributed and concurrent computationDevelop your knowledge of the basics of cryptography Requirements: Degree in computer science is desirable but not essentialIdeally, one to two years' development experience using Rust. If you have experience of C/C++ and demonstrate good knowledge of Rust (professional or otherwise) you will also be consideredExperience working with Git and Git workflowPractical experience with agile software development methodsKnowledge of functional and polymorphism programming paradigmsSystem programming experience: you'll have strong experience in system development (ideally in Rust, but relevant experience in C/C++ will be considered)Distributed system and network development, knowledge of asynchronous programming paradigms, especially as applied to RustSkilled in software development methods such as agile programming and test-driven developmentExperience in developing cryptography protocols would be a bonus, as would blockchain experience -All Colleagues: Flexible scheduleRemote work - ability to work anywhereLaptop reimbursementNew starter package to buy hardware essentials (headphones, monitor, etc.)Learning & Development opportunitiesCompetitive 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 dependentsHealth Savings AccountLife Insurance UK Employees: Monthly Health Stipend to use towards any wellness or medical coverage/servicePension Screening callTech Test or Task2 x Interview roundsHR callOfferRust, TDD, BDDRust, C++, TDD