Software Engineer I at USPRO
Sterling Heights, MI
About the Job
Software Engineer I
Sterling Heights, MI
Duration: 6 month contract (temp to perm)
Job Description:
We have multiple openings for individuals with experience and a passion for real-time, embedded software development. The Software Engineer I plans and performs a variety of tasks across the areas of software requirements analysis, software architecture and design, implementation (code and unit test), documentation, hardware-software integration, troubleshooting, problem solving, and software verification testing.
Responsibilities:
- Performs basic engineering design, development, analysis, experimentation, test and/or product assurance tasks of limited complexity for assigned portions of a project. Ensures tasks meet cost, quality, schedule, and performance requirements.
- Applies basic engineering design and/or analytical theory, principles, techniques, and practices to a limited portion of a technical project.
- Develops and writes technical documentation, makes revisions to existing documentation, and provides input to technical papers or presentations. Performs basic technical analysis, testing, calculations, and evaluation of results using specialized equipment and/or by computer programs.
- Analyzes and interprets design specifications, drawings, documentation, models, and/or test results to ensure technical designs comply with applicable engineering standards, military specifications and product requirements.
- Develops and maintains effective relationships with customers to solve technical problems and implement solutions of limited complexity.
- Acquires and maintains up-to-date knowledge of relevant engineering discipline(s), industry practices, trends, and applications.
- Maintains a safe work environment and ensures compliance with safety policies and rules.
- Shares responsibility of self-development with immediate supervisor.
- Entry level knowledge of fundamental concepts, practices, and procedures of a relevant technical field of specialization.
- Familiarity with current computer applications and technologies in applicable engineering disciplines.
- Ability to solve basic technical design and development problems.
- Ability to develop and maintain effective relationships with customers to solve technical problems.
Required Qualifications:
- Linux Experience
- Understanding of Software Design, Development, and Testing Principles
- Working knowledge of the Software Life Cycle
- System-Level Perspective
- 2 years of relevant experience
- Bachelor’s degree in STEM field
Preferred Qualifications:
- Familiarity with embedded systems
- UML modeling, experience with UML modeling tool
- Object Oriented design and development experience
- C++
- Bash Script
- Python
- Familiarity with military and commercial design standards
- Experience using JIRA, Bitbucket, Git, Confluence configuration management and problem reporting tools
- Knowledge of data communication busses including Ethernet, CAN, RS-232/422 Ethernet and CANbus troubleshooting -- National Instruments products including Labview, Multisim, VeriStand, TestStand -- Design, implementation and/or support of high fidelity software simulation models for system integration laboratory, hardware integration laboratory, and real-time test environments -- Systems and software requirements analysis including requirements writing and specification generation -- Development of supporting documents such as software requirements for test systems, user manuals, tools documentation, and software validation documentation -- Basic understanding of Cyber Security Concepts
- 3+ years of relevant experience
- Bachelor’s degree in Computer Engineering, Software Engineering, Electrical Engineering, or Computer Science