As a software engineer in the Platform team at IOTICS, you’ll help us build and design the software that underpins our product, IOTICSpace. This role is multifaceted and will provide an opportunity to work on a broad range of technologies across our stack, including p2p networks, management of metadata, the internal bus, web API, network API and build/deploy pipelines. Our immediate focus is on delivering increased performance and stability to our product, as well as adding new features to enable the IOTICS vision.
We are IOTICS
We're transforming the way the world uses and shares data. A better world will be built on better data interactions - with individuals, enterprises, and communities safely, creatively, collaborating.
This isn’t simple, easy, or predictable – it’s challenging and audacious. If you’re ready to join our journey, inspire the world and champion users as we develop and expand our product, we’d love to work with you.
Software Engineering at IOTICS:
As a software engineer in IOTICS you will help drive product development in a team where nothing is someone else's problem. Where no-one else is going to tell you how to do your job. Where no-one will make your decisions for you but everyone will help everyone else get better at making the right decisions. We encourage fearless decisions and no-blame culture.
We are a fast paced startup, with many more things that we would like to do than there is time for. We are always looking at how to be more agile, more efficient and more effective. We encourage courageous decisions rather than punishing mistakes. And we want tooling that helps us to move faster rather than processes that slow us down.
- Develop across the back-end tiers of our ‘Host’ stack, writing highly scalable services and systems primarily using Golang & Python but we consider alternatives where it makes sense
- Create, test, deploy and maintain our platform, including our web API, internal bus, network API and metadata repositories (we currently use Golang, Python, Redis and Fuseki among others)
- Analyse and improve efficiency, scalability and stability of our products
- Prototype new concepts and apply creative suggestions for implementing new features
- Interface with other teams to incorporate ideas and features, keep improving our stack
- Analyse and make proposals to improve the efficiency, testability, maintainability, scalability and stability of our products
- Expand/progress/innovate the technology that the projects use
- Be open minded and collaborate with the other team members via mob-programming, knowledge sharing and peer review
What We’re Looking For:
- A coding language is just a tool for you and you enjoy the opportunity to learn new languages as necessary for the task at hand
- Embrace modern Agile and DevOps methodologies
- Experience of building, deploying and operating containerized services (e.g. Docker, Kubernetes, Helm, Terraform) within on-prem and cloud (e.g. AWS)
- Experience in API development (e.g. REST, gRPC, GraphQL, SDK development)
- Experienced creating effective metrics and alerts
- Collaborative decision maker; able to take input/feedback from the development team and take ownership of taking risks in moving the product forward and failing fast
- Be trustworthy in a situation with a high degree of self-management and comfortable working remotely
- Code quality and following good practices are not just buzzwords for you; You can identify the benefits that this brings your team on a daily basis
- Low drama; Look to resolve problems, not amplify them
- Appreciate the value diversity in all its forms brings to our team and company
Nice to have:
- Exposure to distributed/decentralised systems and messaging protocols
- Experience in operating and maintaining CI/CD pipelines
- Relevant technical experience in areas such as decentralised systems (p2p) and fault-tolerant systems, cloud native architectures, infrastructure, real-time systems and reactive programming
- Interest in semantic web technologies (RDF, SPARQL)
- Experience in working on an Open Source projects
- Pair Programming
- A positive, empowering culture based on trust and respect
- Remote and flexible working
- Exposure to an embryonic and potentially disruptive sector of the industry
- Pension contributions and life insurance
- Part ownership of the business through the Staff Options Pool
- 25 days holiday plus bank holidays and the option to take additional holidays for special occasions
- And, restrictions permitting: a few great parties and company/team get togethers!