You are viewing a preview of this job. Log in or register to view more details about this job.

Software Engineer Intern

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.

Job Responsibilities

As a Software Engineer Intern, you will learn to develop code for microcontrollers/processors used in real cutting edge RF communication systems that may be satellite, airborne, or ground based for commercial or military programs. Responsibilities include but not limited to:
  • Design and develop embedded software in stand-alone or embedded within a FPGA
  • Develop software documentation and test procedures
  • Perform software integration, test, and verification
  • Support module and system engineers with software requirements, interface definitions, design, and performance analysis
  • Support module characterization and test with special embedded software programs, as needed

The software is typically written in C/C++ and is typically done in bare-metal (no operating system) but operating systems are used on occasion. A lot of the work is low level and dealing directly with the microcontroller peripherals such as SPI, USART, I2C, interrupts, timers, PWM, watchdog, ADC/DAC, flash memory, etc. Generally, a bootloader application also is developed along with the embedded application software to allow for upgrades out in the field.


  • Currently pursuing a Bachelor's degree or higher in Computer Science, Computer Engineering, Electrical Engineering, or related subject area
  • Exposure or desire to work with any of the following: C/C++, Python, Java, or Shell-scripting
  • Previous experience with or desire to learn Linux
  • Ability to commit to a 10-12 week internship.


  • Previous software development internship experience
  • Previous experience with or exposure to microcontrollers
  • Previous experience with or exposure to bare metal
  • Previous embedded software engineering experience
  • Working knowledge or experience with MATLAB

To learn more about this site and other office locations, please click here