Permanent | Full Time
Tucows has been on the Internet since people unironically called it the Information Superhighway. Tucows (NASDAQ:TCX, TSX:TC) is a quietly, wildly successful $600 million company. Over twenty five years, we have reinvented software distribution and domain name registration around the world and challenged multi-billion dollar phone and cable companies in the US, mostly out of a small warehouse in Liberty Village, Toronto. Even though we’re a pretty large company, we strive to limit bureaucracy and get good ideas off the ground quickly. We believe anyone, at any level in the organization, can bring forward ideas, initiatives and creative input. That’s where you come in. As a Software Engineer, you’ll play a major role in evolving our core domains platform. Description: We are seeking to hire a keen and self-motivated individual who loves the Internet, and loves learning and solving complex problems. You are language agnostic and have a solid understanding of software engineering fundamentals and can apply your knowledge to a wide array of problems. You have notable experience developing software and are good at using languages like Python and Perl to implement features in distributed systems. You are also capable of navigating large codebases and uncovering the complexity in existing systems. You are open to giving and receiving feedback, participating in code reviews and design discussions. In addition to the above, you are nimble and able to remain effective when priorities shift. What you’ll be doing: In the first 30 days: Join a team that is working on a large codebase Gain deep understanding of our existing platform Implement small stories and ensure quality through writing automated tests In the first 3 months: Contribute to technical design and planning sessions Participate in code reviews and ensure that development standards are adhered to Design and implement features of increasing complexity In the first year: Identify technical debt and propose solutions such as refactoring projects Automate manual tasks Own projects or features from conception to release Balance the need to ship code quickly with the need to make sound technical decisions. Key skills and experience: Bachelor degree in Computer Science, Software Engineering or equivalent work experience 7+ years professional experience in a software engineering environment Experience refactoring legacy systems Experience writing automated tests Experience with Continuous Integration concepts and tools Experience delivering highly available and reliable systems Experience with Perl is a great asset Good communication skills, both verbal and written Nice to have skills and experience: Experience building integrations with 3rd party systems Experience working in an agile environment Exposure to multiple programming languages
Keep Calm and waka waka...