Our Principal Engineers are part of a community of our most senior engineers focusing on the organization's most complex, ambitious problems. You will take ownership of technical architecture and operational excellence and lead some of the most important bodies of technical work in the organization. You will be a core contributor to the organisation's “north star” technical strategy, working with other engineering leaders to drive decisions around programming languages, architecture, products, tools, approaches, and processes. Free of line management responsibilities you will provide mentorship and guidance to other engineers, acting as a role model and supporting career progression. Everyone on our team has a big part to play.
- Take ownership of a vertical's architecture, aligning the vertical's Engineers on a common technical strategy.
- Take ownership of a vertical's operational excellence, taking a hands-on approach to the resolution of the vertical's most complex issues when needed.
- Write simple code, taking complex paradigms and implementing them in a way that Engineers at all levels can understand and contribute to. Insist on high standards for code quality while not letting perfection be the enemy of the good.
- Influence the strategy of the teams, helping them understand how to make technical trade-off decisions between short-term business needs and long-term technology needs.
- Drive engineering engagement best practices (e.g., Operational Excellence, Security, Quality, etc.) and set standards for your vertical.
- Help others leverage your expertise, by coaching and mentoring in your organization. Contribute to the professional development of Engineers within the vertical, improving their technical knowledge and engineering practices.
- Guidance of strategic platform health and hygiene.
- Define standards & methods fit for the technology involved in a solution.
- Support our software as part of an On-Call rotation.
- Tolerant mentor; nurturing approach toward other technical staff.
- Attention to detail; diligent with analysis.
- Critical thinking; methodical and logical problem-solving approach.
- Curious, open minded and keen to learn.
- Collaborative with colleagues.
- Decisive and willing to take responsibility as required.
- Collaborative and inclusive, able to build and maintain good working relationships.
- Passionate & vocal about technology & software design.
- High levels of ownership and relentless will to improve.
- Desire to challenge the status quo.
- Excellent knowledge of Java, it's patterns and practices.
- Excellent knowledge of at least 3 of React, Vue, Angular, Redux.
- Experience in designing/integrating RESTful APIs.
- Solid understanding of HTTP, HTML, UX concepts.
- Experience using real time streaming (Kafka, Kinesis).
- Experience in basic AWS concepts and services
- Solid understanding of software testing methodologies and techniques.
- Experience in Unit/Integration testing and tools such as junit etc.
- Experience in relational database as well as non-SQL database.
- Experience in continuous integration/continuous delivery and the tools (Docker, Jenkins, Ansible etc);
- Experience with agile SDLC methodologies, high-level estimation & modelling.
- Exposure to classic & modern software development and delivery techniques.
- Fast paced agile & DevOps based environment.
- Experience in design and develop microservice based and event-driven applications.
- A clear understanding of systems analysis, component-based system design and modern software development principles.
- Consulting and presenting information to different audiences.
Key experience & qualifications
- 7+ years of proven full-cycle web software development experience in a large-scale interactive environment
- 7+ years full stack programming experience.
- Demonstrated ability to drive design and delivery of complex technical solutions.
- Exposure to full lifecycle on a production stage enterprise application delivery
- Demonstrated experience leading and influencing Software Engineers.
- Computer Science degree or equivalent experience.
- Experienced in making pragmatic trade-off decisions between short-term needs and long-term needs.