JOBHOLDER ENTRY REQUIREMENTS
- Communications: Applicant must possess excellent oral and verbal communications skills. The incumbent must be able to professionally interact with co-workers and supervisors in order to convey a high level of technical ideas, procedures, and instructions efficiently and effectively.
- Initiative/Follow-Through: Applicant must have excellent self-study skills to develop and maintain an understanding of new technologies, must be self-motivated and be able to work independently with minimal supervision, must be able to work as a team member in a group environment for the completion of design tasks, and must possess the ability to work simultaneously on multiple projects in different stages with a sense of urgency and efficiency.
- Leadership: Applicant must possess the ability to lead new designs, lead new projects, lead small teams of design engineers, and guide less experience engineers as required.
Master's Degree in Computer Engineering, Software Engineering, Computer Science, Computer Information Science, or Electrical Engineering preferred.
- Education: Bachelor's Degree in Computer Engineering, Software Engineering, Computer Science, Computer Information Science, or Electrical Engineering required.
Knowledge of TCP/IP, IP protocols, Datacom technologies, VxWorks, QNX, embedded Linux, L2 and L3 protocols, Ethernet switching, networking protocols, FTTx, T1/T3, SNMP, CLI, BPON, GPON, and SONET experience preferred.
- Related Experience: This Software Engineer is an entry-level position, which may include up to 2 years of experience.
- Equipment/Software Skills: A solid foundation in computer science, with strong competencies in data structures, algorithms, software engineering, object-oriented design, and programming techniques with strong C/C++ skills is required. Familiarity with Ethernet and networking protocols and 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 is required. Familiarity with lab test equipment that would be needed to unit or system level test the software component designed is required.
ESSENTIAL PHYSICAL AND MENTAL REQUIREMENTS
- Travel Expectations: No travel is expected for this position.
- Physical: While performing the duties of this job, the employee is regularly required to sit; use hands and fingers to handle, feel, type, and write. The employee in this role is occasionally required to stand; walk, kneel or crouch and must occasionally lift and/or move up to 25 pounds.
- Sensory: Ability to read, analyze, and interpret general business periodicals, professional journals, technical procedures, or governmental regulations. Ability to draft, write and enter necessary data for reports, business correspondence, and/or procedure manuals. Ability to effectively present/communicate information and respond to questions from groups of managers, clients, customers, and the general public.
- Mental/Reasoning: Ability to apply common sense understanding to carry out instructions furnished in written, oral, or diagram form.
The Software Engineer will be a member of a team 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 Software Engineer is an entry-level position where the work is primarily focused on the development or improvement of actual products or designs. Assignments are designed to develop professional work knowledge and abilities. Requires ability to perform Engineering tasks for a major project or for projects of moderate complexity with limited direction.
ESSENTIAL DUTIES AND RESPONSIBILITIES
- May design or assist in the design development of multiple L2 and L3 networking protocols running on embedded network devices.
- May perform or assist in high-level and low-level software design and implementation of new modules and enhancements to existing software.
- May perform or assist in feasibility studies of needed software development.
- May document the design including features definition and provisioning models.
- Help to define MIBS, CLI, and other user interface as required.
- May conduct and participate in design reviews and code reviews.
- May plan and perform unit and system level testing of implemented software modules and enhancements using lab test equipment as needed.
- May review Design Verification Test plans.
- Help fix software bugs found during all testing phases.
- May organize and coordinate development activities within schedule and product constraints.
- Prompt and regular attendance is required in order to ensure quality workflow.
- Other projects or duties as required for the development of new innovation and design.