Position: Senior Python developer
Company: Storypoint
Experience required: 5y
Category: Python
English level: upper
Published: 2021-10-01T00:00:00+03:00

**What you'll be doing:**

- Build and scale high-performance backend systems, primarily using Python programming language and ecosystem
- Troubleshoot issues in and improve the functionality of existing systems
- Integrate user-facing elements developed by mobile and web teams. Work with 3rd party data sources and APIs (systems integration)
- Embed security and data protection
- Actively collaborate with a cross-functional team working with product owners, UI/UX designers, backend developers, app developers and QA at various stages of the development process. 
- Develop appropriate tests to support code and ensure test automation and code quality and security
- Conduct unit testing on your code and conduct code reviews.
- Based on the project needs and end goals, proactively suggest improvements to architecture and technologies for maximizing development efficiency
- Mentor and coach other backend developers within the team
- You will also be expected to keep your skills up to date by following advancements in the field and researching new and innovative technologies and techniques. 


**Qualification & Experience Requirements:**

- Minimum 5 years of software development experience, at least 3 of which are hands-on Python coding
- Solid knowledge of Python web frameworks (Django, Flask, FastAPI or such)
- In-depth knowledge of modern software design patterns
- Ability to design elegant and efficient JSON REST APIs for given use cases (using OpenAPI standard and toolchain)
- Good understanding of (and significant experience in) concurrent and parallel computing, asynchronicity, distributed computing patterns, and principles
- Solid knowledge of common algorithms, data structures, OOP (patterns and specific python implementations)
- Understanding of CI/CD development practice and tools, experience writing Integration and Unit tests in Python. 
- Combination of good coding skills, end to end thinking and problem-solving approach, and track record of standalone delivering bigger chunks of work
- Good knowledge of Agile principles and experience with some popular issue tracking tools (for example Jira)
- Ability to communicate effectively to a variety of audiences including both technical and non-technical stakeholders.

**Team structure:** cross-functional team working in an agile manner, consisting of product owner, the delivery person (scrum master), some QA, UX, and OPS support (not necessarily 100% dedicated to the project), and developers (backend, dev, mobile, depends on what's being built)