Responsibilities
- Contribute to all stages of software development lifecycle.
- Identify and resolve any technical issues arising during operations.
- Design, implement and maintain python-based applications that can be high-volume and low-latency.
- Analyze user requirements to define business objectives and envision system features and functionality.
- Define application objectives, functionality and ensure application designs conform with business goals.
- Design, develop and maintain scalable and testable code.
- Conduct software analysis, programming, testing, and debugging.
- Manage both backend and frontend application development.
- Develop documentation to help business users.
- Prepare and produce releases of software components.
- Support continuous improvement for applications, investigating alternatives and technologies, and presenting for architectural review.
- Practice Agile/Scrum methodology to plan and deliver work projects.
- Participate in code reviews to ensure code quality and adherence to best practices.
- Identify and troubleshoot performance and reliability issues in the backend systems.
- Collaborate with multiple teams to analyze problem areas, resolve and deliver high-quality software solutions.
Requirements
- Degree in Computer Programming or Information Technology related discipline.
- At least 2-5 years of working experience and proficiency in Python development.
- Familiarity with different design and architectural patterns and skill for writing reusable Python libraries.
- Experience in working with web application frameworks like Django.
- Understanding of the concepts of Django MVC (Model-View-Controller) Pattern, and RESTful web services.
- Relevant knowledge of GUI frameworks like React, HTML, JavaScript, CSS according to project requirements.
- Deep understanding of software engineering concepts and processes.
- Applied experience in using any SQL Databases such as SQLite, MSSQL, PostgreSQL.
- Hands-on experience in configuring Web Servers and Application Servers.
- In-depth knowledge of code versioning tools, for instance, Git.
- Understanding of building tools like Docker.
Preferred Technical Skills
- Knowledge of AWS or Azure to host and run the applications.
- Knowledge of cloud application development.
- Knowledge and understanding of DevSecOps.
- Knowledge of micro-services patterns and architecture.
- Knowledge of FastAPI and integration patterns.
Licence no: 12C6060