Design, develop, modify, and implement software programming for products (both internal and external) with focus on surpassing customer expectations, on achieving high quality and on-time delivery. Responsible for ensuring the overall functional quality of the released product on all required platforms and mechanism. Ability to understand complex products, solutions, and problems. Creates, documents, and executes software designs which may involve complicated workflows or multiple product areas. Technical lead of one or more projects within one area of a product. Provides input to the technical direction for one area of a product. Occasional consults with customers in regard to future upgrades and products. Able to solve complex technical problems. Provides specialized expertise within multiple systems, software disciplines, as well as general knowledge of related disciplines, applications implications, and customer areas. Works with minimal supervision on complex projects with wide latitude for independent judgment. Highly skilled with extensive proficiency and technical expertise.
Prerequisites and Essential functions
Bachelor of Science degree in Computer Science, Mechanical Engineering,
Aerospace Engineering, Civil Engineering, Engineering Mechanics, or
equivalent. Master of Science degree is preferred. Experience in JAVA
or C++ object-oriented programming in a commercial quality software
environment. Experience in XML. Eclipse IDE experience is a plus.
Experience with Teamcenter or any PDM system is highly desirable.
Exposure to cloud and web development technologies is a plus. Exposure
to finite element modelling and analysis workflows and computer-aided
engineering (CAE) software is a plus. Essential Functions Project
Management: Participates in project planning (task subdivision and
identification, dependency identification, estimating effort) and
project tracking (monitoring, reporting, and adjusting). Process focus:
Follows documented practices, standards, and procedures to help
efficiently develop high-quality software. Product or domain knowledge:
Maintains industry and technology knowledge in relevant product areas.
Evaluate customer requests and develop an understanding of customer
needs. Requirement Definition: Possesses sufficient domain knowledge to
understand and analyze requirements, and document the requirements in
formal specifications. Functional Specification: Proposes and defines
creative and feasible solutions to effectively address the
requirements, and documents (or assists to document) informal
specifications. âŁ¢Test Planning: Analyzes code paths and system
functionality to create test plans. Algorithm and Software
Design: Designs well-constructed software functions that are potentially
reusable. Documents the software design. Coding: Uses clear,
understandable logic to write efficient, maintainable code, which meets
design specifications, quality requirements, and coding standards.
Testing: Executes code level and system level test plans and reports
results. Maintenance: Maintains existing products and troubleshoots
customer problems. Explores the actual root cause of a deficiency such
that the source of the problem is removed, rather than implementing a