Job Description and Requirements
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. Resolves a wide range of issues in
creative ways. Exercises judgment in selecting methods and techniques to obtain
solutions. Performs in project leadership role. Contributes to complex aspects
of a project. Receives little to no instructions on day-to-day work,
occasionally receives general instructions on new assignments and projects. 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.