Full-Stack Software Engineer - Python
Recruiter
Listed on
Location
Salary/Rate
Salary Notes
Type
Start Date
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