Keyloop bridges the gap between dealers, manufacturers, technology suppliers and car buyers.
We empower car dealers and manufacturers to fully embrace digital transformation. How? By creating innovative technology that makes selling cars better for our customers, and buying and owning cars better for theirs.
We use cutting-edge technology to link our clients’ systems, departments and sites. We provide an open technology platform that’s shaping the industry for the future. We use data to help clients become more efficient, increase profitability and give more customers an amazing experience. Want to be part of it?
The Role
As a Software Engineer at ATG you are responsible for the delivery of specific packages of development for software applications within and alongside our Agile Product Teams.
Working with both internal and third-party Software Engineers, Product Managers, Product Owners, Test Engineers, Scrum Masters, and Product Architects, you will need a rich understanding of development principles appropriate to the team’s technology stack.
You are required to work collaboratively within an agile product team taking responsibility for developing high quality code, adopting, and ensuring best practice, while looking for new and improved approaches to technical challenges. The Software Engineer provides feedback from peer reviews and, where appropriate, code reviews to help aid the growth of the whole team.
Key Responsibilities
Designing and developing enhancements to the platform in line with the business requirements and the overall Product strategy.Applying specialist technical knowledge to identify improvements and opportunities for automation.Developing code, adhering to ATG and team standards utilising Agile principles.Adhering to best practice principles for development, including source control, build, testing, and deployment.Working with Senior Software Engineers, Tester Engineers, and Product Architects to provide solution designs which are consistent with the strategies of ATG on both Greenfield and Brownfield projects.Providing input for planning and estimating work within the Agile Product Team. Collaborating with Software and Test Engineers to ensure that the test plan and cases are targeted effectively at the critical business and technical areas of a solution. Providing 3rd line support for production software systems.Working independently, managing day to day workload and priorities, and taking accountability for direction and output. Mentoring new members of the team, sharing technical knowledge, and providing guidance and support.Contributing to a team environment that rewards collaboration, sharing of knowledge and excellent relationship building. Communicating effectively with all roles within the Agile Product Team, including complex information and concepts to both technical and non-technical colleagues.Taking ownership of ensuring applications run efficiently, providing a balance between user experience and cost. Driving own technical and career development, creating appropriate goals, and seeking learning opportunities within the company and the wider software engineering community.Actively contributing to build a culture of support, creativity and learning within your Agile Product Team and the wider Engineering department. Being responsible for information security and data protection, and supporting the business in complying with any legal obligations imposed upon it through positive actions.
Person Specification (Essential Skills, Knowledge and Experience Required):
Technical Competencies:
Possess a high level of technical literacyObject Orientated Programming (OOP)Awareness of Amazon Web Services (AWS)EC2, RDS, S3Memcached/Redis (ElastiCache)CloudFront CDN Cloudformation Serverless (Lambda, API Gateway)DynamoDB AWS CDK
Relevant Language(s)TypescriptJavaScriptNodeJSPython Data FormatsJSONXMLYAML
Relevant FrameworksAngular2Vue.js
Relevant DatabasesDynamoDbMySQL
Version Control: GITDocker (Incl. Docker Compose)API PrinciplesService Oriented ArchitectureLiving DocumentationDocumentation first approach (OpenAPI 3.0)Authentication patterns (JWT / Bearer Auth / OAuth)Protocols (SOAP / REST / HATEOS / GraphQL)Continuous Integration / DeliveryCode Quality Tools (SonarQube, CodeClimate)Testing frameworks (Codeception, Cyrpress, PyUnit, Rspec, Jest)Unit TestingFunctional TestingAcceptance TestingTDDCI Tools (TeamCity, Jenkins, CodePipeline, CodeBuild, Azure DevOps )
ToolsIDE (Proficient)Standards/PrinciplesAdherence: Coding StandardsNetworking - HTTP/HTTPS
Misc.Microsoft OfficeJiraConfluenceWeb conferencing (Zoom / Microsoft Teams / Google Meet)
Behavioural & Personality Competencies:Good interpersonal skillsEffective communication skillsEngineering mindsetOrganized & self-sufficientProactive with taking ownership & responsibilityLogical, methodical approach to problem and issue solvingCollaborative Innovative
Development Opportunities:Senior Software EngineerPrinciple Software EngineerLead Software EngineerProduct ArchitectCloud Engineer