Software Engineer I

Adtran
Atlanta, GA, United States
24 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
3 years minimum
Working hours
Regular working hours
Job source

Tech stack

Board Bringup Microsoft Excel Agile Methodology Automation of Tests Unit Testing Bash Shell C++ (Programming Language) CMake Code Review Communications Protocols Computer Engineering Software Debugging
+21 more
Linux Device Drivers Perl (Programming Language) Embedded Software Firmware Field-Programmable Gate Array (FPGA) FreeRTOS Hardware Design Python (Programming Language) Scrum Methodology Real-Time Operating Systems Ruby Software Engineering System Testing Systems Integration Universal Asynchronous Receiver/Transmitter Diagnostic Tools Scripting 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

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:15 min

Defining classes and building packages with pybind11

Konstantin Bespalov · WWC 2023

50 sec

Why developer happiness matters in web frameworks

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

3:30 min

Falling in love with Ruby and creating Basecamp

David Heinemeier Hansson David Heinemeier Hansson +1 · Coffee With Developers

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

Videos

See all

Related articles

See all