
Machine Software Developer
- Chennai, Tamil Nadu
- Permanent
- Full-time
Develops, designs, implements and tests software of embedded devices and systems; monitors and enhances the efficiency and stability of the systems.Responsibilities
- Gathering and analyzing user/client requirements to create the software requirements specification (SRS) document.
- Writing and implementing source codes of embedded systems and enhancing code samples of existing systems.
- Testing and debugging embedded system software using different tools/methods available to improve code quality and optimize system performance.
- Collaborating with other teams to provide post production support.
- Requires a degree in an accredited Engineering, Computer Science, or Materials Science curriculum.
- Minimum 5-7 years of engineering experience with Bachelors in EEE / ECE / E&I
- Proficiency in Embedded C Programming
- Experience in CAN, J1939, SPI, UART or I2C protocol and CAN related tools;
- Good experience with CAN tools- CANalyzer/CANape/CANoe etc, and compilers tools usage;
- Expertise in System and Software requirement analysis, Software design practices;
- Expertise in Software Configuration Tools may include GIT/ClearCase/any
- Expertise in Software debugger tools - Automotive embedded domain may include Trace32 or any equivalent
- Work experience with Embedded I/O, processors, simulators
- Understanding of powertrain functions (transmission, engines, driveline).
- Overall knowledge of transmission control systems related to drive strategy, shift scheduling, shift-by-wire, signal filtering, oil budgeting, and shift lever analysis.
- Understanding of Transmission electronics software components;
- Familiarity with Electronics system safety and security concepts.
- Automotive concepts (Engine/Powertrain/BCM etc)
Level Working Knowledge:
- Approaches a situation or problem by defining the problem or issue and determining its significance.
- Makes a systematic comparison of two or more alternative solutions.
- Uses flow charts, Pareto charts, fish diagrams, etc. to disclose meaningful data patterns.
- Identifies the major forces, events and people impacting and impacted by the situation at hand.
- Uses logic and intuition to make inferences about the meaning of the data and arrive at conclusions.
Level Working Knowledge:
- Delivers helpful feedback that focuses on behaviors without offending the recipient.
- Listens to feedback without defensiveness and uses it for own communication effectiveness.
- Makes oral presentations and writes reports needed for own work.
- Avoids technical jargon when inappropriate.
- Looks for and considers non-verbal cues from individuals and groups.
Level Working Knowledge:
- Explains own role and responsibility within team.
- Actively participates in team meetings.
- Shares information, knowledge, and experiences openly and proactively.
- Describes team mission and objectives in the context of results to be achieved.
- Demonstrates open, friendly, accepting, and supportive behaviors with team members.
Level Working Knowledge:
- Provides effective technical solutions to routine functional challenges via sound technical competence, effectively examining implications of events and issues.
- Effectively performs the technical job aspects, continuously building knowledge and keeping up-to-date on technical and procedural job components.
- Applies technical operating and project standards based on achieving excellence in delivered products, technologies and services.
- Applies current procedures and technologies to help resolve technical issues in one's general area of technical competence.
- Helps others solve technical or procedural problems or issues.
Level Working Knowledge:
- Describes common tools for component-based, object-oriented development.
- Describes the objectives, activities and results of unit testing.
- Has developed programs in a specific language and for a specific platform.
- Interprets functional and technical blueprints; participates in structuring technical components.
- Participates in technical and code reviews.
Level Working Knowledge:
- Follows policies, practices and standards for determining functional and informational requirements.
- Confirms deliverables associated with requirements analysis.
- Communicates with customers and users to elicit and gather client requirements.
- Participates in the preparation of detailed documentation and requirements.
- Utilizes specific organizational methods, tools and techniques for requirements analysis.
Level Working Knowledge:
- Supports the project leader in developing and executing system test plans.
- Evaluates system documentation and user manuals for usability, accuracy and completeness.
- Executes test cases, analyzes test results and reports on findings regularly.
- Tests system components for compliance with functional requirements.
- Participates in the testing of a system's ability to recover from hardware or software failures.
Level Working Knowledge:
- Discovers, analyzes, and resolves hardware, software or application problems.
- Works with vendor-specific diagnostic guides, tools and utilities.
- Handles calls related to product features, applications, and compatibility standards.
- Analyzes code, logs, and current systems as part of advanced troubleshooting.
- Records and reports specific technical problems, solving processes and tools that have been used.