Embedded Software Engineer, Advanced Technologies
Less than 5 years experience • Professional, Scientific & Technical Services
Bosch Security Systems is a leading global supplier of security, safety, and communications products and systems. Protecting lives, buildings and assets is the major aim. The product portfolio includes video surveillance, intrusion detection, fire detection and voice evacuation systems as well as access control and management systems. Professional audio and conference systems for communication of voice, sound and music complete the range.
Fairport, NY is the headquarters for the Bosch Security Systems sales organization in the United States and serves as the primary site for research and development, engineering, quality and product management for intrusion detection systems, including state-of-the-art sensors, control panels, communicators and more.
The Embedded Software Engineer will be involved in the design, development, testing, and team leadership for embedded applications. Individual will actively participate in a structured product development process that encompasses technical requirements development; software and architecture design, implementation and verification; production test strategy development; and launch to mass production. Individual will scout and evaluate emerging technology trends and participate in rapid prototyping of new technologies. This position offers the opportunity to work in a team environment with individuals and groups located worldwide.
- Participate in requirements engineering activities. Collaboration with internal customers to define and set expectations.
- Assist in product design and architecture development
- Accurately define and document the technical side of the project and identify risks
- Design, develop, integrate and test software systems for security system products
- Take responsibility for designated software tasks from design through development, integration & test
- Take initiative to test code against known usage, investigate faults/boundary conditions, and automate unit tests
- Facilitate and assist in the task estimation process
- Scout and evaluate emerging technology trends; rapid prototyping the technology where appropriate.
- Work in a cross-functional team environment comprised of software engineers, testers, and product managers
- Participate in technical project reviews and code reviews
You hold a Bachelor's Degree in Computer Science, Computer Engineering, Electrical Engineering or a technology-related field.
We are seeking a Software Engineer with:
- 2+ years demonstrated software experience for real-time embedded systems written in C/C++ using OOP principles
- 2+ years of experience with software development for embedded microprocessors including Linux/Android OS
- 2+ years of experience in new product development and product launch process
- Experience in design and implementation of low power, battery operated devices
- Ability to understand hardware schematics and design/implement associated embedded software.
- Experience in integrating hardware and software using data buses and protocols such as SPI, I2C, RS-232, DMA
- Proficiency with commonly used electrical test equipment, such as oscilloscopes, signal generators, spectrum analyzers, network analyzers etc.
- Excellent analytical skills, including analysis of existing software code and utilization of software tools.
- Able to debug software, perform root cause analysis, and clarify potential hardware related issues with the electronic hardware team.
- Experience with unit and integration testing to include automation of test procedures
- Work independently in an organized and structured fashion; takes ownership and is self-accountable to team goals
- Good interpersonal skills within a cross functional team; proactive approach to communication and handling conflicts
- Excellent written and verbal communication skills for both a technical and non-technical audience
Ideally, you also bring:
- Knowledge of security systems concepts and products
- Experience with tools for requirements management, fault tracking, etc
- Knowledge of Low Power Wireless Network protocols and implementations
- Knowledge of quality management processes for the software development lifecycle
- Knowledge of Agile development methods (Scrum, test-driven development, etc.)
To be successful in this position individual must have a high level of self-motivation, a drive for self-development and possess excellent communication and interpersonal skills.