Software Engineer
Vista, CA
Hybrid
Position Job Description:
The Software Engineer will serve as a key contributor to the technical team, working under limited supervision to design, develop, and maintain software solutions. This individual will play an important role in delivering high-quality, secure software while adhering to best practices and contributing to team success.
As part of a cross-functional team, the Software Engineer will develop and maintain cargo inspection detection systems for the Ports and Borders group at Client. This role requires a solid foundation in software development, a commitment to learning, and the ability to contribute to innovative solutions.
Key Responsibilities:
Technical Contribution and Collaboration:
- Assist in the design, development, testing, and maintenance of services, simulators, and diagnostics (WPF and Blazor) using C#.
- Collaborate with team members to ensure alignment with best practices and coding standards.
- Contribute to the adoption of tools and processes that enhance productivity and innovation.
- Work closely with senior engineers to gain experience and contribute to technical solutions.
Software Development and Security Compliance:
- Develop software that adheres to industry security standards and contributes to the security compliance of the codebase and coding practices.
- Utilize object-oriented design principles, practices, and patterns to ensure the codebase is reusable and maintainable.
- Apply Agile development practices, including Test-Driven Development (TDD) and Continuous Integration, to ensure high-quality, continuously tested code.
- Collaborate with Electrical Engineering, Mechanical Engineering, and Scientists to meet customer requirements.
Problem Solving and Innovation:
- Troubleshoot and resolve technical issues under the guidance of senior engineers.
- Contribute to innovation by researching and integrating best practices to develop effective solutions.
Communication and Reporting:
- Communicate effectively within a small cross-functional development team environment.
- Report project status and issues to management as required.
Required Skills:
- Programming background with at least 2 years of production product development experience in C# and 2-4 years of overall programming experience.
- Solid understanding of object-oriented design (OOD) principles and practices.
- Familiarity with Agile development environments, including Test-Driven Development (TDD) and Continuous Integration.
- Ability to create basic design documentation and other technical documentation.
- Strong troubleshooting and bug-fixing skills.
- Effective communication and collaboration skills in cross-functional team environments.
Desired Skills:
- Familiarity with AI-based software development tools.
- Experience developing software that complies with industry security standards.
- Proficiency with revision control (e.g., Git), multi-threading, TCP/IP networking, bus architectures, Web Services, Blazor, containers (e.g., Docker), Visual Studio, C++, SQL Server, and interfacing with real-time/embedded systems.
- Experience, familiarity, or interest with embedded, RTOS, and/or PLC code.
- Knowledge of image processing techniques.
Education:
- Bachelor's degree in Computer Science and 2-4 years of relevant experience.
Location:
2985 Scott St., Vista, CA. Relocation assistance is not available for this position.
Travel:
Must be willing to travel abroad. If travel is necessary, typically it will be < 10%.
|