Performs implementation, regular problem solving, maintenance and support for a agile software development.
Basic Qualifications
- Bachelors degree in computer science or a related field
- At least 5+ years of experience in Software engineering
- At least 3+ years of experience in Python development
- Strong programming skills in Python
- Should also have experience with Python frameworks, such as Pandas, NumPy, Django, Flask, and Pyramid.
- Experience with relational databases such as Snowflake, MySQL or PostgreSQL
- Experience with designing and developing software applications in Python for cloud computing platforms such as AWS or Equivalent.
- A solid understanding of fundamental computer science principles, including data structures and algorithms, is a must.
- Capable of thriving in high-pressure situations and delivering results within tight time constraints.
- Demonstrated passion for technology coupled with an eagerness to contribute to a collaborative team environment.
- This position requires working onsite five days a week.
Roles & responsibilities
- Responsible for designing, developing, and maintaining complex Python applications and services.
- Mentoring and leading junior developers.
- Working with other developers to design and implement new features
- Troubleshooting and debugging code
- Deploying applications to production.
- Working with DevOps teams to ensure that applications are running smoothly.
Top candidates will have proven experience in the following
- Designing, creating, deploying, and sustaining software solutions on a large scale.
- Implementing application architectural patterns, including but not limited to MVC, Microservices, and Event-driven architectures.
- Utilizing CI/CD tools such as Azure DevOps, Jenkins, GoCD, etc, for seamless software deployment.
- Deploying and managing software on public cloud platforms like AWS.
- Collaborating within an Agile framework, preferably following Scrum methodologies.
- Proficiency in managing and deploying applications using container orchestration tools, specifically ECS (Elastic Container Service). Good understanding of Docker fundamentals.
- Other AWS services like Lambda, CloudFormation, CloudWatch, S3.
- Good working knowledge on Python modules like Pandas, NumPy, multithreading, requests, etc
- Possess a solid understanding of version control systems, with a particular focus on GIT.
- Proficiency with SQL.
Good to have
- Proficient in managing diverse datastores, including Snowflake, Elasticsearch, MySQL, and Oracle.
- we'll-versed in developing Snowflake procedures, tasks, and other Snowflake components.
- Expertise and experience in building Large Data Lakes and Data Warehouse (Snowflake Preferred).
- Experienced in working with message brokers such as AWS SQS and AWS SNS. Lambda, API Gateway, DynamoDB, Aurora, AWS RDS PostgreSQL.
- Proficient in utilizing batch or stream processing systems, including Apache Spark and AWS Glue.
- Familiarity with scheduling tools like Apache Airflow and Perfect.
- Skilled in developing and working with Restful APIs.
- Hands-on experience with API tools like Swagger, Postman, and Assertible.
- Advocate of Test-Driven Development (TDD) and Behaviour-Driven Development (BDD).
- Extensive hands-on experience with testing tools like Selenium and Cucumber, with expertise in seamlessly integrating them into CI/CD pipelines.