The Role:
Propellerhead is looking for an experienced Senior Software Engineer to join a new service delivery team. You will be designing and building interesting and challenging software products for our customers. Your team will consist of like-minded software craftspeople and will operate with a degree of autonomy seldom experienced in other organisations. We are looking for someone who will enthusiastically help our customers move into the next generation of the internet (Web3), with a particular emphasis on edge computing and self-sovereignty of data and identity. Your team will be active in research-and-development, building proof-of-concept software and evolving that to high-quality, enterprise-grade solutions.
Role Responsibilities:
- Investigating, together with your team, the set of technologies that would best serve the solution you are designing and building.
- Active participation in all aspects of software solution design, including code structure, deployment architecture, DevOps, automated testing and integration of third party systems.
- Collaborating with client stakeholders and with fellow Propellerhead Developers, Analysts, and Solution Architects, to create a shared understanding of the solution design and roadmap delivery in line with agreed budgets.
- Constructing software at every layer of the stack, from user interfaces, back end services, data repositories, interoperability, infrastructure-as-code, deployment pipelines, automated testing and system monitoring.
- Providing second-line support of the systems you build and actively seeking ways to keep your software secure, performant and reliable.
- Passing on your learning of new technologies or techniques to the broader organisation as part of our knowledge sharing programme.
Skills and Experience Required:
- High proficiency in at least one enterprise-quality programming language and its ecosystem. For example, C# .NET or Java and Spring.
- Some experience with a lower-level language for application or systems development such as Rust (preferable) or C++.
- Experience in TypeScript and React or similar front-end frameworks, and a well-developed understanding of web application development.
- Hands-on experience deploying to Azure and/or AWS, including participation in building CI/CD pipelines.
- Experience with Terraform or similar infrastructure scripting framework is desirable.
- Demonstrable experience in software design for distributed and asynchronous architecture. In particular, you will need to show examples of projects using microservices and messaging where you have been a key contributor to the design and construction.
- Experience using techniques such as user stories to express the work to be done as business outcomes.
- You can produce clear and concise design documents.
- You have excellent written and verbal communication skills to translate between requirements and technical tasks.