Software Development/AI specialist
Location
Warren, MI | United States
Job description
Description
Software Development/AI Specialist Engineer
What you'll be doing:
Seeking a candidate with software engineering research expertise to develop a smart, AI based, system that interact with an in-vehicle video platform. The project shall cover multiple phases including the following stages: video camera data processing, video data collection from in-vehicle sources and offboard sources, video data processing on several stages like utilizing in-vehicle data processing recourses and /or Edge or Cloud based infrastructure, development of example application(s).
The project shall describe the AI- based application implementation and demonstrate the opportunities/limitations of the selected communication networks like WiFi/cellular for perception and implementation into a demo-application.
What you need for this position: • Computer vision background, or similar background, and is able to write computer programs independently.
• Must possess a master's degree.
• at least 5+ years of Experienced with C/C++, Java and/or Python (include academical experience)
• Experienced with video streaming platform programming and operation (include academical experience)
• Good communication and problem solving abilities
Preferred Requirements:
• PhD degree in Computer Science, Electrical Engineering, or a related discipline with 3+ years of experience.
• Proficient level of embedded C/C++ programming experience is highly preferred.
• Experience for at least 3+ years with Kotlin for Android development.
• Good critical thinking skills and software debugging skills.
• Strong system building skills in Linux development, such as, socket programming, multi-thread programming, virtual machine/container building, embedded system software development, etc.
• Good knowledge or experience in wireless networks, network protocols, will be an advantage.
• Good understanding of Python, C++, and object-oriented design patterns.
• Automotive background in electrical/mechanical/Software/sensing etc.
Qualifications Lead Developer Qualification :
Science / Engineering graduate
Responsibility :
Requirements Gathering :
- ' Participate in requirement gathering JAD (Joint Application Development) sessions and support documentation where applicable (business functional Technical UI usability data compliance data migration NFR 3rd party tools & products).
- Raise queries and get query resolution on areas which are unclear ambiguous and which need more information to the Technology Lead.
Project Estimation :
- ' Understand how the estimation (effort size etc) is done at task level in the area of work concerned measure and report the actual effort against the estimated effort and ensure task progress reporting in C20 or any other applicable tool.
Capability Development :
- Become an expert in the core skill and develop additional skills.
Design & Analysis :
- ' Create the HL Design and detailed design document with the support of architects for the assigned scope.
- Review all deliverables created by the Developer.
- Study non functional requirements and design for NFR as required.
- Understand the interdependencies of the various components in work packages being developed.
- Create detailed design and assign to developer.
- provide input to the Project Manager / Technical Lead to create the project plan from a technical perspective.
- support development of proof of concept as designed by Designer / Solution Architect.
- initiate development environment setup.
- Provide demo to customer for early feedback.
- create quality check points for all deliverables.
Coding :
- ' Develop tier coding business layer coding interface development service development creation of stored procedures etc as applicable for the work package / project.
- CTS and customer specific coding standards guidelines and best practices.
- Understand the database concepts and write efficient queries.
- raise clarifications / issues / concerns regarding work output to the lead.
- Seek review from peer / technical lead periodically.
- participate in setup activities for required environment setup.
- deploy code build in testing environment.
- conduct peer review during design coding and testing.
- Complete documentation as per the scope.
- prepare guidelines and checklist for development and testing activities.
- Provide feedback to design team.
- share feedback with developers to check if code is as per requirements.
- Incorporate changes as per feedback.
- provide necessary and timely status updates to the Supervisor / Technical Lead.
- Highlight any potential risks to the leads.
- Update traceability matrix for the work package developed.
- mentor the Developers to help them solve technical difficulties in the course of coding.
- Follow the SCM policies set for project.
- raise clarifications / issues / concerns regarding work output to the lead on time.
- provide necessary and timely status updates to the Supervisor / Technical Lead.
- Proactively highlight any potential risks to the lead.
- provide support on process audit activities.
- adhere to process and tools (usage of cognizant 20 awareness of Quality Management System).
Testing :
- ' Develop comprehensive unit testing cases and unit test plans.
- conduct comprehensive unit testing.
- Prepare and support in preparation of unit test strategy.
- plan document and data requirements.
- automate unit testing and contribute to automation of unit testing.
- Conduct peer review of unit test cases.
- perform developer integration testing by integrating the components.
- Review test cases as prepared by the Developer.
Defect Management :
- Participate in defect triage meetings.
- conduct RCA for defects identified.
- Rework on the code based on review comments from code review / defects raised in unit testing peer testing SIT UAT testing or any other relevant testing phases.
- Assist in transition of knowledge and to support organization with any defects raised post production as required.
Process Improvements and Adherence :
- Participate in innovation sessions.
- implement process improvements to reduce manual intervention (eg automation).
- support on process audit activities.
- Generate ideas to provide value add and share the same with the Technical Lead.
- Adhere to process and tools (usage of cognizant 20 awareness of Quality Management System IDE etc).
Knowledge Management :
- Contribute towards updating knowledge assets user manual online help document installation manual / scripts.
- Conduct knowledge transfer sessions for new joiners in the project team.
- conduct training through academy (if approved).
- Guide and mentor team junior members from a technical perspective to ensure quality delivery of the components.
- contribute / search / reuse all types of assets from repository.
People management :
- resolve / conflict management within team.
- conduct internal trainings for developers within team.
Technical Skills
Additional Skills
SNo Primary Skill Proficiency Level * Rqrd./Dsrd. 1
CAN bus
PL1
Required
Domain Skills
SNo Primary Skill Proficiency Level * Rqrd./Dsrd. 1
Engineering & Design
NA
Required
Appendix:
Leadership and Professional Development skills
SNo Primary Skill Proficiency Level * 1
Build Collaborative Relations
PL2
2
Execution Excellence
PL2
3
Client Focus
PL2
4
Effective Communication
PL2
5
Innovation
PL2
* Proficiency Legends
Proficiency Level Generic Reference PL1
The associate has basic awareness and comprehension of the skill and is in the process of acquiring this skill through various channels.
PL2
The associate possesses working knowledge of the skill, and can actively and independently apply this skill in engagements and projects.
PL3
The associate has comprehensive, in-depth and specialized knowledge of the skill. She / he has extensively demonstrated successful application of the skill in engagements or projects.
PL4
The associate can function as a subject matter expert for this skill. The associate is capable of analyzing, evaluating and synthesizing solutions using the skill.
Job tags
Salary