< Back to careers

Software Engineer

Job Overview

This position is responsible for creating, testing, ensuring the quality of and maintaining a product or family of products/solution. Provide moderately complex code modification, testing and debugging tasks. Perform analysis related to software design and development and solve problems.

Key Responsibilities

  • Participates in grooming of product backlog with product management, architecture, and other stakeholders.
  • Visualize, articulate and break down complex problems into simpler parts
  • Design and code moderately complex units/modules/products that meet functional and business requirements on schedule and within budget.
  • Perform unit/module testing of software to find errors and confirm programs meet specifications.
  • Write and maintain documentation to describe program development, logic, coding, testing, changes, and corrections.
  • Fix bugs, add enhancements, and convert software to other platforms.
  • Work effectively with other team members as needed to determine system problems.
  • Put forward accurate time estimates of work to be done on a project
  • Provide product content to technical writers and review for technical accuracy.
  • Provide input to establish and improve departmental processes and procedures.
  • Participate in design and code reviews with other developers.
  • Develop and execute customer focused test cases and maintain associated records
  • Provide test automation, test planning, triage, isolation and troubleshooting
  • Integrate test suites into the test management system and test harness
  • Develop and utilize automated test scripts to perform duties
  • Record issues into a defect-tracking system
  • Participate in test plan reviews
  • Put forward accurate time estimates of work to be done on a project
  • Follow-up and close issues entered into the defect-tracking system Provide input to establish and improve departmental processes and procedures

Typical Role Definition

Professional Staff. An intermediate level professional role. Some evaluation, originality or ingenuity required to perform tasks. Knows and applies the fundamental concepts, practices, and procedures of a particular field.

Typical Role Definition

  • Generally works without consulting their manager.
  • Independent decisions are made daily.
  • Examples of typical decisions without manager consultation:
  • Reprioritize and manage their workload.
  • Design programs or solutions.
  • Decide best course for code development.
  • Typically has no direct reports.
  • Typically has no total staff.
  • Typically has a global geographic focus.
  • Typically does not manage a budget.

Business Travel and Physical Demands

Business travel of approximately 10 or less percent yearly is expected for this position. Physical demands:

  • Office environment. No special physical demands required.

Preferred Education

Undergraduate degree in Computer Science, Engineering or Sciences

Work Experience

Typically 2 or more years of software development experience.

Skills & Competencies

  • Business Domain Expertise: Beginner
  • Engineering Excellence / Agile: Beginner
  • Requirements Analysis: Beginner
  • Design: Beginner
  • Coding: Proficient
  • Defect Root Cause Identification / Problem Analysis: Proficient
  • Quality Validation: Beginner
  • Configuration Management: Proficient
  • Technical Leadership: Proficient
  • Communication – Written: Proficient
  • Communication – Interpersonal: Proficient
  • Leading Yourself: Proficient
  • Leading the Organization: Beginner Leading through Others: Beginner