We are seeking an experienced and highly skilled Python developer to join our growth partner’s team. Your primary responsibility will be to develop, maintain, and extend server-side applications and services using Python, while also working with other back-end technologies such as Node.JS and Java. You will ensure the seamless integration of applications with databases and build & deployment automation processes. While Python will be the main technology, a strong understanding of Node.JS will be important for certain parts of the stack. Your role will involve maintaining high-quality code, implementing unit tests, developing integration tests, and working in a collaborative and agile environment.
Responsibilities
- Develop server-side applications and services primarily using Python, while also working with additional back-end technologies such as Node.JS and Java as needed.
- Collaborate with cross-functional teams to integrate Python and Node.JS solutions with other parts of the tech stack.
- Write and maintain comprehensive unit tests to ensure code quality and reliability.
- Develop and maintain integration tests to verify the interaction between system components.
- Work on build and deployment automation (CI/CD) using tools like GitHub Actions, Jenkins, or TeamCity.
- Implement and maintain real-time communication features, such as those provided by SocketCluster, especially when integrating Python and Node.JS.
- Manage and interact with databases, ensuring efficient queries, performance optimization, and data integrity.
- Maintain and extend an existing codebase, adhering to existing coding patterns, and tracing the execution flow for efficient debugging and scaling.
- Ensure high availability, scalability, and performance of Python services, with occasional need for optimization on the Node.JS side.
- Troubleshoot, debug, and resolve issues in a timely manner across various environments.
- Follow and implement best practices in coding standards, version control (Git), and software deployment.
- Stay up to date with the latest trends and advancements in Python, Node.JS, software development, and system architectures.
Experience & Qualifications
- Expert experience with Python and familiarity with other back-end technologies such as Node.JS and Java.
- Strong understanding of Node.JS and how it integrates with Python services, especially for handling parts of the tech stack that require real-time features or performance optimization.
- Expert experience developing unit tests to ensure high code quality and reliability.
- Intermediate experience developing integration tests to verify the interaction between different system components.
- Intermediate experience with CI/CD tools such as GitHub Actions, Jenkins, or TeamCity to automate build and deployment processes.
- Experience with SocketCluster for real-time, bi-directional communication (optional, secondary).
- Solid understanding and experience working with databases (e.g., SQL, NoSQL).
- Expert experience with version control systems (Git) and handling branching, merging, and pull requests.
- Experience in maintaining and extending an existing codebase, understanding and adapting to pre-existing coding patterns.
- Ability to trace code’s path of execution to diagnose and resolve issues efficiently.
- Strong problem-solving skills and attention to detail.
- Excellent communication skills, both written and verbal, to collaborate effectively with the team.
- Ability to work in an agile environment, adapting to changing requirements and delivering results on time.
- Passionate about clean code, scalability, and performance in production-level systems.
- Fluent in English (both written and conversational).