About the role
We are looking for an experienced Back-end developer to join our tech team. You will be responsible for the server side of our applications. We develop and manage our own platform and we use a variety of server-side and client-side technologies. Our favourite candidates are software developers that follow best practices in terms of solutions and architecture, have experience in working with diverse technology stacks and are willing to take ownership and care of the product.
Your primary focus will be the development of server-side logic and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your co-workers into the application. Therefore, a basic understanding of front-end technologies is also necessary. Agile is the process we use to manage our work flow.
- Work as part of a team, developing applications and services
- Writing reusable, testable, and efficient code
- Design and implementation of high-availability and performant applications
- Able to estimate effort required and deliver to your commitment.
- Implementing unit tests
- Applying SOLID principles into development flow
Technology is at the forefront of what we do, and the success of our company is based on our world-class technology and on finding solutions to real world problems that have not been solved to date. Our current stack includes:
- Languages: Java, Python, Node.js, Vue.js
- Android SDK
- REST APIs
- Designing and manufacturing IoT ‘smart’ edge devices and expanding using Linux powered devices on the field collecting data using cutting edge technologies
- Focus on security, user authentication, permissions, data integrity
- AWS Cloud using EC2, Aurora, S3 and other services
- JIRA, Confluence, BitBucket (Atlassian products)
- Moving to a micro services architecture using Kafka for messaging and currently implementing other patterns
- Continuous Integration and Delivery using Jenkins, SonarQube, New Relic, Docker, Terraform
- Test Driven Development environment with focus on testing, quality output and clear scoping
- Agile team using Scrum or Kanban (each team chooses the best approach to drive results)
- Reporting and Analytics using Pentaho
- Masters or Bachelor’s degree in computer science or any related field with emphases on information technology is preferred
- Can program using at least two programming languages - one of them being Java, Python or Node.Js and eager to expand skills, when needed, to complete a project.
- Hands-on software engineer with experience on development of a major project/product hosted in AWS.
- Solid knowledge of RDBMS (MySQL or PostgreSQL) and SQL query writing.
- Solid understanding of programming (not just using frameworks, extensions and plugins but understanding what they do, how they work and if needed build/extend them)
- Proficient understanding of code versioning tools, such as Git
- Experience in contributing to existing project(s) with imperfect documentation and rapidly evolving requirements.
- Solid understanding of concepts like Continuous Integration, Continuous Delivery, Code Coverage, Code Quality, Test Driven Development, Unit Testing, and Integration Testing.
- Have experience working with tools like JIRA and Confluence in a fully Agile environment using Jenkins as the CI tool.
- Comfortable in a fast-moving small company environment where things change based on data and customer feedback.
- Basic understanding of front-end technologies
- Competitive base salary
- Company stock options package
- Eligible for discretionary annual bonus
- Health insurance
- 25 days of paid vacation time in addition to national holidays
- Shared office space with a great working environment and a flexible approach to work
- You will love what you do – waking up every day solving one of the biggest social problems of our generation
- Committed team members with broad experience who share a common passion to build a world class business