Sr. Software Developer, Video

Waterloo or Canada (Remote)

Our client is a global leader in IoT and connected transportation and certified “Great Place to Work.” 

 

Who are we looking for:

 

As a Senior Software Developer, you consider yourself a software wizard. You are a Solutions Architect and Systems Designer who will settle for nothing less than building highly scalable, highly reliable, and fault tolerant web applications. You develop high level code with attention to system integration and feasibility. You are able to create representations for functions and user interfaces. You will ensure that the software meets all requirements of design, quality, security, extensibility etc. You have the ability to take the solution all the way to the finish line. You are also a coach and always provide technical guidance and mentorship to other developers and engineers in the team.

 

What you’ll do: 

 

As a Senior Software Developer on our Video Ingestion team, your key area of responsibility will be to contribute to a dynamically scalable system which handles high throughput video data ingestion by writing high quality code, participating in and leading R&D, architecture, and design. You will develop high quality, in-depth software using C# .NET and SQL while using Test Driven Development (TDD), and doing peer code reviews, ensuring coding standards are followed, looking for logic errors and other bugs.

 

To be successful in this role you will be open to learning about and using a variety of different languages and frameworks to ensure we are staying relevant in the latest technologies. You will be a mentor, a self-starter, a strong team player and have the creative ability to build new solutions by collaborating with others and following best practices. In addition, the successful candidate will be task-oriented and solution-driven with a strong team orientation.

How you'll make an impact:

  • Lead  architecture, coding, and design discussions to contribute to a dynamically scalable system which handles high throughput video data ingestion.
  • Analyze call stacks, trace files, performance data to troubleshoot and identify the root cause of bugs.

  • Collaborate with other developers and work closely with Geotab’s Data and Development teams such as Data Engineering, Embedded, Automotive, etc. 

  • Follow best practices used in the team.

What you'll bring to this role:

  • 5+ years of relevant experience working on large scalable applications using object-oriented programming.
  • Experience with object oriented programming languages and frameworks, such as C#, .NET, or Java.

  • Experience with SQL database design, optimization and writing queries.

  • Experience with Messaging queues such as Kafka, Google PubSub, RabbitMQ.

  • Cloud computing experience with GCP (preferred), AWS, or Azure.

  • Docker required, Kubernetes (nice to have).

  • Post-secondary Diploma/Degree specialization in Computer Science, Software Engineering, or a related field.

 

Bonus if you have:

  • Knowledge of industry standard protocols for video consumption such as RTSP, RTMP, WebRTC.
  • Knowledge of standard protocols for consuming video streams such as HTTP Live Streaming (HLS) or MPEG-DASH.