Kuala Lumpur, Federal Territory of Kuala Lumpur, Malaysia
about 1 month ago
Save Job
Summary
Responsibilities
Design, develop, test, debug, and document Python-based software applications to satisfy project business requirements, adhering to system architecture guidelines.
Translate complex business requirements into technical requirements, algorithms, and executable Python code.
Develop, maintain, and improve Python code for clean, efficient, and scalable solutions.
Analyze, research, and evaluate alternative solutions, recommending implementations.
Create high-level technical architecture and design documents, and technical specifications, in accordance with best practices and standards.
Collaborate with cross-functional teams (e.g., product owners, software architects, business/system analysts, project managers) to ensure alignment with project requirements and standards.
Contribute to the implementation of best practices, including continuous integration and delivery (CI/CD) pipelines.
Ensure high code quality by adhering to software engineering principles and design patterns, and by performing periodic code reviews.
Work with team members to estimate timelines, define project plans, delegate tasks, and provide guidance to junior team members.
Work with Technical Architect to realize technical concepts.
Ensure application performance levels are achieved.
,
Requirements
Expertise in Python 3.11+ and object-oriented software development, with advanced knowledge of design patterns and best practices.
Strong experience with Git for version control and tools like VS Code.
Proficiency in web development frameworks such as FastAPI, and libraries like Pydantic and SQLAlchemy.
Expertise in working with relational databases and SQL.
Experience with containerization technologies like Docker.
Familiarity with cloud services, particularly Azure Cognitive Services, Azure Cosmos DB, and Azure Data Factory for cloud-based development and deployment.
Knowledge of logging, monitoring, and debugging tools to ensure application stability and performance.
Ability to work in an agile environment, contributing to sprint planning, execution, and reviews.
A commitment to continuous learning and staying up-to-date with new technologies, particularly in Python development.
Excellent problem-solving and analytical thinking skills.