Job Description :
Embedded Software Engineer III
(W2 or 1099)!!
Austin, TX
Sometimes they have to Travel to Warren, MI
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 5+ products
Likely 7+ years of experience
Advanced regarding skill mastery