Embedded Software Engineer
One team. Global challenges. Infinite opportunities. At Viasat, we’re on a mission to deliver connections with the capacity to change the world. For more than 35 years, Viasat has helped shape how consumers, businesses, governments and militaries around the globe communicate. We’re looking for people who think big, act fearlessly, and create an inclusive environment that drives positive impact to join our team.
What you'll do
In this role as Software Engineer, you will be responsible for software design, development, and testing of communication products using established processes in a team-oriented environment. You will be responsible for decomposition, analysis, software architecture, implementation, and testing requirements. You are a team player who has the ability to interface with interdisciplinary teams that include software, hardware, and systems architecture. You will work independently but also have the guidance of more experienced systems and software engineering team members. Sound interesting? Keep reading!
The day-to-day
- Understand and analyze user and system requirements as input for the SW development
- Collaborate with Product Managers, Software Engineers and project stakeholders to deliver SW products with quality, on time and in line with defined scope
- Deliver maintainable, robust and testable code
- Share knowledge and collaborate with other developers and network engineers across the business
- Support the production of SW documentation as needed
- Proactively propose solutions to ensure business continuity
- Openness to working on multiple projects concurrently
What you'll need
- Bachelor's Degree or Master's Degree in Computer Science, Computer Engineering or related field or equivalent
- Experience with C/C++ and scripting language (bash, Python)
- Experience with Linux (O/S and kernel) or related (e.g. QNX)
- Proficient with software development tools such as github, Jira, Confluence, Jenkins, vscode, etc...
- Experience with unit testing and automation frameworks (GoogleTest, Github actions, Robot Framework)
- Experience with embedded Linux construction tools (Yocto, OpenWRT, buildroot)
- Good understanding of networking (TCP, UDP, routing, ARP) and socket programming
- Good understanding of the challenges of working with various types of platforms (semi-embedded, server, cloud)
- Ability to work on projects of diverse scope
- Dedication to committed dates and project milestones
- Experience working in Agile development environments (Scrum, Kanban, hybrid, etc.)
- Ability to travel up to 10%
What will help you on the job
- Experience with the Rust programming language reliable.
- Experience with Xilinx software development toolchain and O/S (Vivado, Petalinux).
- Experience with Linux kernel driver development.
- Experience with SPI, UART, I2C, or other serial communication protocols.
- Knowledge of automation test benches (Google Test) and integration with CI/CD frameworks (Jenkins, Artifactory)
EEO statement
Viasat is proud to be an equal opportunity employer, seeking to create a welcoming and diverse environment. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, ancestry, physical or mental disability, medical condition, marital status, genetics, age, or veteran status or any other applicable legally protected status or characteristic. If you would like to request an accommodation on the basis of disability for completing this on-line application, please click Write an email.