Python Cloud Developer
Offers the chance to develop and deliver world leading products in the fast paced technology industry surrounding the internet of things. The successful candidate will be joining a small but rapidly growing team, delivering the development and release of the core of the company's offering from engineering through to the production environment.
Core cloud platform operates as a highly available and scalable environment, running primarily within a number of Amazon AWS regions and providing the core interface, home automation rules, core business logic, event and alert handling and user management for connected home solutions deployed using a range or wireless and IP-connected home security and automation devices. The core platform is currently based on a mix of Linux and .Net technologies and exposes REST APIs for mobile and web interface as well as third party system integration and XMPP/MQTT message based interfaces to the home gateway and IP camera devices. The platform is integrated with AWS IOT and is hosted in multiple AWS regions. The company is in the progress of migrating some of its core services to make greater use of AWS and OSS based technologies with a view to migrating entirely to an OSS on AWS solution.
In addition to being actively involved in software development and roll out to the live network alongside the operations team, the role will also be involved with the ongoing implementation of the continuous integration process with the rest of the engineering team. This includes the automatic build, test, and deployment needed for agile software development.Experience and SkillsMUST HAVE
This role requires someone who has worked in a small to medium sized company environment who is a self-starter with a can-do attitude. The following skills and experience are required:
- Genuine hands on coding experience - An understanding of at least 2 programming languages, Python and C#.NET or VB.NET, being the preferred ones.
- At least 4 years' development experience in server-side Python development of the backend service supporting web services, mobile and server-to-server integrations.
- Experience with Amazon AWS - Mainly Lambda, CloudFormation, Linux Administration
- Good working knowledge of developing as part of an internet based client/server architecture including developing against JSON/REST APIs
- Practical knowledge of distributed database architectures supporting resilient, scalable and reliable database functionality and supporting abstracted data models.
- Good understanding of SQL at scale and for performance and other database models
- Strong Python on Linux development skills and associated development environments
- Working with and contributing to automatic build and test, and continuous integration systems
- Familiarity with python frameworks Flask
- Good knowledge of CI systems with one or more of: jira, bitbucket ,jenkins
- Ability to pro-actively contribute to the design and development process
- Educated to degree level or equivalent in an IT related discipline or the equivalent experience
- Good English with good communication skills, both written and verbal
- Ability to work in the UK
The skills and experience below would be beneficial and make the candidate better suited to the role:
- Agile development methodologies
- Familiarly with one or more of MSSQL, MongoDB, DynamoDb, PostgreSQL, MySQL databases
- Familiarity or experience integrating with related technologies such as Docker, nodeJS
- Familiarity with other Python service frameworks such as Django