Senior Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+34 more
Job description
We are seeking a Senior Software Engineer to lead the design, development, and delivery of software for embedded Linux-based communications products. This position requires deep hands-on development experience combined with system-level technical leadership.
The successful candidate will architect and develop microservices, REST APIs, device-management interfaces, and automated test frameworks for complex networked systems. This engineer will work across software, firmware, systems, cybersecurity, and test teams while providing technical direction and mentoring less-experienced engineers., * Lead the architecture, design, development, integration, and maintenance of software for embedded Linux devices.
- Design scalable microservice-based architectures and secure REST APIs.
- Develop system-level software using Java, C/C++, Python, JavaScript, Bash, and related technologies.
- Translate system and product requirements into software architecture, detailed designs, implementation plans, and verification strategies.
- Make technical decisions involving performance, security, reliability, maintainability, and resource constraints.
- Lead the development of web-based interfaces used to configure, monitor, and manage embedded devices.
- Design and implement automated unit, integration, regression, and system-level testing.
- Diagnose complex issues spanning applications, operating systems, networks, hardware interfaces, and distributed services.
- Improve software security through secure coding practices, vulnerability remediation, authentication controls, and dependency management.
- Establish and enforce coding standards, design practices, documentation requirements, and review processes.
- Lead code reviews and provide technical guidance across multiple projects.
- Mentor junior and mid-level engineers and support their technical development.
- Collaborate with systems, hardware, firmware, cybersecurity, quality, and product teams throughout the development lifecycle.
- Identify architectural and technical risks and drive solutions before they affect cost, schedule, or product performance.
- Support CI/CD pipelines, containerized development environments, configuration management, and release processes.
- Serve as a technical authority during design reviews, integration activities, customer discussions, and production investigations.
Requirements
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline.
- Eight or more years of relevant software engineering experience.
- Must currently hold an active U.S. Secret security clearance or be a U.S. citizen capable of obtaining and maintaining a Secret clearance.
- Advanced proficiency in Java and at least one additional language such as C, C++, or Python.
- Significant experience developing software for Linux or embedded Linux environments.
- Demonstrated experience architecting and developing microservices and REST APIs.
- Strong understanding of object-oriented design, data structures, algorithms, concurrency, and software design patterns.
- Experience developing software for networked devices, communications systems, or other complex embedded products.
- Demonstrated ability to lead technically complex projects from requirements through deployment and sustainment.
- Experience designing automated unit, integration, regression, and system tests.
- Strong troubleshooting skills across multiple software and system layers.
- Experience with Git, Docker, CI/CD pipelines, Unix/Linux tools, and shell scripting.
- Working knowledge of secure software development practices.
- Experience conducting design reviews and detailed code reviews.
- Demonstrated success mentoring engineers and influencing technical decisions across teams.
- Strong written and verbal communication skills., * Experience with satellite communications, telecommunications, aerospace, defense, or other high-reliability systems.
- Experience with device-management software and browser-based interfaces for embedded products.
- Knowledge of TCP/IP, network protocols, distributed systems, and network security.
- Experience with JavaScript, HTML, CSS, and modern web-development frameworks.
- Experience with JUnit or comparable automated testing frameworks.
- Familiarity with vulnerability scanning, static analysis, and software-composition analysis.
- Experience working within Agile or DevSecOps environments.
- Experience supporting deployed products and resolving complex production or customer-site issues.
Benefits & conditions
Pulled from the full job description AD&D insurance Health insurance Vision insurance Dental insurance Life insurance, * AD&D insurance
- Dental insurance
- Health insurance
- Life insurance
- Vision insurance
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Hard?
Best Countries for Software Engineers
Is Software Engineering Over-Saturated?
7 Important Tips That Every Software Developer Should Know