<h3>RUST Developer</h3><p>You will be responsible for improving we build and maintain software, alongside actively contributing to product development. Senior Software Engineer is responsible for the quality of engineering practices within a team. Senior Software Engineers work across teams to identify cross-team improvements (for example) sharing code, removing complexity or implementing new practices. As a senior member of the team you are expected to mentor and grow other software engineers and act as a go-to person within the team and the wider organisation across multiple codebases and languages.</p><h3>Key Responsibilities</h3><ul><li>Advocates for and models great quality with proactive actions, and tackles difficult and subtle system issues</li><li>Uses systematic debugging to diagnose all issues within a set of related domains and leads in fostering a culture of observability and monitoring across several teams</li><li>Regularly works across teams to build a culture for iterative, autonomous development and future scaling.</li><li>Is a technical and prioritisation leader across a set of related team's domains, consistently pushing boundaries and exploring gaps in understanding.</li><li>Is a go-to within the team and the wider organisation across multiple codebases and languages.</li><li>Be proactive and require minimal supervision or mentoring to complete tasks</li><li>Review specifications produced by architects and formal methods specialists</li><li>Lead the design of components and their interactions</li><li>Be available for emergency fixing of severity 1 issues on deployed products</li><li>Integrate software components and third-party libraries</li><li>Verify and deploy programs and systems</li><li>Write documentation for the code</li><li>Write technical user manuals</li></ul><h3>Key Competencies</h3><ul><li>Ability to understand project needs, objectives and timescales to feed into planning and setting deadlines for a specific stream.</li><li>Clearly articulates new issues, suggests changes to management for implementation.</li><li>Write idiomatic code that satisfies the acceptance criteria of a given task</li><li>Write tests (unit tests, property tests) that provide sufficient and non-superfluous efficient code coverage.</li><li>Document code and APIs concisely and unambiguously</li><li>Provide detailed guidance on the work to be done, assist with task assignments and deliver deep reviews and feedback on the work.</li><li>Pragmatically adhere to software engineering principles (modularity, incremental development, no premature optimization, no feature creep, no speculative generality)</li></ul><h3>Education / Experience</h3><ul><li>Degree in Computer Science is desirable but not essential</li><li>7+ years of software engineering experience in the required language ( Haskell, Javascript, Scala, Rust)</li><li>Experience working with Git and Git workflow</li><li>Practical experience with Agile software development methods</li><li>Knowledge of functional and object-oriented programming paradigms</li></ul><h3>Specialist Skills</h3><ul><li>Strong experience with the Rust programming language in production environments.</li><li>Expert-level understanding of Rust’s ownership model, borrowing mechanics, lifetimes, and concurrency paradigms.</li><li>Experience in developing web services and RESTful APIs.</li><li>Understanding of HTTP protocols, accessibility, and security compliance.</li><li>Knowledge of distributed systems and network development.</li><li>Experience with concurrent programming and multithreading.</li><li>Experience with cloud platforms such as AWS, GCP, or Azure.</li><li>Familiarity with containerization (Docker) and orchestration tools (Kubernetes).</li><li>Understanding of continuous integration and deployment pipelines.</li><li>Experience with software development methods such as test-driven development.</li><li>Knowledge of cryptography protocols is a plus.</li><li>Experience with Web3 technologies is an added advantage.</li></ul><p>Originally posted on <a href="https://himalayas.app">Himalayas</a></p>
You will be responsible for improving we build and maintain software, alongside actively contributing to product development. Senior Software Engineer is responsible for the quality of engineering practices within a team. Senior Software Engineers work across teams to identify cross-team improvements (for example) sharing code, removing complexity or implementing new practices. As a senior member of the team you are expected to mentor and grow other software engineers and act as a go-to person within the team and the wider organisation across multiple codebases and languages.
Originally posted on Himalayas