Company DescriptionWe are here to change the future of Home Services and we have the team to back this up! Find out more about us here!
Role DescriptionAs a Software Engineer (Back-end) you will be building core capabilities and services for Douleutaras and you must be passionate about software engineering and awesome product experiences. You should care deeply about writing solid code, closely follow industry trends and the open-source community, you are curious and an avid learner. You have a strong opinion about technologies and are willing to test new ideas out. You like to move fast and get code into production because you know that your work has a positive impact on the lives of end users.You will also be in the driving seat for installing awesome infrastructure to assist the business geographical expansion plans which require more tech power and better delivery pipelines! Bring in some horsepower and cloud capacity please!!!Our product’s backend is in pure Python and we strictly follow Python’s best practices and coding principles. We currently make full use of the Django framework in conjunction with Django’s REST framework and numerous Django applications.We rely on PostgreSQL for our database needs, so you will need concrete knowledge of its optimizations and host configuration. Search is done through a cluster of ElasticSearch nodes and we constantly try to optimize search times. All our asynchronous tasks are performed through Celery.Our deployment pipeline lives on Gitlab CI and functions with a hybrid of Ansible playbooks deploying to cloud instances and Docker containers. It is rock solid with zero downtime but there is always room for improvement.
Qualifications1+ year of proven experience in developing web applications with Python2+ years of professional experience with enterprise architecture and developing highly scalable websites/servicesStrong Understanding of OOP principles/design patternsProven REST services experienceSource control systems experience (Git)Experience in relational databasesProficient with Linux administrationHands-on experience developing, releasing, and maintaining large-scale software applicationsGood written, verbal, and collaboration skillsExcellent command of English, both written and verbalExperience working with a remote and multicultural team