Back End Developer
- Montreal, with remote options
- Python (if not fluent but comfortable with another equivalent language, that's works too!)
- Libraries and Tools:
- Django, Django Rest Framework, Django Channels, Celery, AWS EC2 Hosting, PostgreSQL & Redis Database
About your team
Back End Developers work with the development (‘Dev’) team which maintains and iterates on e180’s flagship product Braindate, the client-supporting tool, and other emerging products. The team defines best coding practices within e180 and stays up-to-date on the ever-evolving field. They work hard to create a development culture that is dependable, scalable and agile.
Your team’s rituals and ways of working together
Each member of the development team is autonomous and has the option of working remotely (we do suggest a regular presence in the office) but communicates with the team on a daily basis. Our projects are split between a Scrum approach and a Kanban approach to stay in sync with our development pace.
We are dedicated to creating pretty code that is documented, tested, and reads like prose to any other developer. Quality code makes for scalable projects and happy developers who feel accountable for maintaining it. We use the RICE prioritization framework to determine what’s the next most important bug to fix or task to complete.
We conduct regular optimization audits (run speed tests to identify bottlenecks and solve them) and meet weekly for peer-to-peer code review so that we are continually learning from the diverse talent on the team.
There can be rush periods when we need to expedite a fix or feature work but developers and product team always stay accountable for delivering stable and well-performing features.
You’ll be in charge of maintaining and developing the API that sustains Braindate.com as well as the linked dashboard. Your role includes giving feedback on the general architecture, as well as programming new functionalities.
In addition, your role is to ensure that our infrastructure is healthy and can properly handle the numerous users that hit the servers at the same time.
And of course, this should always be done with good practices in mind: tests, documentations, etc.
Because our product is always evolving and we’re building our dashboard in parallel, there might be some punctual needs to help our Customer Success Manager gather the right data or change the right settings in a manual way.
- Efficient use of Python or equivalent programming experience
- Web development (HTML/CSS/JS)
- Knowledge of PostgreSQL and Redis
- Strong problem solving skills
- Good written and oral communication skills in English (French is a plus)
Some extra qualities that will set you apart:
- Experience with Django and/or Celery
- Experience with Docker
- Good communication skills in explaining the context for a bug
- Positive attitude with a strong interest in technological innovation
You’ll have the opportunity to further your knowledge about
- Improving recommendation algorithms
- User-friendly data visualization for internal and external insights
- Your own self-directed learning goals!