
Senior Software Engineer
Johnson Controls
full-time
Posted on:
Location Type: Hybrid
Location: Glendale • Wisconsin • United States
Visit company websiteExplore more
Salary
💰 $95,000 - $125,000 per year
Job Level
About the role
- Design, implement, test, and troubleshoot Linux embedded and Windows, networked control systems in C++
- Owns a feature or product design
- Defines specifications for features or products
- Review high-level and detailed requirement specifications to provide accurate estimates
- Authors and performs thorough unit testing of all implementations
- Conduct & participate in software design, code, test case, and documentation reviews
- Analyzes/triages reported bugs and feature requests
- Improve products, systems, or processes for software application or operation
- Participating in Agile / Scrum activities and reporting project status
- Guides & mentors less experienced engineers
Requirements
- 5 years’ experience in object-oriented software development in C/C++
- Bachelor's degree in Computer/Software Engineering, Computer Science
- Solid analytical, problem-solving, and troubleshooting skills
- Works well in teams and on individual assignments
- (Embedded) Linux OS and tools
- Multithreaded concepts for embedded, networked products
- Software design languages, models, and diagrams (e.g. UML)
- Linux Kernel customizing & debugging
- Automated testing philosophies and tools
- Code Analysis Tools
- Agile development methods
- Preferred configuration management tools (e.g. GitHub)
- Task and bug entry tools (e.g. Jira)
- Software build tools and processes (e.g. CMake, BitBake, Visual Studio Project)
- Communication protocols (e.g. BACnet, Modbus, LON, Ethernet and RS485)
- Knowledge of software & web security, VPN, firewalls, wireless technologies, etc.
- Exposure to .Net/.Net Core, XML, C#, Python
Benefits
- Competitive benefits package
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
C++Cobject-oriented software developmentLinux embedded systemsmultithreaded conceptsUMLLinux Kernel customizingautomated testingsoftware build toolscommunication protocols
Soft Skills
analytical skillsproblem-solving skillstroubleshooting skillsteamworkmentoring
Certifications
Bachelor's degree in Computer/Software EngineeringBachelor's degree in Computer Science