Design, develop, enhance, and maintain software applications using industry-standard software engineering practices.
Participate in all phases of the software development lifecycle including requirements analysis, design, implementation, testing, deployment, and maintenance.
Develop high-performance applications using modern C++ technologies.
Work with coordinate systems, geospatial data models, and optical survey-related technologies.
Design and implement multithreaded applications for improved scalability and performance.
Build and optimize database interactions using SQL.
Participate in software architecture discussions and contribute to technical design decisions.
Perform debugging, troubleshooting, validation, and performance tuning of software applications.
Contribute to configuration management and software release processes.
Collaborate with product management, QA, architects, and engineering teams to deliver high-quality solutions.
Utilize Jira for project planning, task management, and Agile delivery.
Use Git for source code management, branching, and version control activities.
Contribute to CI/CD implementation and automated testing initiatives.
Work with visualization and rendering technologies such as DirectX and OpenGL when required.
Investigate complex technical issues and implement effective solutions.
Support software quality initiatives through continuous improvement and best engineering practices.
Prepare technical documentation, design specifications, and implementation guides.
Expertise You'll Bring:
7-12 years of software development experience with strong expertise in C++ development.
Strong proficiency in C++ programming, STL, and Boost Libraries.
Hands-on experience with multithreaded and concurrent application development.
Strong SQL development experience and database design knowledge.
Experience with software configuration management, debugging, testing, and validation.
Strong understanding of compiler behavior and software optimization techniques.
Experience designing scalable and maintainable software systems.
Strong knowledge of software architecture and design principles.
Strong understanding of coordinate systems and geospatial concepts.
Experience working with optical survey technologies and surveying workflows.
Knowledge of positioning, mapping, and geospatial solution development.
Ability to develop accurate and reliable geospatial processing applications.
Understanding of spatial data management and transformation techniques.
Hands-on experience with Git and source code management practices.
Experience using Jira for project tracking and Agile development.
Knowledge of CI/CD practices and automated software delivery pipelines.
Experience with software testing methodologies and quality assurance processes.
Familiarity with Agile development methodologies and collaborative engineering practices.
Strong analytical and problem-solving capabilities.
Excellent planning, execution, and delivery management skills.
Ability to collaborate effectively across multiple engineering and business teams.
Strong communication and stakeholder management skills.
Ability to manage priorities and deliver high-quality solutions within project timelines.