Python Software Engineer (Remote)
IT – Software Development
A data-driven Python Software Engineer is sought by a young & dynamic FinTech company to join its Remote team. You will help build on and enhance its financial calculation engine in Python, exposing more data from the calculations to the UI, in an effort to make the calculations more transparent and understandable. You must have 2-5 years’ experience building, shipping, maintaining, and testing applications and can adapt to new languages and environments quickly but are very comfortable with Python and its ecosystem including numpy and sci-py. You know your way around SQL and relational databases, excellent debugging skills and you swoon over performance and don’t shy away from complexity.
- Write clear, well-tested, performant, and high-quality code in Python in the calculation engine.
- Review code in pull requests and test the features from a user’s point of view, providing feedback and suggestions to help come to the best solution.
- See features through to production, and working with the team, gather feedback through analytics and occasional user interviews to hear from the source.
- Create and maintain technical documentation of important systems.
- Assist in the green field’s development of data dashboards by understanding and modelling aggregate data points for key metrics.
- Acquire knowledge of the product across the entire tech stack and suggest changes they haven’t thought of to improve performance, efficiency, and quality by shaping pitches.
- Be a technical mentor for Junior Developers or Interns and an Evangelist of technical needs for the Product team.
- 2-5 Years of experience building, shipping, maintaining, and testing applications.
- You are an excellent developer that can adapt to new languages and environments quickly but are very comfortable with Python and its ecosystem including numpy and sci-py.
- Experience with and find value in writing automated tests and enjoy the confidence testing brings when releasing and making updates to existing systems.
- You know your way around SQL and relational databases. If the database layer turns out to be the culprit behind an issue, it’s not a black box to you.
- You can find the source of issues in a systematic way using tools like a debugger and you consider performance when developing features as you think it’s vital in creating a great user experience.
- You’re not necessarily the “Ops” person where you work, but you certainly understand the infrastructure well enough to aid in creating and maintaining scalable solutions. They host on Heroku, so experience there is a bonus, but experience with AWS or another popular IaaS/PaaS is just fine.
- You write code and documentation that is easy for other Programmers and your future self to understand and use.
- You have a strong understanding of algorithms, data structures, and optimisation techniques. That doesn’t mean you have to be a Computer Scientist, but you should embrace difficult problems and use these tools effectively to solve problems.
- You have excellent debugging skills. You know how to find problems and how to architect solutions so that problems are discoverable in the first place.
- Although you’re a data person, you enjoy using design as a valuable communication tool when describing concepts, writing documentation, and highlighting important aspects of a system.
- While perhaps not a security specialist, you are aware of how websites and services can be exploited, are security conscious while you code and review code, and are protective of customer data and privacy.
- You care about working with users of the platform to develop the best solution for them through user testing and feedback cycles and know when to make pragmatic trade-offs to test an idea in the app.
- You work well asynchronously and communicate clear thinking effectively, particularly in written form.