Adtranposted 2 days ago
Atlanta, GA

About the position

The Advanced Software Engineer will be responsible for designing, analyzing requirements, developing, implementing, testing, debugging, and maintaining software solutions for ADTRAN products including but not limited to the following: driver development, application development, system software architecture, software test development, and customer assistance. This position requires a highly skilled professional with a broad knowledge base within a design specialization and who can act as a technical authority in specialty areas on assigned projects.

Responsibilities

  • Design and develop software applications and features in a cross-functional Agile development team
  • Adhere to Software Development best practices including Agile/Scrum
  • Partner with others in cross-functional team to ensure team sprint goals are met, broadening skills where needed to achieve team goals
  • Design and implement multiple L2 and L3 networking protocols running on embedded network devices
  • Design and implement SDX Access and Aggregation software including new features and maintenance and enhancement of existing products
  • Prevent defects from entering the code base through performing comprehensive automated unit and automated integration tests authored in parallel with code
  • Design, implement and correct features for Mosaic Cloud Platform management solution
  • Design and implement high-level and low-level software design for new modules and enhancements to existing software
  • Partner with engineers and architects (software and systems) at different sites and cultures to successfully complete global projects
  • Model and define APIs using MIBs, CLI, YANG or similar standards
  • Use Object Oriented Design methodologies, design patterns, algorithms and data structures
  • Conduct and participate in design reviews and code reviews
  • Design and develop software in Linux Embedded systems
  • Apply multi-tasking and event driven aspects of developing software
  • Lead development activities to meet schedule and product constraints
  • Design and maintain subsystems throughout the full software development life cycle of a software project
  • Understand the product architecture, design, processes, and tools required to perform development tasks
  • Other projects and assignments may result and be assigned to accommodate the changing needs of the department and the Company

Requirements

  • BS or MS in Computer Engineering/Computer Science or equivalent education is required
  • 8-12 years’ of professional experience is required
  • Experience with Ethernet and networking protocols
  • Experience with embedded software design, implementation and debugging ranging from the driver/interrupt level up to the application level, including interprocess communication and multi-threading techniques
  • Experience with real-time software design and programming with C/C++ in Linux build and Linux development environment
  • Experience developing in embedded Linux applications
  • Experience with C/C++
  • Experience with at least one modern scripting programming language (Python, Ruby, Groovy, Perl, Bash)
  • Experience developing containerized applications (Docker or equivalent)
  • Experience developing and deploying large scale applications
  • Solid understanding of Layer 2 and Layer 3 data networking principles (TCP/IP, IP protocols, Ethernet switching, OAM) is required
  • Familiarity with lab test equipment that would be needed to unit or system level test the software component design is required

Nice-to-haves

  • Experience developing software for whitebox and custom hardware targets
  • Experience network operation systems usage, maintenance, and customization for NOS such as OcNOS and ONL
  • Experience with L3 commercial software stacks like SSI and Metaswitch
  • Experience with programming and control of silicon-based Ethernet switching and routing
  • Implementation and design experience with Datacom technologies, FTTx, T1/T3, SNMP, CLI, BPON, GPON, and SONET experience preferred
  • Experience with at least one modern software version control workflow system (gitlab, github, bitbucket) is preferred
  • Experience with Agile development principles, including the Scaled Agile Framework preferred
  • Experience with at least one modern functional programming language (Scala, Erlang, Elixir, Haskell) is a bonus
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service