Software Engineer
KeySkills
Job Description
Job Description:
The Software Engineer will be responsible for designing, developing, and maintaining scalable software applications and systems. You will collaborate with cross-functional teams to implement new features, improve existing functionalities, and ensure high performance and reliability. This role requires a strong foundation in Python, FastAPI, and modern database technologies, along with a proactive attitude toward learning emerging tools and frameworks.
Responsibilities:
-
Software Development: Design, develop, and implement high-quality, efficient, and scalable software solutions using Python and FastAPI.
-
Automation: Utilize internal deployment tools and CI/CD methodologies to automate build, testing, and deployment processes for consistent delivery.
-
Collaboration: Work closely with product managers, UX designers, and fellow engineers to gather requirements and deliver innovative solutions.
-
Testing & Debugging: Write unit and integration tests, identify bugs, and ensure the performance and reliability of deployed applications.
-
Continuous Improvement: Analyze existing systems and recommend enhancements to improve system efficiency and reliability.
-
Documentation: Create and maintain comprehensive documentation for software design, system architecture, and deployment processes.
-
Technical Support: Provide post-deployment support, troubleshoot issues, and ensure minimal system downtime.
-
Learning & Innovation: Stay updated with the latest technologies and best practices, continuously upgrading skills to contribute to innovative solutions.
Key Skills & Requirements:
Mandatory Technical Skills:
-
Programming: Strong hands-on experience in Python.
-
Frameworks: Proficiency in FastAPI for backend development.
-
Databases: Experience with PostgreSQL and Redis for data storage and caching.
-
Workflow Management: Knowledge of Apache Airflow for task automation and scheduling.
Preferred Skills:
-
Frontend Development: Experience with React and Redux for building interactive UI.
-
Cloud Platforms: Familiarity with AWS services and deployment pipelines.
Soft Skills:
-
Strong problem-solving and analytical skills.
-
Effective communication and teamwork.
-
Adaptability and eagerness to learn new technologies.
-
Attention to detail and commitment to quality.
-