Description
You will be responsible for the operational stability of the products you build, and be in a position to affect change in the on-going robustness, resilience and stability of those products.You will contribute to the overall Software Development Lifecycle Process within Software Engineering, following the agreed Architectural & Software Engineering principals to ensure the products developed are fit for purpose.
Key Responsibilities:
- Deliver software products which make up services for our citizens to consume
- Transform business requirements in to production ready code
- Ensure system robustness, resilience and stability
- Design and develop reusable libraries and services and promote reuse across the department
- Contribute to community discussions about best practice within Software Engineering
- Produce comprehensive suites of automated unit and integration tests to ensure code quality
- Assure there is a fit for purpose, robust automated test suite
- Provide coaching and mentoring to Software Engineers colleagues and peers
- Assist in the development of medium-long term strategies for products
- Define version control strategies for the source code of the product
- Identify and resolve issues preventing delivery or continuation of software engineering activities
- Collaborate across teams and liaise with Principal Software Engineers and Technical Architects to investigate technical solutions
- Produce comprehensive technical documentation for wider consumption
Experience Required:
- Experience of leading Software Engineers in a complex, multi-disciplinary environment, delivering products within specific time-scales and engaging with multiple senior Stakeholders
- An ability to quickly comprehend and convert business requirement into technical solutions
- Significant and demonstrable development experience in
- source technologies like Java, JavaScript, Node.js
- Significant and demonstrable knowledge of both SQL and no-SQL database applications such as Postgres, MySQL, and MongoDB
- Significant and demonstrable experience working with distributed version control systems such as Git
- Significant and demonstrable experience of test-driven development alongside use of automated test frameworks
- Significant and demonstrable experience implementing Software Engineering best practices
- Experience of developing in cloud based environments
- Significant and demonstrable experience of using Linux based Operating Systems like RHEL
- Demonstrable experience working with Software Engineering collaboration tools such as Jira, Confluence, Slack
- Demonstrable experience of Behaviour Driven Development with tools like Cucumber
- Experience of modifying and maintaining systems and code developed by other Software Engineers
- Experience building public facing and internal REST APIs
- Experience developing software within a Micro-Service architecture
Michael Bailey International is acting as an Employment Business in relation to this vacancy.