Software Architect

Engineering Ottawa, Ontario


Position at J2 Cloud Services

This position will report to and work hand-in-hand with the Campaigner Engineering Manager & Sr. Software Architect.  They will become a subject-matter expert and provide technical guidance to the development team, work directly with the Product Management team to convert requirements into high level architecture and detailed design documents which can be used by developers to code enhancements in the Campaigner system; provide guidance and help to developers, QA, & Ops as needed; and be willing to work in the code themselves.


Job Duties:

  • Keep abreast of advances in technology and architecture/design patterns.
  • Become a Campaigner product subject-matter expert.
  • Collaborate with product and project management team to clarify requirements, understand business drivers, provide estimates and develop plans.
  • Create high-level product specifications and design documents.
  • Provide the development team with architectural blueprints to follow.
  • Troubleshoot and resolve issues with coding or design.
  • Ensure that you and the team adhere to development schedules and deadlines.
  • Present regular progress reports and setting goals.
  • Test the final product to ensure it is completely functional and meets requirements.
  • Update software solutions and documentation as required.
  • Drive and collaborate with other developers in the design and implementation of new functionality as well as performance/scalability improvements.
  • Collaborate with QA and product management in an agile development lifecycle in the implementation of epics, stories, etc.
  • Help drive sprint planning.
  • Work with Operations team to identify performance and scalability improvements.
  • Drive and support the overall team in the continued evolution of our development and delivery processes.
  • Coaching and mentoring development team.
  • As necessary, program and test enhancements and maintenance items.

Job Requirements and Experience:

  • Bachelor in Computer Science/Engineering or equivalent.
  • Extensive experience in software development and project management.
  • Experience working on large-scale software projects.
  • Solid understanding of a variety of programming tools and development platforms.
  • 10 years of experience with distributed, scalable hybrid on-prem/cloud solutions, with an emphasis on performance and scalability.
  • Experience with web services and queuing systems.
  • 10 years development experience with .Net and C#, JavaEE, Java Enterprise Bean.
  • Practical experience using RabbitMQ, Redis, Docker, Kubernetes, and CI/CD tools.
  • Excellent organizational and leadership abilities.
  • Highly analytical mindset, with an ability to see both the big picture and the details.
  • Experience with SQL server databases and performance tuning.
  • Experience as a technical lead to a team of developers.
  • Outstanding collaboration and communication skills.
  • Demonstrated track record of building teams in a time-pressured environment.