Staff / Senior Back-end Software Engineer

The Opportunity

Do you want to just build software, or do you want to build software that helps people improve their lives? Viamo is a mission-driven organization and communication platform that is supporting people in geographies with minimal access to the Internet (take a look at some examples of our impact here). With everything that has happened in the past two years, many of us have reconsidered what we want to do with our lives and how we can make a meaningful impact. Viamo is a place where you can work with talented, driven, and thoughtful people to improve the world for the better. If that sounds intriguing, please read on…

We are looking for a passionate and experienced Senior Full Stack Engineer to design and develop high-quality, modern software solutions to fulfill our mission. You will be building software that is currently used in 40+ countries (primarily across Asia, Africa, and the Caribbean) to give connectivity to people with limited technology. You will be part of a team that is building, scaling, and maintaining Viamo's products including our large-scale web application and communication platform that processes 4 million+ interactions a day and positively impacts millions of lives. In the years ahead, we are aiming to scale our platform strategy to go beyond sharing information: connecting 100 million active users to vital services and many of the benefits of the digital economy.

All our users need is a simple mobile phone and a mobile connection to get access to vital information and services. Through channels such as text messaging and Interactive Voice Response (as well as internet-based channels such as Facebook Messenger and WhatsApp), end-users who are farmers, expectant mothers, small business owners, and others can get access to life-changing information. Throughout the COVID pandemic, Viamo’s platform was key to efforts in many countries to get public health information out to hard-to-reach populations.

We are looking for a Staff or Senior-level Engineer who has been doing back-end development for 8+ years and, ideally, has formal training in Computer Science or Software Engineering. Specifically, we are looking for an Engineer to help us optimize our User Experience through the application of data analytics and Machine Learning. Experience with ML technologies and languages, as well as recommendation engines will be a huge asset.

We care most about your critical thinking skills and technical talent. Assuming that you are something of a polyglot programmer, we’re confident that you can become productive in any technical environment. It would be an advantage, although not a prerequisite, to have experience in some or all of our key tech stack components, including:

  • PHP / Laravel
  • MySQL
  • BigQuery
  • RabbitMQ
  • Redis

(The list above represents the key ones - we use many other technologies, including AWS, Docker, Ansible, Jenkins, BitBucket, etc.)

Strong written and verbal communication skills are a prerequisite, as we are a very team-oriented company working remotely with colleagues across the world, so clear communication is central to our success. We appreciate people who balance thinking long-term and pursuing technical excellence and are focused on delivering value to users. We are experienced Agile / Scrum practitioners and we operate in multi-disciplinary product crews towards shared success. If you are an independent, self-starting, and quality-minded developer with top-notch communication and analytical skills, we would like to talk to you.

About Viamo

At Viamo, we envision a world where all people have access to the information they need to make decisions for healthy, prosperous lives, and have meaningful relationships with governments, civil society, and businesses.

With more than 300 team members spread across 25 countries, and serving projects in more than 40 countries, we truly work on a global scale to catalyze a mobile tech movement. We are connecting nonprofits, governments, and businesses to the people they serve using the digital technologies they already have in their pockets (voice calls, interactive SMS, and social network chatbots). The majority of our Engineering team is based in Canada, but we have team members all over the world.

At Viamo, we value Diversity, Equality, and Inclusion. We know that diverse perspectives and experiences make our products, services, and teams stronger.

Did you know?

HR research shows that men apply to jobs when they meet an average of 60% of the criteria, but women and other under-represented people often apply only if they feel they check 100% of the requirements. We would love to see your application even if you don't feel you hit every point below. If you think this role looks like something you want to do and could grow into - we are excited to see your application!

Key Responsibilities

As a Staff / Senior Back-end Software Engineer, your responsibilities will include:

  • As a leader in a team environment, develop scalable software for interactive communication and messaging.
    • Architect technical solutions to introduce user-driven personalization capabilities into our interactive communication runtime.
    • As a senior engineering contributor in a cross-functional product crew, mentor and support other crew members to help the crew reach key product milestones.
    • Create solutions and follow-up: Collaborate with team members in Design, Product Management, and Engineering to ensure the solution is driven through to completion.
    • Help introduce new concepts and technologies into the company, particularly around recommendation engines and Machine Learning.
    • Take a lead on planning: Look at a list of requirements, provide realistic estimates and then work with Project Managers to ensure fully-realized tasks are created and ready to be worked on.
    • Contribute to product design: Provide perspective on ways that solutions can be designed from a developer’s perspective.
    • Be accountable to timelines: Make your work estimates visible, understand the impact it has on timelines, and communicate with the team so that everyone is up to date on your progress.
    • Balance quick fixes and long-term quality solutions: Deliver solutions efficiently with an awareness of the larger product vision, and maximize business value.
    • Provide examples: Use consistent design patterns and implementation ideas to build familiarity across the team.
  • Become a leader and inspire your colleagues:
    • Collaborate and contribute: Work across Tech Chapters (QA, Design, Front-end, Infrastructure) and take responsibility by showing through example how to unleash others and move the team forward.
    • Unblock others: Work with an awareness of the most important tasks to work on now that will make a difference for the larger team and ask yourself - “What work can I do that will unblock others?”
    • Contribute to team processes and learning, so that the engineering team meets its goals of becoming smarter, more productive, and healthier each sprint.
    • Management Opportunities: If this is something that motivates you, you can manage and support your junior colleagues in their professional development.

What’s in it for you?

  • A chance to do work that is genuinely meaningful with peers who are talented, driven, and thoughtful
  • Fully remote role - work from anywhere you have an internet connection and can be productive
  • Flexible work schedule
  • Unlimited vacation
  • Health benefits plan
  • Continuous learning opportunities and support for professional development.

About you

  • Back-end development experience at a massive scale - this is your thing! You love working on the most complex aspects of an application and can bring your years of experience to our team.
  • Ideally, you have experience with recommendation or prediction engines, as our near-term work includes optimizing our User Experience through deep analytics and Machine Learning.
  • Ability to balance speed and quality - based on the task at hand, you strike a balance between working efficiently and writing quality code.
  • Build for scalability - You can come up with and implement scalable solutions.
  • Proactive and continuous communication - Given a problem, you collaborate with others and keep everyone in the loop along the way.
  • Being open to thinking differently - Some designs need to be constrained within technical and/or architectural boundaries and other times designs need outside-the-box thinking! As a senior developer, you are able to understand what a given situation calls for and support designs on both ends of this spectrum.

Viamo is an Equal Opportunity Employer. We value diversity and encourage applications from all candidates. We believe that diverse perspectives help our teams to create innovative solutions and understand our global clients' needs. In alignment with our values, we are committed to recruiting and retaining a diverse global workforce without discrimination.

Apply now with a CV and a short cover letter. We're excited to work with you on this mission ahead.

Explore more opportunities at