What you will be doing?
A Principal Software Engineer is responsible for technology architecture, and works across all teams, delivering quality software on schedule that delivers on the CarTrawler business strategy. Fosters a culture of high performance and enthusiasm, defines our software development practices and maintains an environment of achievement, reward and respect. Works closely with Engineering, IT and Product to ensure we deliver car rental booking technology of the highest standard that meets our car booking customer requirements and our travel partner business and revenue requirements.
Main accountabilities and key tasks:
- Working with Engineering and Product to ensure understanding of business requirements.
- Foster code reuse, maintainability and consistency across multiple development teams. Provide guidance on how to build reusable components.
- Instrumental in technical design. Ensuring best practices and recognised design patterns are adopted. Striving for simplicity. Providing the technical vision for the wider team.
- Considering quality up-front. Providing vision to the team in terms of pragmatic, defensible test strategies that ensure a desired level of quality.
- Instrumental in ensuring and reporting on efficiency and performance of the technology stack.
- Assisting software engineers with complex tasks, and initiating high level discussions and championing solutions to architecture changes across the wider team.
- Introducing modern tools, libraries & method, creating proofs of concept and bringing ideas to life.
- Engineering Management to ensure delivery of quality software on schedule.
- Product and Design to ensure alignment on meeting product visions and goals.
- IT to ensure successful operation of our software solutions.
- External partners to assist integration of our software solutions.
- Be an engineer at heart with the ability to write and review code, have a passion and pride in the applications that you deliver.
- Have experience setting an example and being a role model to engineers.
- You should thrive in a highly agile environment where you can work with teams through estimation of tasks, technical planning, development and deployment.
- Have the experience, intuition and self-confidence to complete complex tasks yourself and also mentor others and have some input toward the growth of their skills.
- We always have problems to solve, that`s what makes software development fun and a challenge. Having the ability to step back and solve problems holistically and not just locally is an essential skill to have.
- Be comfortable designing a technical vision. As we strive to continually improve, you will be essential on this journey so having excellent knowledge of software development best practices (including test-driven development and continuous integration) is required.