Software Engineer – Python & Distributed Systems
Software Engineer - Python & Distributed Systems
View below the job description in addition to the application form.
- Design, implement and deploy high performance, scalable, robust SAAS Applications using state-of-the-art technologies.
- Build production-ready systems capable of large scale data aggregation and processing.
- Develop and demonstrate a broad set of technology skills in Python Programming, micro service design patterns, Open Source libraries and frameworks, and technology architecture concepts (Django).
- Collaborate with an excellent, cross-functional team across Engineering, Product and Design to conduct new technology research for product development and recommend product enhancements
- Actively participate in code reviews, analyze results and choose the best solution
- Continuously focus on improving the software quality and performance
Required Skills :
- At least 2 years of software engineering experience in Python
- Hands-on expertise in many disparate technologies, typically ranging from large scale data platforms, service-oriented architecture, distributed systems design, databases etc
- A solid foundation in computer science, with strong proficiencies in data structures, algorithms, design patterns and network protocols
- Expertise in Python, and Django (or Flask etc.)
- Ability to deep dive into problem-solving and build elegant, maintainable solutions to complex problems, in addition to excellent interpersonal skills.
- Able to design & create a database schema in SQL and No-SQL databases with data security in mind
- Good understanding of REST APIs, including API design and versioning.
- Deep understanding of the HTTP protocol, web application performance and scalability
- Understanding of Data Caching techniques using services like Redis, etc.
- Strong unit test and debugging skills
- Track record of delivering apps / large software projects
- Familiar with the challenges of distributed, asynchronous, redundant, fault tolerant systems.
- Experience with micro services architecture would be a plus.
- Familiarity with message brokers such as Kafka, RabbitMQ, etc
- Experience with DevOps
What we use
Python, React, Django, GCP, Azure, Linux, Gitlab, Docker, spacy, scrapy, nltk, Postgres and more