Overview
Location: Full remote.
Schedule: Full time
Job Purpose
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).