Position: Middle/Senior Python Developer
Company: Powercode
Experience required: 5y
English level: upper

We are looking for a talented Python Engineer to join our team. The ideal candidate will have at least 4-5 years of professional experience in Python software development and a Bachelor's degree in Computer Science, Software Engineering, or a related field. The candidate should have a strong understanding of Python language fundamentals and conversational coding practices and experience with Python web frameworks such as Django or Flask. The candidate should also have experience with data processing and manipulation libraries such as pandas and NumPy and be familiar with Python libraries for making HTTP requests and handling APIs.

**Responsibilities:**
- Develop and maintain software applications using Python and related technologies.
- Collaborate cross-functionally and with clients to design, develop, and deploy high-quality software solutions.
- Implement unit tests and participate in test-driven development.
- Optimise code for performance and scalability.
- Utilise version control and issue tracking systems to manage project workflows.
- Design and implement data models using relational and non-relational databases.
- Define and implement a comprehensive code review process to ensure the highest level of code quality. 
- Stay up-to-date with the latest trends and technologies in software development.
- Participate in Agile methodologies like Scrum or Kanban to manage project workflows and prioritise tasks.

**Requirements:**
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- 4-5 years of professional experience in Python software development.
- Strong understanding of Python language fundamentals and conversational coding practices.
- Experience with unit testing and test-driven development, using testing frameworks like pytest or unit test.
- Understanding of multithreading, multiprocessing, and asynchronous programming in Python.
- Proficiency in source control management tools, especially Git and GitHub.
- Familiarity with Python packaging and distribution tools, such as setup tools and pip.
- Knowledge of best practices for code organisation and modularisation.
- Strong problem-solving and debugging skills.
- Experience with performance optimization and profiling tools.
- Familiarity with relational databases and SQL, such as PostgreSQL or MySQL.
- Experience working with NoSQL databases, such as MongoDB or Cassandra.
- Familiarity with DevOps practices, such as continuous integration and continuous deployment (CI/CD), using tools like Jenkins or Travis CI.

**We offer**
- Full-remote
- Сompetitive salary
- The opportunity to choose part-time or full-time work
- Support in admin and financial matters
- Working in a multinational team