We have a new opening for a Software Architect. You will have strong technical and communication skills, a passion for building high-quality software and the ability to work well within an agile scrum environment. You are well versed in Storage, Data Protection, Storage Virtualization, Software as a Service (SaaS), Distributed File System (DFS), Cloud Computing,Enterprise Software and Cloud Storage.
Our development lab is located near the QEW at Winston Churchill Blvd., accessible by both Mississauga Transit and Oakville Transit. We are a short bus ride from Clarkson GO station.
Specific Objectives & Responsibilities:
We have an immediate opening for a Software Architect. You will have strong technical and communication skills, a passion for building high-quality software and the ability to work well within an agile scrum environment. Our development lab is located near the QEW at Winston Churchill Blvd., accessible by both Mississauga Transit and Oakville Transit. We are a short bus ride from Clarkson GO station.
In the first three months:
- Acquire a broad understanding of the Carbonite products, their overall architecture, and how they are deployed and used in production
- Build collaborative relationships with all the Engineering teams as well as with the Product Managers
- Begin to provide additional teams with assistance, ideas, guidance, and critical feedback at every level – implementation, design and architecture
Three to six months:
- Gain deep knowledge of the architecture and design of each major component and the interactions among them
- Identify, cultivate and promote promising ideas and techniques (from both individuals and teams) for improving the software itself and our Engineering practices
- Begin to facilitate and promote cross-team communication and coordination on architecture, design, Engineering practices, and other technical choices and trade-offs
Six to twelve months and beyond:
- Work with a large and complex code base, guiding the teams through the challenges of continuous improvement and helping them balance the long-term benefits of refactoring and design improvements with the need for short-term bug-fixes
- Advocate widely for improvements to the quality, supportability, scalability, resilience, and maintainability of the software we ship; the predictability with which we ship it; and the overall productivity of the teams
- Build cross-functional relationships with Operations, Support, Professional Services and Sales – both to ensure Engineering is building the right things and to help the business deploy and use them effectively once they ship
- Research new technologies and bring forward new ideas to support the business
Key Challenges to Overcome:
Do you enjoy being the enabler and catalyst for the success of other teams and individuals? Can you keep the big picture in sight even when you need to get “down in the weeds”? Do you question everything, while leading by persuasion and maintaining a constructive focus? Are you willing to work hard to improve the entire team’s understanding of every decision we make? Are you able to simplify problems and solve them incrementally?
The successful candidate will say “yes” to all the above and will demonstrate good judgment when finding the right balance between evolutionary and revolutionary approaches to improving our products.
What will make you successful at Carbonite:
- A track record of good judgment and decision-making in positions with significant responsibility
- Highly autonomous and able to independently identify high value projects and drive them completion
- Demonstrated leadership capability in cross-functional team environments
- High degree of comfort with complex technical environments
- Having and being able to articulate/defend an informed opinion on important topics
Skills & Experience:
- Experience developing C++ and C# applications in a Windows environment
- Proven track record of shipping commercial software products, especially for the mid-market IT
- Integrating software acquired through acquisitions into existing software stack
- A bachelor’s degree in Computer Science or equivalent
- Ability to clearly communicate with all stakeholders, including customers
- Experience providing technical guidance and oversight to a team of developers and testers
- Technical ability to prototype/implement any proposed architectures
- Can quickly learn new languages and technology stacks