Geotab is seeking a Senior Software Developer to contribute to the growth and deliver results, specifically to design, develop, and maintain high-performance, scalable solutions with SOLID principles using Angular, TypeScript, Node.js, and PostgreSQL for the Routing & Optimization applications.
Requirements
- 5-8+ years of required previous experience as a Software Developer using object-oriented programming to build scalable applications.
- Experience with Angular, Typescript, and Node.js.
- Experience with Postgres database design, optimization, and writing queries.
- Working knowledge of Docker and Kubernetes is required.
- Expert knowledge with optimizing databases (e.g. MySQL).
- Proficiency in Git (or some other distributed source control tool) and are comfortable with resolving merge conflicts and branching strategies.
- Strong analytical skills with the ability to problem-solve to well-judged decisions.
Responsibilities
- Design, develop, and maintain high-performance, scalable solutions with SOLID principles using Angular, TypeScript, Node.js, and PostgreSQL.
- Collaborate closely with product owners, designers, and other development teams to deliver innovative features and improve the overall user experience of our optimization products.
- Provide guidance to more junior team members, sharing knowledge across the teams.
- Write scalable, high quality and secure software in a variety of programming languages and environments, such as Typescript, Angular, PostgresSQL.
- Perform quality assurance by doing peer review, ensuring coding standards are followed, looking for logic errors and other bugs.
- Analyze call stacks, logs, performance data to troubleshoot and identify the root cause of bugs.
- Provide assistance to our support staff and resellers from a technical perspective.
Other
- Strong team player with the ability to engage with all levels of the organization.
- Post-Secondary Diploma/Degree, with a specialization in Computer Science, Software Engineering, or a related field.
- Bachelor of Computer Science, Electrical/Software Engineering or other related degrees.
- Ability to communicate effectively, lead technical discussions, and mentor junior team members.
- Ability to work in a fast-paced, ever-changing environment and take on new tasks and activities.