Principal C++ Software Developer - Network Diagram
Role details
Job location
Tech stack
Job description
- Drive technical design and end-to-end delivery of Network Diagram features (rules, layouts, diagram building)
- Translate customer and internal needs into clear requirements and implementable solutions
- Design and optimize algorithms (geometry/graph theory) for large, real-world network datasets
- Collaborate across C++, C#, GIS platform, architecture, UX, and QA to align scope and execution
- Ensure quality via code reviews, unit/performance testing, and strong edge-case handling
- Establish best practices and mentor engineers to raise engineering standards
Requirements
Do you have experience in UI?, Do you have a Master's degree?, As a Principal Software Developer with expertise in software development and applied mathematics, you lead with strong problem-solving skills and a commitment to rigor and innovation. You deliver solutions that are correct, scalable, and maintainable while guiding the design and evolution of Network Diagram capabilities within the GIS platform, balancing user needs, technical constraints, performance, and long-term architecture. You will collaborate with engineers, architects, GIS experts, and UX/UI partners to build interactive network and schematic visualization software that supports critical infrastructure modeling and management, including electric and telecommunications networks., * 8+ years software development experience with demonstrated technical leadership
- Expert C++ (STL, C++17, Boost) and strong CS fundamentals (algorithms/data structures/design patterns)
- Applied math skills (geometry, graph theory) and performance-focused problem solving
- Experience with testing (unit + performance), large codebases, and Agile/Scrum
- Working knowledge of relational databases
- Fluent English communication
- Bachelor's degree in computer science, mathematics, engineering, or related field, * Ability to use coding language models productively (such as GitHub Copilot, Claude Code) to accelerate development while maintaining code quality, security, and correctness
- Multi-threading/concurrency and performance optimization experience
- Utilities/telecom, GIS, or network topology domain knowledge
- Familiarity with graph databases/graph analytics
- Master's degree in computer science, mathematics, engineering, or related field