← All rolesSOFTWARE DESIGNER
NexHires client · Seattle, Washington Atlanta, Georgia
USAFull-timeOn-siteSeniorSoftware8 openingsC / C++ ProgrammingSoftware DesignDevelopmentVerification & ValidationUML-Based Software Design and ArchitectureSoftware Requirements Analysis and TraceabilityModule-Level and Software-Level TestingTCP/IP or MODBUS Communication ProtocolsSafety and Cybersecurity Design PrinciplesStrong Analytical and Problem-Solving Skills
We are seeking a skilled Software Designer with experience in software design, development, verification, and validation. The ideal candidate will contribute to designing and implementing reliable software components, analyzing requirements, and collaborating with cross-functional engineering teams.
What you'll do
- Responsibilities
- Analyze, clarify, and validate system and software requirements.
- Design and develop reliable, scalable software components using C/C++.
- Apply UML-based software design and architecture principles.
- Define software components, interfaces, and interactions in collaboration with architects.
- Ensure consistency and traceability across requirements, design documents, and test artifacts.
- Develop and execute module-level and software-level test cases.
- Perform debugging, troubleshooting, and software verification.
- Support software integration and validation activities.
- Apply safety and cybersecurity principles throughout the software development lifecycle.
- Collaborate with system architects, hardware designers, and cross-functional engineering teams.
- Follow SDLC processes, software quality standards, and engineering best practices.
What we're looking for
- Must-Have Requirements
- Bachelor’s degree in Computer Science, IT, ECE, EEE, or a related engineering discipline.
- Experience in software design, development, verification, and validation.
- Proficiency in C or C++ programming.
- Knowledge of UML-based software design and architecture concepts.
- Experience in software requirements analysis and design documentation.
- Familiarity with communication protocols such as TCP/IP or MODBUS.
- Understanding of software testing, debugging, and verification processes.
- Knowledge of safety and cybersecurity design principles.
- Strong analytical, problem-solving, and technical communication skills.
Nice to have
- Nice-to-Have Skills
- Experience in embedded software development or complex engineering systems.
- Knowledge of software integration and system-level testing.
- Familiarity with Agile/Scrum development methodologies.
- Experience with version control tools such as Git.
- Understanding of real-time systems and hardware-software interfaces.
- Exposure to safety-critical software development and industry standards.
- Experience collaborating with global, cross-functional engineering teams.
- Knowledge of railway, automotive, industrial automation, or other safety-critical domains.
Benefits & perks
- Benefits & Perks
- Competitive salary and performance-based rewards.
- Medical, dental, and vision insurance.
- Retirement savings and pension benefits.
- Paid time off, holidays, and leave benefits.
- Opportunities for professional development and technical training.
- Career growth opportunities in software engineering and architecture.
- Collaborative, multicultural work environment.
- Opportunity to contribute to innovative engineering projects.