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
· 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 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 asymptomatic fix.