Software Engineer, Senior
Job Description
Job title: Software Engineer, Senior
Company: Zebra Technologies
Job description: Job Description:Remote Work: YesOverview:At Zebra, we are a community of innovators who come together to create new ways of working to make everyday life better. United by curiosity and care, we develop dynamic solutions that anticipate our customer’s and partner’s needs and solve their challenges.Being a part of Zebra Nation means being seen, heard, valued, and respected. Drawing from our diverse perspectives, we collaborate to deliver on our purpose. Here you are a part of a team pushing boundaries to redefine the work of tomorrow for organizations, their employees, and those they serve.You have opportunities to learn and lead at a forward-thinking company, defining your path to a fulfilling career while channeling your skills toward causes that you care about – locally and globally. We’ve only begun reimaging the future – for our people, our customers, and the world.Let’s create tomorrow together.Analyzes, develops, designs, programs, debugs and implements embedded systems for the organization’s products and systems. Develops testing and troubleshooting strategies, devices, and systems for firmware. Integrates firmware to maintain functionality, throughput and consistency. Develops user documentation.This is a hybrid onsite position that is available either in Montreal QC OR Mississauga, ON.
Responsibilities:
- Establishes requirements for moderately complex software/ firmware design projects. Prioritizes features to insure the most important get implemented
- Participates in code reviews and identifies bad sections early in the process and then recodes them
- Design, code, debug, and test assigned software/ firmware, software/ firmware improvements, and software/ firmware modifications in a quality manner consistent with company and departmental standards and procedures.
- Completes all phases of moderately complex software design projects. Carries out all in-process and final inspection activities
- Document designs and code or update preexisting documentationas appropriate with context, data flow and/or state diagrams, structure and flow charts, pseudocode, and source statement commentary.
- Reviews software/ firmware test results and root cause analysis. Resolves highly complex technical issues. Test designs or code under specified and/or reasonable conditions under which it may operate. Investigate problems and recommend solutions. Implement any required corrective action.
- Reviews changes or upgrades to existing software/ firmware designs. Develops new solutions to unique problems.
- Develops and tests documentation for the software/ Firmware projects
- Considers latest technologies and new approaches to designs and implementation of new designs
- Reviews changes or upgrades to existing software and/or firmware designs. Develops new technology to solve unique problems
- Provide recommendations and solutions to problems using experience in multiple technical areas
- Applies existing technology in new ways to improve performance and productivity
- May develop new tools to aid in the analysis and solving of problem
- Exercises judgment in selecting methods and techniques for obtaining solutions
- Receives little instruction on day-to-day work and general instructions on new assignments
- May influence the activities of junior level personnel (exempt professional and non-exempt)
- Networks with senior, internal and external, personnel in own area of expertise. Frequent inter-organizational and outside customer contacts.
- Experience with multi-threaded programming
- Working knowledge of inter-process communication techniques: DBus, ZeroMQ, Protobuf, etc.
- Working knowledge of Git, CI/CD, Build processes
- Networking experience
- Working knowledge of GPIO, USB, RS-232 and other hardware interfaces
- Experience trouble-shooting embedded systems
- Familiarity in camera acquisition, Industrial Ethernet (PLC) protocols a plus
- Ability to perform efficiently in a fast-paced, high growth, rapid changing environment
- Effective verbal and written communication skills
- Must be able to work effectively with distributed global teams
Qualifications:Minimum Qualification:
- Bachelor’s degree in engineering (Computer Engineering, Computer Science or Software Engineering or related fields) with 5+ years of relevant experience.
- Hands on experience in firmware development using C/ C++ (low level/ device driver development)
- Must be proficient in JavaScript, CSS, NodeJS, C/C++ and Linux
- Application development experience on both Windows and Linux platforms
Preferred Qualifications:
- Full stack development experience
- GitHub experience
- Experience working in a Linux based development environment
- Knowledge of UI interfaces/ protocols, communication protocols and network protocols is a plus
Zebra is an equal opportunity/affirmative action employer committed to a diverse and inclusive workplace All qualified candidates will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identify, national origin, disability and protected veteran status or any other basis prohibited by law. If you are an individual with a disability and need assistance in applying for a position, please contact us at workplace.accommodations@zebra.com. We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform crucial job functions, and to receive other benefits and privileges of employment.Know Your Rights:Conozca sus Derechos:We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform crucial job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.Zebra is a federal contractor and is committed to an alcohol and drug free workplace. As a result, all U.S. based employees are subject to the Drug and Alcohol Free Workplace Policy and Procedure.To protect candidates from falling victim to online fraudulent activity involving fake job postings and employment offers, please be aware our recruiters will always connect with you via email accounts. Applications are only accepted through our applicant tracking system and only accept personal identifying information through that system. Our Talent Acquisition team will not ask for you to provide personal identifying information via e-mail or outside of the system. If you are a victim of identity theft contact your local police department.
Expected salary:
Location: Mississauga, ON
Job date: Sat, 07 Sep 2024 06:26:24 GMT
Apply for the job now!