Intermediate Software Developer

Tucows has been on the Internet since people unironically called it the Information Superhighway. 

Today, we’re the second largest domain wholesaler in the world with over 14,925405 domains under management (OpenSRS / Enom). We’re doing all kinds of interesting things, including running an MVNO cell phone service (Ting) and building fiber to the premises networks in towns and cities across the US (Ting Internet). We offer individual and small business domains and integration with various popular platforms (Hover/Ascio and many more).

We’re a team of over 600 serving tens of millions of customers around the world. Our growth has been incredible, smart and measured (NASDAQ: TCX, TSX: TC). Our success is built on a solid technology foundation, thanks to the people that work with Tucows.

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 are currently seeking to hire a keen and self-motivated individual who loves the Internet, and loves learning, investigating and making sure new technology works.

You have significant experience with developing Linux or Unix-based software and are good at using languages like Python to create high-performance high-availability applications. You are also great at learning new and complex tools and integrating their functions into complex automated testing processes, because you are passionate about making sure you software really works. You are comfortable working not just with applications but with the tools to build, deploy, maintain, and monitor them.

In addition to the above you are really good at breaking things and can sense a weakness in a system a mile away. You can put yourself in the customer’s mindset and find ways to improve the experience of using online systems.

Key position responsibilities:

% of Time

Description of task / duty


· Design and development of highly scalable, highly reliable, highly available backend applications.


· Automated unit testing and integration testing


· Production support activities including troubleshooting and resolving problems


· Additional responsibilities as required

knowledge, skills & abilities (list specific experience and skills, number of years experience and unique abilities required for this job)

· 2+ years experience doing client/server side application development on Unix/Linux platform or LAMP stack, ideally with Python

· Experience in objected oriented design and development

· Knowledge of popular design/development patterns

· Familiarity with using version control systems

· Some experience with Continuous Integration concepts and tools is a definite asset


· College or University degree in a related field is an asset but not a requirement.

Interpersonal skills:

· Good overall communication skills (verbal and written)

· Positive and constructive attitude

· Demonstrated team player

· Responsible and accountable

Special Requirements:

· May be required to be part of an on-call rotation

· Very occasionally, if code deployment goes wrong, staying overtime may be required