Online since 1999 | 10,329 IT Jobs Live NOW

Full-Stack Software Engineer - Python

Premium Job From M&S
Recruiter: M&S
Listed on: 2nd July
Location: Paddington
Salary Notes: Competitive
Type: Permanent
Start Date: ASAP

This job has now expired please search on the home page to find live IT Jobs.

We are looking for a hardworking Software Engineer to help craft, develop and deploy software for our solutions. The successful candidate will be able to build high-quality, innovative and fully performant software in compliance with top quality coding standards and technical design. Help to drive better working practices and become a valued member of the engineering department!

Key accountabilities and measures

  • Collaboratively solves problems; communicates technical decisions through tech-talks and white-boarding sessions
  • Can work completely independently, without having to rely on other ream members to make progress
  • Help on-board new team members, providing coaching and mentoring to more junior colleagues
  • Responsible for participating in the recruitment process in their field, including sitting on interview panels, and reviewing technical tests
  • Evangelizes clean, quality code within the team!
  • Develop and improve our bespoke machine learning models, solving various classification, regression, predation and clustering problems
  • High level of engagement when architecting and developing new software. Constantly looking at challenging the status quo, and improving our platform
  • Takes accountability for the technical quality of team's output as a whole, both through code review and through continuous architectural and system design review of output generated as part of new feature development
  • Drives engineering conversations. Always speaks with confidence and is seen as an inspiring leader by the team!
  • Actively seeks to work with the wider technology organization, engages in multi-functional engineering forums and displays genuine interest to learn more about the big picture of our platforms
  • Takes ownership of the team's backlog
  • Takes full accountability of the technical state of the product. From development, over deployment and into operational mode
  • Consults business partners on the best approach for delivering complicated feature, both in how it can be split and sequenced, and in terms of potential improvement to the functional requirements
  • Senior developers help drive engineering sessions, and naturally put themselves forward for meaningful tasks

Key skills

Crucial skills:

  • Able to demonstrate 5+ years of proven experience in software engineering, which provided exposure to a wide array of system types
  • Holds a degree in a relevant field
  • Experienced developing REST, GraphQL or gRPC based microservices
  • Exposure to frameworks like aiohttp, Tornado, or Twisted
  • Experienced level in Python, in-depth knowledge of python 3+
  • Experienced with asyncio
  • Strong understanding of software testing in general, understands the differences between unit, integration and acceptance testing
  • Has an interest in mathematics and is a good problem solver
  • Understands the DD's. TTD, BDD and ATDD
  • Good understanding of functional programming
  • Experienced working within a cloud environment, and is comfortable provisioning IaaS and PaaS services within such an environment
  • Strong understanding of containerisation (preferably Kubernetes)
  • Have delivering end-to-end web-applications within a product team following the DevOps methodology, and thus are comfortable deploying and maintaining all infrastructural and application services required by the web-application within a cloud environment
  • Experience working within an Agile environment such as Scrum or Kanban
  • Specialist understanding of software architecture and design principles (e.g. OO, DRY, SOLID)
  • Experience across the stack, have solved problems ranging from the front end, to the backend
  • Experience with distributed version controls systems like Git
  • Experience with pair programming
  • Experience working with CI tools (Concourse, Jenkins)

Desirable skills:

  • Experience working within a Continuous Delivery environment
  • Contributions towards open source software or coordinate or speak at software-related meetup groups