Responsible for designing, developing, troubleshooting, or debugging software programs. Develops software tools including operating systems, compilers, routers, networks, utilities, databases and internet-related tools, etc.
Determines hardware compatibility and / or influences hardware design.
Experience in programming software for operating systems, utilizing machine assembly and / or job control languages, and some knowledge of software capabilities.
Designs algorithms and data structures. Experience on development of complex software projects, familiarity with C / C++ coding, and a strong background in data structures and algorithms.
Has strong desires to learn and explore new technologies and demonstrates good analysis and problem-solving skills. Prior knowledge and experience of CAD tool development are required.
Typically requires a minimum of 5+ years of related experience. Possesses a full understanding of specialization area plus working knowledge of multiple related areas.
Independently resolves a wide range of issues in creative ways on a regular basis. Customarily exercises independent judgment in selecting methods and techniques to obtain solutions.
Performs in project leadership role. Contributes to complex aspects of a project. Determines and develops approach to solutions.
Work is independent and collaborative in nature. Provides regular updates to manager on project status. Represents the organization on business unit and / or company-wide projects.
Guides more junior peers with aspects of their job. Frequently networks with senior internal and external personnel in own area of expertise.