Software Developer (C++/C#)

Hexagon Geosystems - Kelowna, BC (10 months ago)

Apply Now

MicroSurvey, part of Hexagon, is a world leader in software development. Providing market specific solutions from single user applications to country-wide government implementations, MicroSurvey solutions are used around the globe by Land Surveyors, Civil Engineers, Mapping Professionals, Police Officers and Accident Reconstruction Specialists. Learn more at

About the Position
We are looking for an experienced C++/C# Software Developer to join our team in West Kelowna, BC, Canada.
Our ideal candidate has 5+ years experience developing software in a corporate environment, intermediate to advanced C++ and/or C# development and other requisite skills, the proven ability to work with a very large code base with many complex and interconnected components, the adaptability to work on multiple projects and with different technologies, and a passion for building professional applications.
We will invest in your knowledge gaps, enabling you to integrate into and enhance our team. You will collaborate with other developers of varying experience and skill levels, and non-developers within our cross-functional team. You will mentor and advise other developers on systems design, implementation details and best-practices. You are receptive to the ideas and constructive critiques of other developers. You have a commitment to continuous learning and the ability to quickly learn and eventually master new technologies. You are proud of your accomplishments, and have a strong desire to build innovative, cutting-edge technologies and systems.

design and develop software solutions in a team environment
work as part of a diverse team to take new product ideas from concept to delivery
support existing products through defect investigation, resolution, and testing
write new code and maintain existing code
use our established software development standards and practices
use source control to effectively manage code
review software requirement specifications and provide advice on project feasibility
write software design specifications, in accordance with project requirements and best-practices
derive accurate development time estimates and timelines based on project design
show agility when faced with changing project requirements
develop and maintain unit test cases
conduct functional testing
participate in code reviews
ensure both product quality and code quality
work both independently with minimal supervision and collaboratively in cross-functional teams
mentor and guide other members of the team, from junior to other senior developers
provide advice in selecting, implementing, and refining internal development tools and processes
commit to continuous learning in a fast-paced and quickly-evolving business
continually refine and improve your software development abilities
take ownership, pride, and responsibility in your own work and the work of the team around you
provide technical expertise to the technical support team on critical customer issues
Required Qualifications
Bachelor’s degree in Computer Science, Software Engineering, or equivalent
5+ years of software development experience in a corporate environment
Excellent debugging and testing skills
Excellent communications skills, both spoken and written
Excellent people skills and can work effectively with peers’ diverse personalities and backgrounds
Solid understanding of data structures and algorithms
Experience analyzing and optimizing algorithm performance
Strong background in object-oriented programming (OOP)
Intermediate-to-advanced knowledge and experience with C++ and/or C# (preferably both)
Knowledge and experience with Git or other source control system
Knowledge and experience with any scripting language
Knowledge and experience solving mathematical problems especially geometry and trigonometry
Must be able to travel between USA and Canada
Qualifications Considered an Asset
Knowledge and experience with Microsoft Visual Studio
Knowledge and experience with Microsoft Foundation Classes (MFC)
Knowledge and experience with Microsoft Azure DevOps
Knowledge and experience with Microsoft Xamarin
Knowledge and experience with UI design and development using WinForms and XAML
Knowledge and experience with database design and queries
Knowledge and experience working with agile methodologies like Scrum
Familiarity with the fields of geomatics, geodesy, surveying, mapping, GIS, construction, or forensics
Familiarity with surveying equipment including GNSS receivers, total stations, or laser scanners