Lead Software Developer (Back-end)
Who we are:
Who you are:
You are a seasoned developer with extensive experience in designing and deploying high-performance, scalable applications using C# and .NET. Your deep expertise in relational databases, particularly PostgreSQL, includes everything from query optimization and performance tuning to advanced scaling techniques like sharding and replication. As a natural mentor and technical leader, you champion best practices like test-driven development and enjoy collaborating with cross-functional teams to solve complex problems.
What you'll do:
The Lead Software Developer will lead the end-to-end design and implementation of strategic, complex software projects for our state-of-the-art telematics platform. You will take ownership of core product features, writing high-performance C# code and optimized SQL queries to process and store real-time data at scale. In this role, you will also mentor other engineers, elevate our engineering standards, and serve as a domain expert to help define the strategic technical direction of our products.
How you'll make an impact:
- Independently and proactively identify key areas of architecture improvement, including preparing proposals on achieving the improvements.
- Lead, oversee and plan the development of scalable code, prototypes, minimum viable products and PoCs.
- Take ownership of complex/ long-term projects and contribute to their implementation, including defining scope, requirements, communicating project progress, challenges and solutions, while ensuring timely delivery.
- Collaborate with other development teams on design and implementation of features spanning multiple products.
- Conduct comprehensive testing and code reviews to ensure that code quality is maximized and best-practices are followed.
- Provide expert project-leadership and guidance as a SME, to the department and larger organization.
- Contributes to defining strategic direction, planning the roadmap, and synthesizing feedback to ensure team success.
- Serve as a cross functional resource across team/department and products to contribute to solving technical issues in development.
- Builds relationships and serve as a technical point of contact partnering with stakeholders including customers, product managers, cross-functional partners, and external partners and other internal team members.
- Mentor other developers on the team and work with the team leads to set the direction of the team and guide key stakeholders on execution choices and trade-offs, and advise manager with insights and recommendations to improve the team.
- Appropriately document system design and architecture such that it is easy to understand, maintain and extend.
- Support Geotab global strategic initiatives.
- Participate in a 24x7 on-call rotating schedule.
- Independently evaluate technical solutions, while contributing to the team roadmap.
- Present and lead technical discussions and training at the department wide level.
- Stay up to date on emerging technologies and changes in best practices in the development field and present them to senior leadership for consideration.
- Write complex scalable, high quality and secure software in a variety of programming languages and environments, such as C#, JavaScript, SQL.
- Serve as a domain expert (ex GBQ), consulting in the area of expertise for the department and across the organization.
What you'll bring to the role:
- 10+ years of experience as a Software Developer using object-oriented programming to build scalable applications.
- Extensive experience designing, developing, and deploying high-performance, scalable applications using C# and .NET.
- Deep understanding of relational database design principles, including normalization, indexing strategies, and query optimization. Expertise in writing optimized SQL queries.
- Hands-on experience optimizing PostgreSQL performance, including query analysis, index optimization, and server configuration tuning. Experience with advanced PostgreSQL features (e.g., partitioning, materialized views) is highly desirable.
- Demonstrable experience with test-driven development (TDD) and other software quality practices (e.g., code reviews, static analysis) to build maintainable systems.
- Proven ability to identify, analyze, and resolve performance bottlenecks in complex, database-driven applications. Experience using profiling tools and performance monitoring systems.
- Experience designing and implementing scalable applications and databases in cloud environments (e.g., GCP, AWS, Azure).
- Experience designing and implementing high-throughput data ingestion and processing pipelines using appropriate technologies (e.g., message queues, stream processing frameworks).
- Experience with database scaling techniques (e.g., sharding, replication, read replicas) and strategies for ensuring high availability and disaster recovery.
- Experience with Linux environments and shell scripting languages (bash, sh, zsh).
- Strong written and verbal communication skills for effective collaboration and knowledge sharing.
- Post-secondary Diploma/Degree with specialization in Computer Science, Software Engineering, or a related field, or equivalent working experience.
If you got this far, we hope you're feeling excited about this role! Even if you don't feel you meet every single requirement, we still encourage you to apply.
Please note: Geotab does not accept agency resumes and is not responsible for any fees related to unsolicited resumes. Please do not forward resumes to Geotab employees.
Why job seekers choose Geotab:
Flex working arrangements
Home office reimbursement program
Baby bonus & parental leave top up program
Online learning and networking opportunities
Electric vehicle purchase incentive program
Competitive medical and dental benefits
Retirement savings program
*The above are offered to full-time permanent employees only
How we work:
Apply for this job
*
indicates a required field