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 12+ years of related experience. At this level, post-graduate coursework or knowledge base equivalent may be expected.
Having broad expertise or unique knowledge, uses skills to contribute to development of company objectives and principles and to achieve goals in innovative and effective ways.
Customarily exercises a high level of independent judgment and interpretation in developing methods, techniques and evaluation criteria to obtain results.
Drives projects, programs, and business initiatives. Initiates new cross-organizational projects. Regularly acts independently to determine methods and procedures on new or special assignments and projects.
Advises senior management on specialized technical or business issues. Serves as organization spokesperson on specialized projects or programs.
Acts as prime consultant on significant projects that affect the organization's long-term goals and objectives. Creates formal networks involving coordination among groups and is able to influence senior level employees and managers.