Python Software Engineer
Yellowbrick
Yellowbrick Data is a modern cloud Data Platform start-up headquartered in Silicon Valley with a growing engineering office in London. We are a flexible Kubernetes cloud-native product used by big name global enterprise customers. Yellowbrick is used by the world’s largest insurers, credit card companies, telcos and healthcare firms, all of whom depend on us to make critical decisions quickly without compromising the security of their data. Yellowbrick is well-funded with $248m raised from top-tier venture firms.
Job Overview:
Join our software development team, starting as a Python Software Engineer, where you’ll be responsible for building our test automation platform and associated libraries. Reporting to Gabriel, our Senior Manager of Platform Engineering and Quality, we’re offering an extensive opportunity to grow your skills, learn and innovate by trying different things as you start your career. We build fully elastic, scale-out stateful database software and have a unique deployment model that ships across a multitude of public cloud platforms, private cloud platforms and traditional on-premises infrastructure. We’re building a brand new engineering platform that runs across these different cloud and supports everything from the development experience, test development, CI/CD, performance and security testing, customer workload automation, shipping and releasing. Our new platform fully embraces the use of containerisation and Kubernetes.
If this job’s for you – you see it as an opportunity to understand an incredibly sophisticated software product that incorporates almost all aspects of computer science. You’ll want to work with and learn from some of the brightest people in industry, grow your skills and learn how products are built and shipped. You jump at the opportunity to master new technologies and keep up to date. You take initiative to, and get satisfaction from, collaborating with other developers to build the best possible reusable APIs and interfaces. You have a bias for action with a “can-do” attitude. You’ve a deep understanding of Python, churn out and evangelize Pythonic code, but you’re not a zealot and prioritise shipping quality product ahead of perfection. You are comfortable with optimizing Python for performance but are a pragmatic computer scientist, comfortable with concurrency and still able to work with and interface with other languages such as Java and C++.
We’re based just off Trafalgar Square in the heart of London, and typically work from the office three days a week. We have great benefits, flexible vacations and an exceptionally talented engineer crew to learn from.
Responsibilities:
- Design, develop, enhance and maintain our engineering platform.
- Develop new libraries and modules to provide reusable interfaces for complex database functionality.
- Participate in the creation and review of test plans, test cases, and test strategies.
- Ensure scalability and reliability of our product by developing, executing and analysing the results of performance and load tests.
- Help and train developers to implement best practices and improve their skills in testing and test automation.
- Define and track automated metrics to track the health and productivity of our products (e.g. with static analysis tools), as well as pushing a data driven approach to development and test.
Qualifications:
- 2-5 years of experience as an SDET, Software Developer, or a related role with a strong focus on test automation using Python.
- Strong programming skills (python primarily, but additional languages a plus).
- Strong understanding of software testing principles, methodologies, and best practices.
- In-depth knowledge of common testing frame works (ideally PyTest) and tools (e.g. Locust for load testing).
- Familiarity with git, CI tools, and containers.
- A working knowledge of SQL and databases.
- Bachelor’s degree in Computer Science, Software Engineering, or a related field, or equivalent work experience.