The Principal Software Engineer is responsible for all aspects of the development of platforms and applications in this multi-dimensional role. This role works with Product Managers on specific issue design, Technical Architects on establishing designs for excellent solutions, Team Leaders on release planning, and fellow Engineers to execute the delivery of solutions. This is a highly skilled hands-on role requiring subject matter expertise, extensive proficiency involved in all aspects of cloud-based solutions to deliver complex features. Subject to their specialization, they will lead the design, development, testing, publishing, and/or support of different cloud-based products and solutions. They will be the providing subject matter expertise for customer implementation and cloud platform support. The role will work closely with a global team of engineers to build robust solutions that meet our business objectives following continuous integration and continuous deployment processes, while supporting Senior Software and Software engineers.
****Must be living in Scotland****
1. Participate in technical requirements though to delivery.
2. Meet quality gates for deliverables by ensuring that all content and information distribution channels are available at high quality and are current
3. Mentor Senior Software and Software Engineers
4. Ensure customer success when called upon to assist in complex issues
5. Accurate estimates for all aspects of solution development
6. Specific MBOs as agreed with Manager
Essential
7. Development experience with Java
8. Knowledge of API development, particularly REST, and tools such as Postman
9. Experience of JavaScript frameworks such as React
10. Experience with leveraging JavaScript libraries as well as using package managers like NPM
11. Good understanding of web markup, including HTML5, CSS3
12. Experience of working with Java Spring frameworks
13. Advanced knowledge and experience of working with various debugging tools within Java, web dev tools and SQL environments.
14. Experience with software design and development in a test-driven environment
15. Experience with Agile development methodologies
16. Knowledge of behaviour driven development practices using technologies such as Cucumber
17. Experience of software automation tools such as Selenium.
18. Knowledge of software performance testing and profiling tools
19. Experience of version control systems. GitHub
20. Advanced knowledge of an IDE ., Eclipse, IntelliJ IDEA
21. Experience of continuous integration systems. Jenkins, Harness
22. Advanced knowledge and understanding of software development life cycle methodologies.
23. Knowledge and understanding of RDBMS such as Oracle, SQL Server or Postgres