Senior Software Developer (Manufacturing Automation)
Basis:
Permanent - Full-time
Area of Interest:
Embedded Engineering
Location:
Oakville, Ontario
Who we are
Who you are:
As a seasoned Senior Software Developer, you develop high-level code with attention to system integration and scalability. 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:
The Senior Software Developer is a key player in building robust and efficient back-end services that power various applications. This team focuses on building internal software that enables us to test the hardware manufacturing components of our products to help automate processes. They utilize a range of technologies, including cross-platform .NET and caching and storage technologies, to develop the core logic and data management layers. Additionally, this role involves creating analytical and performance monitoring tools to analyze and interpret production data. Familiarity with cloud-based solution development, such as Google Cloud Platform (GCP), is highly beneficial. A strong grasp of performance implications, threading, system design, and scalability is essential for success in this position.Core responsibilities for this role encompass actively participating in design discussions and meticulously documenting requirements and technical designs. The developer is expected to ensure code quality through peer reviews, adherence to coding standards, and proactive bug identification. Analyzing call stacks, trace files, and performance data is crucial for troubleshooting and pinpointing root causes.
How you'll make an impact:
- Design, build, and maintain efficient, reusable, reliable code to develop high throughput, performance critical, and scalable applications.
- Translate application storyboards and use cases into functional applications.
- Ensure the best possible performance, quality, and responsiveness of applications.
- Perform Test Driven Development (TDD), take part in peer code reviews, ensuring coding standards are followed, looking for logic errors and other bugs.
- Lead and contribute to systems design and architectural planning while acting as a mentor and SME to Intermediate and Junior developers.
- Participate in a 24x7 on-call rotating schedule.
What you'll bring to the role:
- 5-8+ years of experience with using Linux, C# and .Net Core and experience with optimization and multithreaded programming.
- 2+ years of experience with System Design and Architecture.
- 2+ years of cloud computing experience with either GCP, AWS, or Azure.
- Experience with hardware (preferred).
- Experience with manufacturing automation.
- Expert knowledge with SQL Server and Postgres database design, optimization and writing queries.
- Experience with writing unit tests and automation tests.
- Experience with Docker and Kubernetes.
- Proficiency in Git (or some other distributed source control tool) and are comfortable with resolving merge conflicts and renaming branches, etc.
- Bachelor of Computer Science, Electrical/Software Engineering or other related degrees.
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