Senior Embedded Software Engineer

Brady Corporation Milwaukee , WI 53201

Posted 2 months ago

Brady Corporation Overview

Brady Corporation is an international manufacturer and marketer of complete solutions that identify and protect people, products and places. Brady's products help customers increase safety, security, productivity and performance and include high-performance labels, signs, safety devices, printing systems and software. Founded in 1914, the Company has a diverse customer base in electronics, telecommunications, manufacturing, electrical, construction, medical, aerospace and a variety of other industries. Brady is headquartered in Milwaukee, Wisconsin and as of July 31, 2020, employed approximately 5,400 people in its worldwide businesses. Brady's fiscal 2020 sales were approximately $1.08 billion. Brady stock trades on the New York Stock Exchange under the symbol BRC.

Position Summary

The Senior Embedded Software Engineer is responsible for designing and writing high-quality code to support the development of Brady's hardware products. The senior embedded software engineer will design and implement embedded user interfaces and utilize both hardware and software debugging tools in order to complete projects. The engineer is expected to participate in the designing of solutions that meet customer needs, document the design, write clear concise code, comment code as appropriate, and create documentation outlining code functionality. All engineers are required to follow Brady's development process which includes our iterative development process. Individuals will be responsible for managing the development of large modules as part of a development team. Individuals may utilize other resources in development of technology needed for development of firmware.

Essential Job Functions:

  • Design, develop, and document modules as part of firmware projects and lead small firmware projects.

  • Utilize C++ and object-oriented coding techniques, follow coding standards, and follow standard development best practices.

  • Work with Brady's user experience team to develop user interfaces on embedded devices.

  • Setup and use software code debuggers for specific processors and development environments used in development of Brady printers.

  • Direct internal and external resources in firmware development to deliver assigned modules.

  • Make technology selections for assigned modules that support the overall architecture goals of the organization.

  • Provide time estimates for assigned deliverables.

  • Contributes to and maintains automated build and testing systems.

  • Performs code reviews and follows all development processes.

  • Performs other tasks as required. Responsibilities include, but are not necessarily limited to, the duties listed on this job description.

Required Knowledge, Skills & Abilities:

  • Minimum degree in Bachelor of Science in Computer Engineering, Electrical Engineering, Computer Science, related field or equivalent experience.

  • Minimum of 3 years of experience

  • Knowledge of Qt or equivalent UI frameworks/libraries.

  • Knowledge of GUI coding architecture for multiple display sizes and performance.

  • Demonstrated experience with C++

  • Demonstrated knowledge of Object-Oriented Analysis and Design

Desired Characteristics: Knowledge, Skills & Abilities

  • Knowledge of C++11 or higher

  • Knowledge of CMake.

  • Knowledge developing software for embedded operating systems such as Windows CE / Embedded Compact, QNX Neutrino, Micrium C/OS, etc. on target hardware

  • Knowledge and experience with creating and reading UML models

  • Knowledge reading schematics, utilizing oscilloscopes, logic analyzers, and other test equipment in the development and debugging of firmware designs.

  • Knowledge of .net and C# programming a plus.

  • Knowledge of QML.

  • Knowledge of Python.

  • Knowledge of OpenGL or equivalent.

  • Knowledge of application development or GUI development for embedded systems.

icon no score

See how you match
to the job

Find your dream job anywhere
with the LiveCareer app.
Mobile App Icon
Download the
LiveCareer app and find
your dream job anywhere
App Store Icon Google Play Icon
lc_ad

Boost your job search productivity with our
free Chrome Extension!

lc_apply_tool GET EXTENSION

Similar Jobs

Want to see jobs matched to your resume? Upload One Now! Remove
Embedded Software Engineer

Johnson Controls, Inc.

Posted 2 weeks ago

VIEW JOBS 7/10/2021 12:00:00 AM 2021-10-08T00:00 What you will do Join our team as a lead BACnet engineer and define and implement the strategy for BAS controls products. Help in strategically defining the projects that deliver the next generation of building control products enabling our customers to manage their comfort, energy usage, and security within commercial building environments. This role requires: * Proven ability to define architecture and oversee technical development * Demonstrated understanding and experience with networking and protocol technologies and approaches * Knowledge of software methodologies, technologies and tools * Experience in using industry standard software development processes * Experience in defining technical solutions for complex projects and programs and working with diverse multi-disciplined globally located project teams. How you will do it * You will be working within a team of professionals performing activities that could include any aspect of the software engineering lifecycle, examples of which are described below. * Proficient in design, implementation, testing, troubleshooting, and enhancing software applications for large building automation systems * Well versed with software engineering aspects of Linux based embedded control systems, networking protocols using Ethernet and RS485 * Collaborate with other Architects, Developers, Project Managers, and Engineering Managers to coordinate efforts and define and leverage best practices. * Lead BACnet SC design and start working on Advanced Workstation (AWS) roadmap * Disseminating BACnet news and information to the rest of the organization * Being the point person for the organization for BACnet specific discussions and issues * Leading the direction of the organization for anything to do with BACnet * Represent or assist team in BACnet WG meetings and plugfest events (NA/Europe). * Conduct and participate in software code / design reviews and engineering documentation reviews * Work with multiple stakeholders to define requirements and provide estimations. * Review designs, implementation and test results of others * Analyze, trouble-shoot, and provide code fixes for reported problems and change requests. What we look for Required * Bachelor's degree in Computer Engineering, Software Engineering or Computer Science or equivalent * Working knowledge of BACnet, Modbus * Software design languages, models and diagrams (e.g. UML) * Extensive use of Git, Jira * Knowledge of threading in a multitasking system * Agile development methods * Linux OS and tools / Embedded Linux * Networking; Ethernet and RS485 Johnson Controls is an equal employment opportunity and affirmative action employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, age, protected veteran status, status as a qualified individual with a disability, or any other characteristic protected by law. For more information, please view EEO is the Law. If you are an individual with a disability and you require an accommodation during the application process, please visit www.johnsoncontrols.com/tomorrowneedsyou. Johnson Controls, Inc. Milwaukee WI

Senior Embedded Software Engineer

Brady Corporation