Streetbees is a tech start-up that is transforming how companies can gain insights into the markets for their products, to make better products that better provide for the needs of their customers. We are using machine learning and software engineering to create faster, lower cost, higher quality and more automated ways to gather information from people around the world, and to understand the patterns, trends and opinions.
Streetbees has a very strong engineering team and platform, combining the best in machine learning, data management pipelines, web platforms and mobile apps. We work with Python for our data science and machine learning, Ruby and Elixir with ReactJS for our web apps and APIs and middleware, and Swift and Kotlin (our Android codebase is 100% Kotlin). Everything is entirely hosted in AWS, all repos in Github, everything containerised.
An opportunity exists for a Python Software Engineer to join our team, particularly those who have enthusiasm to work at the intersection of scalable distributed web platforms with data engineering and machine learning technologies. This is the core of Streetbees technology activities as a leading ‘applied AI’ company - it is one of the most exciting frontiers of modern technology, where new types of software are emerging, and new capabilities that were simply not possible a few years ago are now being created. We are looking for enthusiast to contribute to building something truly great in this space.
The Python Software Engineer will have strong technical and software engineering knowledge relative to their years of experience, so that they are able to make a major contribution to creating production-quality AI solutions. We are looking for engineers at both mid and senior experience levels as we are more driven by a colleagues contribution and skills than length of service, and as a fast growing start-up we have flexibility in exact skills requirements in order to build the best team. Successful candidates will probably have either significant data engineering (e.g. PySpark, Airflow, Pandas etc), or web app engineering (e.g. Django, Flask etc) backgrounds, or another background where Python is a leading tool for engineering purposes.
This is a fully hands on position. Any experience with machine learning engineering using Tensorflow, Keras and PyTorch would be a large advantage, but is not required if someone has strong Python software engineering knowledge in another of the common Python use cases (e.g. web development and data engineering). This is not a role for a pure data engineer or data scientist though, it is a software engineering role and would particularly suit engineers who have significant experience outside of machine learning and a self-motivated interest in developing expertise in machine learning engineering, as a means to produce the new generations of software capability now possible by combining machine learning aspects with established engineering approaches.
Hands-on design, development and support of world class production Python solutions, both web application and machine learning. Contribution to standards about production-quality engineering and QA for Python solutions. Active pull request participation, branch management, other code reviews of other Python developers work etc.
Working with our DevOps team for production Machine Learning AI solutions (DevOps for machine learning is a new area for the industry, with little current conventional best practice, Streetbees expertise in ML creates a real opportunity to do leading-edge DevOps work productionising that). Working with the other engineers to define how Python software engineering should be done
Development and support of data engineering platform, Python web applications and APIs, and machine learning platforms, all on AWS including using specialist ML accelerators
Being an active part of the group of engineers reviewing and making key tech design decisions, and coordinating work and operations
Keeping up to date with the latest evolutions in Python software engineering best practice and technologies
Excellent Python knowledge and skills relative to level of experience, including both Python language technicalities, and the technical underpinnings of the Python platform, in particular including maintainability, performance and reliability
Years of commercial experience building and supporting large scale web, app and API platforms with Python relative to experience
Experienced with the AWS application suite (bonus points if you have experience with DevOps technologies around it such as Docker, Kubernetes and Terraform)
Experienced with relational, but also NOSQL, databases (bonus points for Postgres specifically). The more knowledge of data processing, vectorisation and machine learning frameworks the better.
Experience with requirements specification, Python testing tools, with software design patterns, with Agile development processes