You're using an older version of Internet Explorer that is no longer supported. Please update your browser.
You're using an older version of Internet Explorer and some functionality may not work as expected. Please update your browser for the best experience.
Incognito Software Systems

Senior Software Engineer (C++)

Share job:

Job Location icon
Burlington, ON
Vancouver, BC
Job Type icon
Full Time
Job Category icon
Software and Programming

Are you passionate about solving problems and delivering next-generation software to enhance the Internet experience? Join a global leader with more than 20+ years experience creating software for broadband service providers. We have been rapidly growing since 1992 and now work with some of the top service providers worldwide to deliver solutions that are innovative, creative, and make life easier for millions of subscribers. We are in a growth phase and are seeking a dynamic Senior Software Engineer who thrives in a fast pace multi-cultural team environment.

Your mission, should you choose to accept it:

You will be working with a talented team at our beautiful Vancouver office. You will be designing and implementing backend solutions with a focus on C++ technologies such as IPAM.  You are a champion of writing clean code, keeping up to date with latest C++ technologies and mentoring less experienced developers.  You always ensure code is written such that implementation time is reduced and the number of bugs are minimized.  You are a model developer and a leader for others to follow.

Specific Responsibilities and Resulting Outcomes:

  • Be a core participant in the requirements, analysis, design, implementation and testing of software.
  • Identify and incorporate existing solutions and technologies in order to shorten development time and still maintain a high quality code base.
  • Create specifications, provide estimates, and develop software for those specifications.
  • Create automated tests and ensure code is well tested before committing any code changes.
  • Create and manage build scripts to ensure that software packages are built according to industry and company standards.
  • Ensure projects are completed with sufficient automated and manual testing to minimize bugs.
  • Be a project lead to coordinate team to ensure timely delivery of project milestones,deadlines, and/or demos.
  • Produce code of the highest quality to set the standard for others to follow.
  • Conduct code reviews to ensure code is written according to industry and company standards and to ensure the team is using shared libraries for maximum re-use.
  • Mentor less experienced developers and be a key role in onboarding new hires.
  • Employee may be asked to perform other ancillary or related duties as required, to meet the ongoing needs of the organization.

You are at the top of our list if you have the following:

The basics

  • Bachelors of Engineering or Bachelors of Computer Science
  • 5 to 10 years as a senior software engineer
  • 2+ years project lead experience

Must Haves

  • 3 to 5 years experience developing C++ 11 (and above) applications
  • 5+ years experience developing with Boost and Standard Template Libraries
  • Solid experience developing C++ in a Linux environment and preferably using Eclipse as the IDE.
  • Solid experience using Debian and CentOS package managers to install and upgrade software on a Linux workstation.
  • Solid experience designing REST API
  • Solid experience writing enterprise level multithreaded applications in C++.
  • Expertise in IP address management
  • Experience writing and modifying makefiles
  • Experience writing server side applications based on networking protocols (TCP/IP,SNMP, etc)
  • Solid experience using a packet sniffer such as Wireshark to troubleshoot network communication.
  • Solid experience debugging and troubleshooting core dumps.
  • Solid experience configuring and setting up Jenkins to run a continuous build environment.

What you bring to the table

  • Positive mindset, with strong interpersonal skills and ability to work constructively within a team environment.
  • Strong analytical and problem solving capabilities.
  • Excellent verbal and written communication skills (in English) with experience in creating clear and concise documentation.
  • A commitment to upgrading technical skills
  • Comfortable presenting ideas in front of a team
  • High attention to detail

Brownie points if

  • Experience using GIT to branch, tag and version release packages
  • Experience with Jira to manage day to day activities
  • Experience using BitBucket to conduct code reviews and merge code.
  • Solid experience configuring and administering PostgreSQL, MySQL, and/or Oracle and MongoDB.
  • Experience using debugging tools such as GDB, Valgrind and strace.
  • Experience writing GMock tests.
  • Experience writing SOAP API.
  • Experience writing CORBAAPI using ACE.
  • Experience with virtual machines or containers such as VirtualBox, OpenStack and/or Docker.
  • Solid experience with shell scripting to create development tools.

Posted: February 14, 2018
Closes:April 15, 2018