Software Development Engineer - Backend
Agency Job via JusRecruit
Agency Job via JusRecruit
Job Description
Function: Software Engineering → Backend Development
Technologies: Python, Django, Flask
Responsibilities:
Develop and Maintain Backend Applications: Design, build, and maintain high-quality, scalable backend applications using Python, ensuring robust functionality and performance.
Design and Optimize APIs: Build and secure RESTful APIs using FastAPI, Sanic, or Django, implementing best practices for scalability and security.
Implement Asynchronous Programming: Leverage asyncio and aiohttp for asynchronous operations, enabling efficient handling of concurrent tasks.
Database Management: Create and optimize SQL queries, manage databases using Django ORM or SQLAlchemy, and ensure smooth migrations and indexing for improved database performance.
Integrate Cloud Services: Deploy and manage services on AWS using EC2, S3, RDS, and Lambda. Utilize CloudWatch for application monitoring.
Collaborate with CI/CD Pipelines: Integrate code with CI/CD pipelines in Jenkins, GitLab CI, or AWS CodePipeline for continuous deployment and automated testing.
Testing and Debugging: Write unit, integration, and functional tests with PyTest or UnitTest. Use debugging tools like pdb and Sentry to track and resolve issues.
Ensure Code Quality and Version Control: Utilize Git for version control, participate in code reviews, and maintain a collaborative environment with the development team.
Stay Updated on New Technologies: Continuously learn about the latest trends in Python development, cloud computing, and backend best practices to enhance development efficiency.
Requirements:
Bachelor's Degree in Computer Science, Software Engineering, or a related field.
2 - 4 years of experience in backend development with Python.
Strong knowledge of web frameworks, databases, and API development.
Python Proficiency:
Core Python: Strong understanding of Python syntax, data structures, and built-in libraries.
Object-Oriented Programming (OOP): Proficient in OOP principles, including inheritance, encapsulation, polymorphism, and design patterns.
Web Frameworks:
FastAPI: Skilled in building asynchronous APIs with FastAPI, including using dependency injection, request validation, and async programming.
Sanic: Experience with Sanic for building high-performance, asynchronous web applications.
Django: Proficient in full-stack development with Django, including ORM, middleware, and Django REST Framework for API development.
Database and SQL:
SQL Proficiency: Strong command of SQL for managing and optimizing relational databases like PostgreSQL and MySQL.
ORM: Experience with Django ORM and SQLAlchemy for streamlined database interactions.
Database Optimization: Skilled in optimizing SQL queries, managing indexes, and handling database migrations.
AWS and Cloud Services:
AWS Services: Hands-on experience with EC2, S3, RDS, Lambda, and CloudWatch for deployment, storage, and monitoring.
Serverless Architectures: Familiar with building and deploying serverless applications using AWS Lambda.
API Development and Integration:
RESTful APIs: Proficient in designing, building, and securing RESTful APIs using frameworks like FastAPI, Sanic, and Django.
Authentication/Authorization: Experienced with OAuth, JWT, and session-based authentication mechanisms.
Asynchronous Programming: Asyncio and Aiohttp: Skilled in Python's asynchronous capabilities, especially within web frameworks.
Concurrency: Knowledge of concurrent operations using async/await, threading, and multiprocessing for efficient task management.
Version Control and CI/CD:
Git: Proficient in Git for version control and collaborative development.
CI/CD Pipelines: Experience in setting up CI/CD pipelines with Jenkins, GitLab CI, or AWS CodePipeline for automated testing and deployment.
Testing and Debugging:
Unit Testing: Knowledgeable in testing frameworks like PyTest and UnitTest for unit, integration, and functional testing.
Debugging Tools: Familiar with debugging tools like pdb, logging, and Sentry for efficient error tracking and monitoring.