Software Engineer I

Adtran
Peachtree Corners, United States of America
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

Peachtree Corners, United States of America

Tech stack

Board Bringup
Microsoft Excel
Agile Methodologies
Automation of Tests
Unit Testing
Bash
C++
CMake
Code Review
Communications Protocols
Computer Engineering
Software Debugging
Linux
Device Drivers
Perl
Embedded Software
Firmware
Field-Programmable Gate Array (FPGA)
FreeRTOS
Hardware Design
Python
Scrum
Real-Time Operating Systems
Ruby
Software Engineering
System Testing
Systems Integration
Universal Asynchronous Receiver/Transmitter
Diagnostic Tools
Scripting (Bash/Python/Go/Ruby)
GIT
Information Technology
Software Coding

Job description

The Software/Firmware Engineer will design, develop, and test embedded software for Optical Layer solutions. You will collaborate closely with optical, hardware, and test engineers to deliver high-quality, production-grade firmware for next-generation optical networking systems., * Design, develop, and integrate modern C/C++ embedded software running on Linux and real-time operating systems (RTOS) such as FreeRTOS.

  • Own the complete software development lifecycle - from requirements and architecture through implementation, testing, debugging, and deployment.
  • Develop and maintain device drivers for fiber-optic components (e.g., EDFA, Raman, OTDR, OCM, WSS, etc) and other hardware subsystems.
  • Collaborate with hardware teams on schematic reviews, hardware design input, and board bring-up.
  • Partner cross-functionally with optical, hardware, and test engineers in an Agile environment to meet product milestones and quality goals.
  • Develop and maintain unit tests, automation scripts, and test frameworks to validate firmware functionality.

Requirements

  • Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
  • 3+ years of experience in embedded software or firmware development, preferably in telecommunications or networking.
  • Strong proficiency in modern C/C++, including adherence to C++ best practices and coding standards.
  • Experience with RTOS, low-level debugging, and hardware/software integration.
  • Understanding of embedded communication protocols (SPI, I²C, UART) and hands-on experience developing and debugging device drivers.
  • Familiarity with ARM or other microcontroller architectures.
  • Proficient with Git and collaborative development workflows (branching, reviews, CI).
  • Skilled in reading schematics and troubleshooting embedded systems.
  • Experience participating in code reviews, testing, and documentation to ensure high-quality deliverables.
  • Excellent analytical, problem-solving, and communication skills.
  • Demonstrated ability to work effectively with cross-functional teams, including QA, product management, and manufacturing.
  • Commitment to continuous learning and staying current with modern C++ and emerging embedded technologies.

Nice to Have

  • Experience developing device drivers for ASICs or FPGAs.
  • Hands-on experience with CMake and scripting languages (Bash, Python, Ruby, or Perl).
  • Experience with CI/CD pipelines for embedded platforms.
  • Familiarity with Agile/Scrum methodologies.
  • Proficiency in using oscilloscopes, logic analyzers, and diagnostic tools for system validation and debugging., * Must be authorized to work in the United States.
  • Energetic, collaborative, and eager to work with a diverse team.
  • Positive attitude, adaptability, and a genuine desire to learn, innovate, and excel.

Benefits & conditions

  • Full-time, permanent position (40 hours per week).
  • Hybrid role - in-office Tuesday through Thursday; remote Monday and Friday.

Apply for this position