https://bayt.page.link/6fdfJ6uh8Ncjfdh2A
أنشئ تنبيهًا وظيفيًا للوظائف المشابهة

الوصف الوظيفي

About the job Python Application Engineer (Remote)

Role Brief


We are seeking an experienced Python Application Engineer to design and implement backend microservice HTTP REST APIs in line with the given user story requirements and software architecture.


The ideal candidate will have strong expertise in Python, Django, Microservices, HTTP REST APIs, RDBMS, Document Stores, Message Brokers, ORM, TDD, BDD, DDD, Acceptance Testing, and Agile Methodologies.


Experience with Docker, Kubernetes, Kafka, MongoDB, PostgreSQL, Redis is beneficial.


Responsibilities


  • _Application Development
  • Work alongside a Product Manager and Software Architect to translate product requirements into Python application APIs and technical
  • features
  • Participate in code reviews of other team members to ensure consistent development standards
  • Maintain high level of software quality
  • Achieve high level of user story delivery velocity
  • Maintain low number of defects in production
  • _Application Testing
  • Implement Test Driven Development and Business Driven Development methodologies to ensure balanced automated test coverage for key business requirements
  • Work alongside a QA Engineer to address bugs and issues found after initial development
  • _Application Deployment
  • Maintain and evolve local Docker Compose environment
  • Work alongside a DevOps Platform Engineer to integrate with a CI/CD deployment pipeline for automated application deployments to a Kubernetes environment
  • _Domain Knowledge
  • Become familiar with the business requirements and learn about the business domain relevant to the stories you work on
  • _Documentation and Standards
  • Help to evolve team development standards to ensure high quality and speedy delivery
  • Document team development standards and processes to be followed by you and your peers
  • Maintain development environment setup guides
  • Document architectural decisions and technical specifications

Key Requirements


  • _Experience
  • 5+ years as a Python Application Engineer, including at least 2 successful microservice projects
  • 3+ years working with Django framework and Django ORM
  • 2+ years experience with containerization technologies (Docker) and container orchestration (Kubernetes)
  • Demonstrated experience building and maintaining RESTful APIs at scale
  • Track record of implementing automated testing strategies (TDD/BDD)
  • Previous experience working in an Agile/Kanban environment
  • History of successful collaboration with Product Management and Architecture teams
  • Experience with successful microservices architecture Domain Driven Design and implementation
  • Proven track record of maintaining high-quality code standards and documentation
  • _Skills
  • Strong proficiency in Python development with Django framework and Django ORM
  • Experience building and maintaining RESTful APIs using Django Ninja or similar frameworks
  • Solid understanding of microservices architecture and distributed systems
  • Proficient with Git version control and collaborative development workflows
  • Experience with test automation frameworks and methodologies (pytest, unittest)
  • Strong knowledge of relational databases (PostgreSQL) and Document Store databases (MongoDB)
  • Familiarity with message brokers (Kafka) and caching solutions (Redis)
  • Experience with containerization (Docker) and container orchestration (Kubernetes)
  • Understanding of CI/CD pipelines and DevOps practices
  • Knowledge of API security best practices and authentication mechanisms (JWT)
  • _Attributes
  • Solid problem-solving skills with the ability to work independently to meet given requirements
  • Excellent written and verbal communication skills
  • Ability to understand and implement business domain requirements
  • Proactive approach to code quality
  • _Other
  • Use of time tracking software to accurately track time against Jira stories

Expected Outcomes


  • _Application Development
  • Deliver high-quality Python microservice APIs that meet business requirements
  • Maintain development velocity while ensuring code quality standards
  • Successfully implement new features with minimal production defects
  • Ensure proper separation of concerns and domain boundaries in microservices
  • Apply Domain Driven Design principles to service implementation
  • Integrate effectively with third-party APIs and internal services
  • Create reusable components and libraries where appropriate
  • Implement robust error handling and validation mechanisms
  • Provide meaningful logging and debugging capabilities
  • Design and implement scalable API endpoints following REST best practices
  • _Team Collaboration
  • Regular participation in user story kicks off and sign off processes
  • Present the results of your work in demo recordings or screen share calls
  • Effective communication of technical decisions and trade-offs
  • Timely completion of assigned user stories
  • Constructive contribution to technical discussions
  • _Code Quality and Testing
  • Ensure automated test coverage of critical business logic
  • Ensure all code follows team coding standards and best practices
  • Participate in regular code reviews and address feedback
  • Implement appropriate integration tests for key API endpoints
  • Maintain clean, maintainable, and well-documented code
  • _Infrastructure
  • Help maintain and improve the local development environment (Docker Compose)
  • Ensure services are properly containerized and configured for Kubernetes deployment
  • Implement effective data storage solutions using appropriate database technologies
  • Design and maintain efficient message broker integrations
  • _Automation and Deployment
  • Create and maintain automated test suites for all new features
  • Contribute to CI/CD pipeline improvements
  • Ensure smooth deployment processes through proper containerization
  • Implement automated rollback procedures for failed deployments
  • Create and maintain deployment configuration files (Helm)
  • _Monitoring and Uptime
  • Implement comprehensive logging and monitoring solutions
  • Create and maintain health check endpoints for all services
  • Help establish and maintain service level objectives (SLOs)
  • Contribute to incident response and resolution procedures
  • Implement proper error handling and failure recovery mechanisms
  • _Documentation and Standards
  • Maintain up-to-date API documentation using OpenAPI/Swagger
  • Document architectural decisions and technical specifications
  • Create and maintain development environment setup guidesContribute to coding standards and best practices documentation
  • Document operational procedures and troubleshooting guides
  • _Performance and Optimization
  • Optimize API response times to meet performance SLOs
  • Implement efficient database queries and caching strategies as appropriate
  • Monitor and improve application resource usage
  • Identify and resolve performance bottlenecks
  • Implement proper database indexing strategies
  • _Security and Compliance
  • Implement secure coding practices
  • Ensure proper API authentication and authorization
  • Regular security review of dependencies
  • Maintain compliance with data protection requirements
  • Address security vulnerabilities in a timely manner

Keywords


Python, Django, Django Ninja, Django ORM, Pydantic, Docker, Kubernetes, Kafka, MongoDB, PostgreSQL, Redis, Document Stores, Message Brokers, Microservices, REST APIs, 3rd Party API Integration, Git, CI/CD, GitHub Actions, Test Automation, Unit Testing, Integration Testing, TDD, BDD, DDD, Acceptance Testing, Agile Methodologies, Kanban, Domain Knowledge




لقد تجاوزت الحد الأقصى لعدد التنبيهات الوظيفية المسموح بإضافتها والذي يبلغ 15. يرجى حذف إحدى التنبيهات الوظيفية الحالية لإضافة تنبيه جديد
تم إنشاء تنبيه للوظائف المماثلة بنجاح. يمكنك إدارة التنبيهات عبر الذهاب إلى الإعدادات.
تم إلغاء تفعيل تنبيه الوظائف المماثلة بنجاح. يمكنك إدارة التنبيهات عبر الذهاب إلى الإعدادات.