Job Description :
Embedded Software Engineer II

Duration : 12 Months

Location : Warren, MI

Must be on our W2 (GC or US Citizen only)

Major Duties and Responsibilities:-

Define, design, build, test, deploy, and support software products
Consistently follow the specified software development methodology
Elaborate, estimate, and design for small increments of work.just-in-time
Perform root cause analysis, technology evaluation, and design spikes
Forecast completing well-defined work and deliver on those forecasts
Swarm around tasks along with other Scrum team members
Utilize technical skills, creativity and communication skills, with
assistance from team members, to design and document a system that fulfills
customer requirements

Test-drive code
Pair program with different people in many situations
Participates in design walkthroughs
Implements test plans, including the creation of test data and the
verification of the test environment
Maintains hardware and software in the production environment for assigned
areas
Report status of assigned software development and/or maintenance tasks
Meet team standards and provide the flexibility to meet future customer
needs
Addresses production problems and makes changes to system functionality
Skills and Abilities
Assesses own strengths and weaknesses; Pursues training and development
Strives to continuously build knowledge and skills; Shares expertise with
others
Balances team and individual responsibilities; Exhibits objectivity and
openness to others'' views; Gives and welcomes feedback; Contributes to
building a positive team spirit; Puts success of team above own interests;
Able to build morale and group commitments to goals and objectives; Supports
everyone''s efforts to succeed
Synthesizes complex or diverse information; Collects and researches data;
Uses intuition and experience to complement data; Designs work flows and
procedures
Identifies and resolves problems in a timely manner; Gathers and analyzes
information skillfully; Develops alternative solutions; Works well in group
problem solving
Uses reason even when dealing with emotional topics
Develops strategies to achieve organizational goals; Understands
organization''s strengths and weaknesses; Analyzes market and competition;
Identifies external threats and opportunities; Adapts strategy to changing
conditions
Demonstrates accuracy and thoroughness; Looks for ways to improve and
promote quality; Applies feedback to improve performance; Monitors own work
to ensure quality
Adapts to changes in the work environment; Manages competing demands;
Changes approach or method to best fit the situation; Able to deal with
frequent change, delays, or unexpected events
Volunteers readily; Undertakes self-development activities; Seeks
increased responsibilities; Takes independent actions and calculated risks;
Looks for and takes advantage of opportunities; Asks for and offers help
when needed
Displays original thinking and creativity; Meets challenges with
resourcefulness; Generates suggestions for improving work; Develops
innovative approaches and ideas; Presents ideas and information in a manner
that gets others'' attention
Proven experience designing and developing software including the following:
Experience doing development in embedded development, i.e. in constrained
environment
Good knowledge of QNX operating system
Good understanding of interprocess communication in QNX
Solid understanding of Linux operating system
C, C++
Linux Curl functions, LibCurl
Linux Command Library
Good understanding of the HTTP & FTP protocols
Knowledge of Transport Layer Security (TLS)
Knowledge of Singleton in C, C++
Knowledge of STL containers for C++
Gdb (gnu debugger) . Messaging, ZeroMQ
OMA-DM, FUMO, preferred, not a requirement
Scripting languages - Groovy, Python
Unit testing
Knowledge of C Unit and CPP Unit for unit testing
Experience with State machines implementation
Experience using Certicom libraries for implementing TLS
GOF Design patterns
Good understanding of data structures
Eclipse IDE
Preferable to have knowledge of CAN vehicle networking, not required
though
Experience working with VM''sExperience
Likely experience designing 3+ products
Likely 5+ years of experience
Advanced regarding skill mastery.
Embedded Software Engineer

REQUIRED: UDS; CAN; Vehicle communication and Diagnostics
2- 3 YEARS OF EXPERIENCE IN VEHICLE COMMUNICATION

5 years total experience
Basic Preferred:
Experience with AUTOSAR
Linux Curl functions, LibCurl
Linux command library
Experience with mobile devices and online services integration is highly
desired
Experience working in any flavor of the Agile Software Development method
e.g. SCRUM
Experience in developing automotive infotainment solutions
Prior experience with vehicle audio/media , navigation data and vehicle
data services is highly preferred
Experience using Certicom or WolfSSL libraries for implementing TLS
Experience working with VM''s Experience
Experience in the automotive industry and working directly with OEMs.
Major Duties and Responsibilities
Develop best in class embedded software using C/C++, Java and QNX/Linux
expertise
Deploy and maintain the software for future enhancements
Work with GM business leads and engineering specialists to identify,
capture and refine system requirements.
Provide robust and elegant software solutions
Facilitate internal developers or third party companies to develop,
integrate, and test software deliveries using embedded diagnostic and
development tools.
Coordinate and participate in architecture, requirements, code, and test
case reviews.
Work closely with other team leads to support triage and resolution of
difficult system problems in a timely manner
Interact with internal customers, vendors and external organizations to
refine understanding of requirements and identify opportunities for
innovation
Work with program management and Product Owners to define sprints and
releases.
Proven experience designing and developing software including the following:
Minimum of 5 years'' experience developing the multi-threaded software
application using C, C++, C#
Working experience in any of OS environment like QNX, POSIX, or embedded
Linux
Experience with Automotive protocols such as UDS, CAN .
Demonstrated performance in a position requiring both high creativity and
engineering technical excellence
History of success in applying advanced technology to enhance usability of
complex systems
Ability to work in cross-functional disciplines which includes
Engineering, Information Technology, Technical Support
Embedded Software application development experience in automotive and/or
portable consumer electronic devices
Strong evidence of career performance excellence in position of ever
increasing levels of responsibility and challenge
High level of oral and written communication skills
High level of interpersonal skills to work effectively in a geographically
dispersed team
Experience with automotive Ethernet.
             

Similar Jobs you may be interested in ..