Software Developer - EXP - US Tech Solutions, Inc.
Indianapolis, IN 46204-3568
About the Job
Job Description:
Research, design, develop, and test operating systems-level software, compilers, and network distribution software. Set operational specifications and formulate and analyze software requirements. May design embedded systems software. Apply principles and techniques of computer science, engineering, and mathematical analysis.
Responsibilities:
Research, design, develop, and test operating systems-level software, compilers, and network distribution software. Set operational specifications and formulate and analyze software requirements. May design embedded systems software. Apply principles and techniques of computer science, engineering, and mathematical analysis.
Responsibilities:
- Design and implement software solutions to address business needs
- Provide software designs and documentation to the development team
- Help systems engineers determine and design system specifications & standards
- Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts
- Collaborate with SPO & Scrum Master to create and maintain agile stories
- Participate in product cyber security reviews
- Participate in Change Control Board (CCB) meetings to prioritize new features & defects
- Drive code quality initiatives through best practices including code reviews, unit test, functional/integration testing, and CI/CD Integration
- Provide technical support to the Software Product Owner and the entire project team
- Keeps up to date on the newest technological innovations in the field and be ready to apply relevant innovations
- Support weekly project reviews and governance milestone reviews
- Demonstrable C/C++ programming skills with emphasis on its use in embedded systems
- Minimum 5+ years of experience in the design and development of embedded firmware
- Bachelor’s degree in engineering
- Master’s degree in engineering
- Strong hardware/electrical knowledge. You should know how to evaluate if your firmware is working as expected by probing the hardware (e.g., oscilloscope, logic analyzer, etc.)
- Demonstrated knowledge of firmware development best practices (code reviews, test, SCM, Git, etc.)
- Experience with industrial IoT protocols (TCP/IP, DNS, DHCP, HTTP, REST, MQTT) with a focus on embedded products
- Experience with one or more wireless technologies (Bluetooth, BLE, Zigbee, Zwave, 802.11, 802.15.4, LoRa, Cellular)
- Experience with common wired messaging architectures (UART, RS232/485, I2C, SPI)
- Experience with IoT / Embedded systems’ standard modules - bootloaders, OTA, firmware applications and integration with cloud services
- Experience with one or more embedded GUI frameworks (QT, Crank, LVGL)
- Understanding of cyber security technologies and best practices (encryption, key management, certificates/exchanges, HMACs, PKI, HSMs, Secure Boot)
- Experience in the use of Jira/Confluence, ADO or other requirements management tool experience
- Experience with open-source code, communities, and licenses
- HVAC Controls Systems experience.
Source : US Tech Solutions, Inc.