Purpl

Purpl

Online

Hi there 👋 We’re happy to assist you. We are available from Monday to Friday from 9:00 AM to 8:00 PM and Saturday from 10:00 AM to 2:00 PM.

03:24 AM
closeDownload Purpl

Download

Header Logo

Scan the QR code to download the app

back

Back to Careers

Senior Software Engineer (Python, Django, DRF, AWS)

Senior Software Engineer (Python, Django, DRF, AWS)

Lebanon

Lebanon

Technology

Position Overview:


As a Senior Software Engineer, you will play a pivotal role in developing robust back-end solutions using a variety of technologies. You will collaborate closely with cross-functional teams to design, implement, and maintain scalable software solutions that power our clients' applications. In addition to development, you will take on leadership responsibilities, including mentoring junior developers, performing code reviews, managing issue resolution, and overseeing task planning and delegation.

 

Key Responsibilities:


- Design and develop back-end applications using Python and the Django framework.
- Implement RESTful APIs using the Django REST Framework, ensuring high performance and scalability.
- Utilize Docker, Docker Compose, and Kubernetes for containerized development and deployment.
- Implement best practices for logging, timezone handling, and serialization.
- Collaborate with front-end developers and partners to design and implement APIs to be used in their applications and services.
- Conduct research and assessment of third-party tools and services to integrate into the solutions.
- Ensure secure storage of users' data.
- Ensure secure operation of the services.
- Ensure stability and reliability of the services by applying automated unit, integration, and end-to-end testing methodologies
- Monitor, debug, and fix application issues.
- Ensure seamless integration with third-party APIs.
- Maintain clean and efficient code with version control.
- Collaborate with cross-functional teams to define, design, and ship new features and services.
- Mentor and train junior developers, providing guidance and support to foster their growth.
- Conduct code reviews to ensure code quality and adherence to best practices.
- Ensure code quality through automated testing and continuous integration.
- Perform root cause analysis of issues and develop effective mitigation plans to address and prevent them.
- Plan tasks effectively, set priorities, and delegate responsibilities within the development team to ensure timely and efficient project delivery.

 

Required Skills:


- Strong proficiency in GNU/Linux, Debian/Ubuntu systems, and Git for version control.
- Extensive experience with Python 3, including knowledge of functools and metaclasses (metaprogramming).
- Solid understanding of Django and Django REST Framework, including Django Queryset, class-based views, serializers, viewsets, routers, API versioning, and content negotiation.
- Familiarity with the Browsable API, django-filter, and Django migrations.
- Extensive experience with writing effective integration and unit tests.
- Experience with Docker, Docker Compose, and building multi-stage/multi-platform Docker images.
- Hands-on experience with cloud infrastructure and DevOps principles and tools (AWS EC2, EKS, RDS, ALB, CI/CD).
- Solid understanding of application security and monitoring concepts in cloud environments.
- Ability to work in an Agile development environment and deliver high-quality code within deadlines.
- Proficiency in planning and executing periodic rollout of services, while maintaining backward compatibility of services, ensuring continuous delivery of features and improvements to users.
- Proven experience in mentoring and training junior developers.
- Strong skills in performing effective code reviews and conducting root cause analysis of technical issues.
- Experience in planning tasks, setting priorities, and delegating responsibilities effectively.

 

Optional Skills (Nice to Have):


- Experience with internationalization (i18n) and localization (l10n), especially bi-directional languages.
- Proficiency in Arabic language(s).
- Knowledge of Java 11, Spring Framework, Spring Boot, and Spring Data for backend development.
- Experience with Spring Data JPA, Spring Data Redis, Project Lombok, SLF4J, and Logback for maintaining and porting existing codebases.

 

Qualifications:


- Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent experience).
- 10+ years of professional back-end software development experience.
- Strong problem-solving skills and ability to troubleshoot complex issues.
- Excellent communication skills and ability to work effectively in a collaborative team environment.

Waiting for you!

Apply for this job

First Name

Last Name

Email

Phone Number

Country

upload resume

Upload Resume

Message

job form image

Money moves fast with
Purpl. So you can too.

app storeapp store
footer bg