DigiSay

Job Description

We are seeking a highly skilled Software Engineer with expertise in Python and AWS Cloud to join our dynamic and innovative development team. As a Software Engineer, you will be responsible for designing, developing, and deploying scalable and reliable software solutions using Python and leveraging AWS cloud services. You will collaborate closely with cross-functional teams, including product managers, designers, and fellow engineers, to deliver high-quality software products that meet our customers' needs.

Responsibilities:

  • Design and develop high-quality, efficient, and scalable software applications using Python, adhering to best practices and coding standards.
  • Collaborate with the product management team to understand requirements, translate them into technical designs, and participate in the product development lifecycle.
  • Write clean, maintainable, and well-documented code, while ensuring the overall quality of the code through code reviews and testing.
  • Identify and address performance bottlenecks, debugging issues, and optimizing applications for maximum speed and scalability.
  • Stay updated with the latest trends and advancements in Python, AWS and related technologies, and share knowledge and best practices with the team.
  • Integrate and utilize AWS services such as Amazon S3, Amazon EC2, Amazon RDS, AWS Lambda, AWS DynamoDB, and others, as required by the application architecture.
  • Ensure high performance, availability, and fault tolerance of applications by implementing AWS auto-scaling, load balancing, and monitoring mechanisms.
  • Work closely with cross-functional teams, including designers and frontend developers, to ensure seamless integration of backend and frontend components.
  • Participate in agile development methodologies, including sprint planning, task estimation, and regular team meetings.
  • Mentor and provide technical guidance to junior team members, fostering their professional growth and development.
  • Ensure smooth deployment and operation of the software in a cloud-based environment.
  • Contribute to the continuous improvement of software development processes, tools, and methodologies.

Qualifications:

  • Bachelor's degree in Computer Science, Software Engineering, or a related field.
  • +3 years of experience in software engineering or a related role
  • Solid understanding of Python programming language and its ecosystem, including frameworks like Scrapy, Django or Flask.
  • Knowledge of containerization technologies like Docker and container orchestration platforms like Kubernetes is a plus.
  • Extensive experience in designing and developing backend applications, APIs, and web services using Python frameworks
  • Proficiency in database systems such as PostgreSQL, MySQL, or MongoDB, and familiarity with ORM (Object-Relational Mapping) frameworks.
  • Strong understanding of software development principles, design patterns, and best practices.
  • Experience with version control systems, such as Git, and familiarity with collaborative coding workflows.
  • Solid understanding of software testing methodologies, including unit testing and integration testing.
  • Experience working in an agile development environment and familiarity with agile methodologies (e.g., Scrum, Kanban).
  • Excellent problem-solving and analytical skills, with a strong attention to detail.
  • Effective communication and collaboration skills, with the ability to work well within a team.