Principal Software Engineer

Competitive | London | Permanent

Albany Beck

Posted 8 days ago

Albany Beck

Purpose of the Role

As a Principal Software Engineer you will be responsible for architecting, implementing and deploying multi-scale data analytics platform solutions as well as building and mentoring high-performing software engineering teams. You will work with modern on-prem and cloud infrastructures (SaaS, PaaS, IasS), developing and overseeing appropriate software engineering systems and processes.

Key Responsibilities

* Lead, facilitate and coordinate execution of the department's technical vision, collaborating with other areas and centralised governance where appropriate
* Define, create and provide oversight and governance of engineering and design solutions with a focus on automation, resilience, performance, scalability and simplicity
* Develop and champion development principles and processes at domain and enterprise levels, identifying opportunities for transformational improvement
* Hands-on design and technical implementation of solutions across a number of concurrent technical implementations

Experience and Qualifications Required

Experience

* Extensive software engineering experience with different programming languages, across a variety of technologies and platforms
* Track record of successfully delivering highly complex, highly scalable software solutions
* Demonstrable experience of developing and continuously improving delivery practices and procedures
* Experience leading diverse developer teams, delivering within an Agile framework

Technical Skills

Architecture & Design

* Enterprise Architecture and good knowledge of object-oriented programming and design patterns
* AWS services: API gateway, Lambda, SNS, SQS, DynamoDB, Kinesis, EC2, Athena, Elastic Beanstalk
* REST API Design and specification using Swagger / OpenAPI
* Strong team oriented SDLC experience across multiple interconnected projects, repositories, unit testing, code pull request reviews, agile planning etc.
* Advanced knowledge of Terraform and Ansible. Most importantly experience within a team building re-usable infrastructure code
* Experience of security controls in AWS: IAM, Security Groups, authentication mechanisms, permissions, data encryption
* Knowledge and experience with Microservice oriented architectures and event-based systems

Programming

* Extensive programming experience using multiple languages: Java, Scala, Python, JavaScript or similar
* Building re-usable libraries and library dependency management (Java & Nexus, Python & pip)
* Knowledge of authentication mechanisms and implementation in HTTP, including OAuth, JWT and SSO
* Knowledge of event-based system implementation using WMB, RabbitMQ, Kafka or similar
* Experience with building solutions in AWS, both using AWS Console and IaC (Infrastructure as Code)
* Experience with IaC CI/CD pipelines and Git (Docker, Jenkins, Bamboo, Bitbucket)
* Linux administration, networking, Bash scripting and job automation
* SQL, noSQL, Hadoop / HDFS
* MapReduce ETL and Spark streaming

Behavioural

* Strong team player
* Ability to foster, develop & maintain working relationships with business stakeholders and technology teams
* Self-motivation and management are essential
* Flexibility and an open attitude to change

InterQuest Group is acting as an employment agency for this vacancy. InterQuest Group is an equal opportunities employer and we welcome applications from all suitably qualified persons regardless of age, disability, gender, religion/belief, race, marriage, civil partnership, pregnancy, maternity, sex or sexual orientation. Please make us aware if you require any reasonable adjustments throughout the recruitment process.

Apply