Senior Software Engineer - Python

Tucows provides domain names, Internet services such as email hosting and other value-added services to customers around the world. We also provide mobile phone services all across the U.S., and fibre-based Internet access in select U.S. towns and cities.

We've given some serious thought to who we are as a company, what our goals are, and how we're going to achieve them. We have made a commitment to the principles that guide our everyday decisions:

  • We work as a team to exceed our customers' expectations
  • We protect the Tucows brand by delivering the highest quality standards in every aspect of our business


Our platforms provide 24x7 availability and a high degree of scalability and manage millions of email messages, over 6 million API calls, and tens of thousands of revenue-stream transactions, every day.

We work in real-time on live systems... so it requires a steady hand and a cool head. Anything that can go wrong will go wrong (we’re optimists... but we’re also realists) and that needs to be accounted for.

We offer a competitive compensation and benefits package with invested growth opportunity. If you meet the below qualifications and are ready to be part of a fast-growing technology company where you determine your future, we want to hear from you.  

The opportunity:

We are inviting experienced software engineers to join our Shared Services team.  The Shared Services team is responsible for building and maintaining a host of services that are used across all of Tucows’ major business units.  

The following describes how we achieve success:

  • Collaborate with internal Product Managers to define shared services’ features
  • Provide level of effort estimates for delivering features
  • Design, develop, and document shared services using a Microservice Architecture
  • Build unit and regression test suites
  • Build and launch scalable, reliable, and resilient shared services
  • Partner with Operations to operationalize shared services via training and documentation
  • Employ Agile software development tools and best practices
  • Learn, grow, and have fun!

The Experience you'll bring:

  • 7+ years of professional software engineering experience
  • Bachelor’s Degree in Computer Science, Software Engineering, or equivalent work experience 

  • Python
  • Python Unit Testing Frameworks
  • Unit test, nose
  • Python Web Frameworks
  • Flask, Tornado, Django
  • Python Object Relational Mapper (ORM) Frameworks
  • SQLAlchemy, Django ORM, SQLObject
  • PostgreSQL, MySQL
  • Python Logging Frameworks
  • Elasticsearch
  • Microservice Architecture Frameworks and Design Patterns
  • Service Oriented Architecture (SOA) Frameworks and Design Patterns
  • Messaging and Enterprise Service Bus (ESB) Frameworks
  • Zato, Spring, MuleSoft, RabbitMQ
  • In-memory Data Stores
  • Redis, Memcached
  • Secure Data Stores
  • Hashicorp Vault

Special consideration will be given to candidates who have one or more of the following qualifications and experience:

  • Payment Service Provider integrations
  • Stripe, Braintree, Vantiv
  • Financial ERP integrations
  • Sage Intacct
  • Background in Finance and Accounting

Working knowledge of:

  • Wholesale and retail domains
  • Internet Service Providers (ISPs)
  • Mobile Virtual Network Operators (MVNOs)
  • Master’s Degree in Computer Science or Software Engineering
  • Working knowledge of Container Technologies and Orchestration Engines
  • Docker, Docker Swarm, Core OS’ rkt, Kubernetes