Software Development Engineer

1 Month ago • 5-8 Years
Software Development & Engineering

Job Description

The Senior Software Engineer will be responsible for designing, analyzing requirements, developing, implementing, testing, debugging, and maintaining software solutions for products. This includes driver development, application development, system software architecture, software test development, and customer assistance. The position requires the ability to perform Engineering tasks for major or moderately complex projects with limited direction.
Good To Have:
  • Experience with PON technology
  • Familiarity with programming and control of ASICs
  • Implementation and design experience with Datacom technologies, FTTx, SNMP, CLI and NTECONF
  • Experience with at least one modern software version control workflow system (gitlab, github, bitbucket)
  • Experience with at least one modern software bug tracker workflow system (Jira, Polarion)
  • Experience with Agile development principles, including the Scaled Agile Framework
Must Have:
  • 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.
  • Design and implement ITU PON, OMCI, and multiple L2 networking protocols on embedded network devices.
  • Design and implement SDX OLT software including new features, maintenance and enhancement.
  • Prevent defects from entering the code base through comprehensive automated unit and integration tests.
  • 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.
  • Partner with engineers and architects at different sites and cultures to complete global projects.
  • Model and define APIs using YANG, CLI, MIBs 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.
  • Understand the product architecture, design, processes, and tools for development tasks.

Add these skills to join the top 1% applicants for this job

cross-functional
problem-solving
design-patterns
github
cpp
data-structures
game-texts
agile-development
gitlab
ruby
networking
linux
python
algorithms
jira
perl
bitbucket
bash

Welcome!

Our Growth is Creating Great Opportunities!

Our team is expanding, and we want to hire the most talented people we can. Continued success depends on it! Once you've had a chance to explore our current open positions, apply to the ones you feel suit you best and keep track of both your progress in the selection process, and new postings that might interest you!

Thanks for your interest in working on our team!

Job Summary

The Senior Software Engineer will be responsible for designing, analyzing requirements, developing, implementing, testing, debugging, and maintaining software solutions for products including but not limited to the following: driver development, application development, system software architecture, software test development, and customer assistance. This position requires the ability to perform Engineering tasks for a major project or for projects of moderate complexity with limited direction.

Duties and 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 ITU PON, OMCI, and multiple L2 networking protocols running on embedded network devices.
  • Design and implement SDX OLT software including new features, 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 YANG, CLI, MIBs 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

Qualifications

Basic Qualifications

BS or MS in Computer Engineering/Computer Science or equivalent education is required

  • 5-8 years’ of professional experience is required
  • Familiarity 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.
  • A solid foundation in computer science, with strong knowledge of data structures, algorithms, and software engineering is required.
  • Experience developing embedded Linux applications.
  • Experience with C/C++
  • Experience with at least one modern scripting programming language (Python, Ruby, Groovy, Perl, Bash).
  • Experience developing and deploying large scale applications.
  • A good 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.
  • Travel is limited and rare for this position

Preferred Qualifications (Optional)

  • Experience with PON technology
  • Familiarity with programming and control of ASICs
  • Implementation and design experience with Datacom technologies, FTTx, SNMP, CLI and NTECONF experience preferred.
  • Experience with at least one modern software version control workflow system (gitlab, github, bitbucket) is preferred.
  • Experience with at least one modern software bug tracker workflow system (Jira, Polarion) is preferred.
  • Experience with Agile development principles, including the Scaled Agile Framework preferred.

Set alerts for more jobs like Software Development Engineer
Set alerts for new jobs by Adtran
Set alerts for new Software Development & Engineering jobs in United States
Set alerts for new jobs in United States
Set alerts for Software Development & Engineering (Remote) jobs
Contact Us
hello@outscal.com
Made in INDIA 💛💙