Minimum of 6+ years of Strong hands-on experience in C++ programming, Linux development experience.
Extensive knowledge of developing software in a Linux environment, including writing and modifying shell scripts
Should have a solid understanding of general/complex software design principles such as application architecture, interface design, and unit testing
Experience applying Object-Oriented Design principles and patterns
Strong diagnostic and analytical skills
Strong experience writing Linux applications, Linux internals experience would be highly desired.
Experience with continuous integration, static code analysis, branching and versioning
Must be able to handle working in a dynamic environment with parallel responsibilities and competing priorities
Excellent verbal and written communication skills
v. Good experience in understanding requirement and prepare design flows. Should be able to participate contribute to requirement design discussions.
Good debugging skills using GDB, core-file/crash dump analysis
Identifying different solutions and being able to narrow down the best option that meets the client s requirements
Resolving issues that are raised during code/review, through exhaustive systematic analysis of the root cause, and being able to justify the decision taken
Understands the SDLC and has experience working in an Agile Scrum development environment
Lifelong learner that shares and teaches what you learn