Posted 1 month ago

Python Developer - For a large UAE bank

Full time
Dubai, AE
Senior
Salary Range: To be discussed
Full Job Description
Summary
Seeking Python Engineer with expertise in web frameworks, backend development, data transformations, security, ORMs, CI/CD, and collaboration. Bachelor's and DevOps experience preferred.
Description

We are seeking a skilled Python Engineer to join our dynamic team. The ideal candidate will be responsible for developing robust web frameworks, building backend code to efficiently serve datasets, and performing data transformations to support our data-driven applications. This role requires a deep understanding of Python, web development frameworks, data processing, and database management.

Core Python: Be proficient in the concepts and features of the Python language, experienced with web frameworks like Flask and FastAPI for developing RESTful APIs, and skilled in asynchronous programming using asyncio. Experience with handling concurrent connections and optimizing I/O operations. Should have a deep understanding of microservices architecture and be capable of writing clean, efficient, and maintainable code.

Security Best Practices and Requirements: Understanding of security practices for microservices, including authentication, authorization, and encryption. Experience with securing APIs using OAuth, JWT, and API gateways.

Web Framework Development: Design, develop, and maintain scalable web frameworks using Python. Collaborate with front-end developers to integrate user-facing elements with server-side logic. Ensure the web frameworks are secure, performant, and maintainable. Have a sound knowledge of one or more web frameworks that are based on Python, such as Django, Flask, Pyramid, etc. Should have the know-how to use the framework's features, such as routing, templating, database integration, authentication, testing.

Object Relational Mappers (ORMs): Develop backend systems to serve datasets through APIs and other interfaces. Implement data access layers, integrating with various databases and data storage solutions. Optimize backend code for performance, scalability, and reliability. Be able to use ORMs to interact with databases using Python objects. ORMs abstract away the low-level SQL queries and provide a high-level interface to manipulate data. Some popular ORMs for Python are SQL Alchemy, Django ORM, etc. Should know how to define models, perform CRUD operations, query data, handle transactions.

Data Transformations and Database Management: Design and maintain database schemas to support application requirements. Optimize database performance and ensure efficient data retrieval. Implement and manage data storage solutions, both relational and NoSQL. Design and implement data transformation pipelines to process and prepare data for analysis. Utilize ETL (Extract, Transform, Load) processes to clean, aggregate, and enrich data. Ensure data integrity, quality, and consistency across all transformation processes.

Other Skills: Should also have general skills that are fundamental to any developer, such as:

Debugging and testing: Should be able to use tools and techniques to find and fix errors in code, such as logging, breakpoints, unit testing, integration testing, etc.

Version control: Should be able to use version control systems, such as Git, to manage code and collaborate with other developers. Should know how to create branches, commit changes, merge conflicts, push and pull requests.

Communication and teamwork: Should be able to communicate effectively with clients, stakeholders, and colleagues, and work well in a team. Should be able to write clear and concise documentation, follow coding standards and best practices, give, and receive feedback.

Educational Background: Bachelor’s degree in computer science, Information Technology, or related field.

DevOps Expertise: Demonstrated experience as a core developer with a focus on productionising the framework.

CI/CD Proficiency: Strong background in developing and maintaining CI/CD pipelines.

Data Tech Awareness: Familiarity with big data technologies (e.g., Hadoop, Spark, Kafka) and data warehousing concepts.

Scripting Prowess: Proficiency in scripting and programming languages commonly used in data engineering (e.g., SQL, Shell).

Version Control Savvy: Experience with version control systems (e.g., Git) and collaborative development.

Problem-Solving Skills: Strong problem-solving abilities with great attention to detail.

Communication Skills: Excellent communication and collaboration skills.

Cloud and Containers Knowledge (Optional): Experience with cloud platforms (e.g., AWS, Azure, GCP) and containerization technologies (e.g., Docker, Kubernetes) is advantageous.

Data Governance Awareness (Optional): Knowledge of data governance, compliance, and data security best practices is a plus.

Interested?