We have an urgent requirement for Python Developers (3-5 years of exp).
Job Description:
Our client’s data platform consists of a series of Python microservices, which become integrated through REST and RabbitMQ. We are actively searching for an enthusiastic Core Python Developer to become a valuable member of our vibrant team. The selected individual will play a pivotal role in advancing our platform, making it more feature-rich, robust, streamlined, and performant by employing innovative architectural and development principles.
Responsibilities:
Python Development:
-
Write clean, maintainable, and efficient Python code in line with common Pythonic principles.
-
Develop and maintain Python microservices, ensuring seamless integration with our existing platform stack.
-
Utilize common Python data libraries, such as Pandas, Polars, NumPy, and SciPy for data manipulation and analysis tasks.
-
Familiarity with asynchronous programming in Python using libraries like asyncio or Dask and understanding of concurrency and parallelism concepts.
-
Write unit tests for developed code using pytest to ensure functionality and reliability.
-
Collaborate with the QA team to ensure comprehensive test coverage.
API Development & Integration:
-
Design and develop RESTful APIs using frameworks like FastAPI and Flask.
-
Ensure smooth communication between microservices via REST and message brokers like RabbitMQ.
Messaging/Caching Systems:
-
Understand and work with pub/sub architectures and are familiar with message brokers including RabbitMQ and Kafka.
-
Implement and manage caching solutions using Redis to enhance application performance.
Version Control:
-
Use Git for source code management, adhering to best practices for branching, merging, and collaborative development.
Database Operations:
-
Work with database technologies such as PostgreSQL and SQLite, understanding schema design, querying, and optimization.
Technical Skills Required :
-
Bachelor’s degree in Computer Science, Engineering, or a related field.
-
3-5 years minimum as a Python Developer with a solid understanding of the Python language and its best practices, adhering to common Pythonic principles.
-
Development experience within the paradigms of microservices, cloud technologies and modern containerization platforms, e.g. AWS, Azure, GCP, Docker, and Kubernetes.
-
Proficient in implementing and managing Redis as an in-memory data structure store, used for caching, session management, and real-time analytics.
-
Familiarity with Redis data types, such as strings, lists, sets, and hashes, and their appropriate use cases.
-
Strong understanding of RabbitMQ as a message broker, facilitating asynchronous processing and inter-service communication. Familiarity with RabbitMQ's exchange types, routing, and queue bindings, and the ability to troubleshoot common RabbitMQ issues.
-
Proficient in writing tests using libraries like pytest or unit test to ensure code reliability and functionality.
-
Experience with Object-Relational Mapping tools like SQLAlchemy or Django ORM, simplifying database operations and queries.
-
Strong understanding of relational database concepts, with hands-on experience in designing, querying, and managing data using PostgreSQL, SQLite and Cloud Data Warehouses. Familiarity with normalization, indexing, and optimization techniques to ensure efficient data retrieval and storage.
-
Experience in developing applications using frameworks like FastAPI, Flask or Django to simplify tasks like routing, database operations, and security authentication/authorization flows as examples.
-
Familiar with tools like Jenkins, Travis CI, or GitHub Actions to automate the building, testing, and deployment of applications throughout the CI/CD lifecycle.
-
Proactively identify challenges and bottlenecks, employing strong troubleshooting skills to address them.
Soft Skills Required :
-
Strong verbal and written communication skills.
-
Energetic, self-directed, and comfortable in a fast-paced environment.
-
Team player with good interpersonal skills and quick to learn.