Description:Software EngineerMajor Purpose:Works on a product team and supports product design by planning its work, coordinating with others, and writing and testing code to deliver moderately complex functionality on a complete product or significant portion of a product it supports. This level develops simple designs to solve well-defined problems with guidance from more senior team members. May assign, coordinate and review portions of the work to support personnel; Makes decisions within established guidelines subject to review by supervisors; Executes high level applications to more complex problems.Major Duties:Develops, codes, configures, and tests programs and systems.Evaluates and implements enhancement design solutions to improve cost, quality, and performance of software applications.Analyzes assignments and determines software specifications that must be fulfilled to achieve objectives.Executes necessary documentation, as directed, or needed.Collaborates with other relevant stakeholders and team members to ensure that features meet business needs.Follows industry-standard agile software design methodology for development and documentation.Skills, Abilities, Knowledge:Ability to analyze, translate, and define business requirements into technical solutions.Excellence in verbal and written communication forms with emphasis on persuasive communication, tact and negotiation.Ability to apply engineering principles and concepts for designs.Ability to manage many competing priorities/requests in a fast-paced environmentEducation:Degree in an Engineering/Technology discipline or equivalent experience. - University Degree (4 years or equivalent)Degree in an Information Technology discipline or equivalent experience. - University Degree (4 years or equivalent)Work Experience:Previous experience in programming/software development. (1 - 3 years)Software development processes experience. (1 - 3 years)Participating in Agile Development (1 - 3 years)Experience working in an Agile Environment (1 - 3 years)As a Software Engineer for the Embedded Tools Team within client Tech Stack, Embedded Infrastructure, you will…Support the development of tools & scripts for increasing efficiency and user experience in client’s OpenRTOS based embedded software developmentCollaborate with internal and external stakeholders including through daily user supportHelp with innovation efforts to define the next generation of tools used by the entire embedded development communityWhat the worker will be expected to do:We create automation to build client's Operating System into a software assembly and all its dependenciesWe create C# tools to automatically build diagnostic files based on inputs generated from diagnostic management toolsWe create C# tools to automatically build CAN communication .c/.h files based on network requirements of Product LinesWe create tools based on the client stack to record usage of our tool features among our embedded developersWe work in Github flow style of developmentWe collaborate often with PRs, Code Reviews, Daily Standup, Retros, Feature Sync meetings and pairing sessionsSkills Needed:Object Oriented C# experienceGood understanding of the embedded software development workflow from requirements to machine validationOther desirable skills:Make experiencePython experienceExperience in AgileVIVA is an equal opportunity employer. All qualified applicants have an equal opportunity for placement, and all employees have an equal opportunity to develop on the job. This means that VIVA will not discriminate against any employee or qualified applicant on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, disability or protected veteran status
Description:Software EngineerMajor Purpose:Works on a product team and supports product design by planning its work, coordinating with others, and writing and testing code to deliver moderately complex functionality on a complete product or significant portion of a product it supports. This level develops simple designs to solve well-defined problems with guidance from more senior team members. May assign, coordinate and review portions of the work to support personnel; Makes decisions within established guidelines subject to review by supervisors; Executes high level applications to more complex problems.Major Duties:Develops, codes, configures, and tests programs and systems.Evaluates and implements enhancement design solutions to improve cost, quality, and performance of software applications.Analyzes assignments and determines software specifications that must be fulfilled to achieve objectives.Executes necessary documentation, as directed, or needed.Collaborates with other relevant stakeholders and team members to ensure that features meet business needs.Follows industry-standard agile software design methodology for development and documentation.Skills, Abilities, Knowledge:Ability to analyze, translate, and define business requirements into technical solutions.Excellence in verbal and written communication forms with emphasis on persuasive communication, tact and negotiation.Ability to apply engineering principles and concepts for designs.Ability to manage many competing priorities/requests in a fast-paced environmentEducation:Degree in an Engineering/Technology discipline or equivalent experience. - University Degree (4 years or equivalent)Degree in an Information Technology discipline or equivalent experience. - University Degree (4 years or equivalent)Work Experience:Previous experience in programming/software development. (1 - 3 years)Software development processes experience. (1 - 3 years)Participating in Agile Development (1 - 3 years)Experience working in an Agile Environment (1 - 3 years)As a Software Engineer for the Embedded Tools Team within client Tech Stack, Embedded Infrastructure, you will…Support the development of tools & scripts for increasing efficiency and user experience in client’s OpenRTOS based embedded software developmentCollaborate with internal and external stakeholders including through daily user supportHelp with innovation efforts to define the next generation of tools used by the entire embedded development communityWhat the worker will be expected to do:We create automation to build client's Operating System into a software assembly and all its dependenciesWe create C# tools to automatically build diagnostic files based on inputs generated from diagnostic management toolsWe create C# tools to automatically build CAN communication .c/.h files based on network requirements of Product LinesWe create tools based on the client stack to record usage of our tool features among our embedded developersWe work in Github flow style of developmentWe collaborate often with PRs, Code Reviews, Daily Standup, Retros, Feature Sync meetings and pairing sessionsSkills Needed:Object Oriented C# experienceGood understanding of the embedded software development workflow from requirements to machine validationOther desirable skills:Make experiencePython experienceExperience in Agile
(Please ensure email matches your resume email)
(document types allowed: doc/docx/rtf/pdf/txt) (max 2MB)
By submitting this form, you are consenting to the VIVA team contacting you via Phone/Email