Analyze requirements and propose technical solutions in delivering projects within expected parameters of cost, time and quality
Work with project managers to compile a work breakdown structure of tasks for a given deliverable and provide realistic estimates for completing the assignment
Develop and unit test all functions created or modified according to software development best practices
Collaborate with other Developers and QA Engineers to execute full cycle integration, functional and regression testing. Own and resolve all priority defects identified within the developer's codebase in a timely fashion
Promote software changes across all environments, safely and responsibly, through to Live Production
Provide on-call technical support during business and, occasionally, off hours depending on rotation and/or subject-matter expertise on a given component
Participate in team exercises to identify and implement areas for continuous improvement
Knowledge and Experience
2+ years hands on experience in C/C programming language on Linux
Experience with C unit testing frameworks and continuous integration (CI) tools
Experience with code analysis and coverage tools (similar to Coverity, Valgrind/Helgrind, gcov/lcov, etc.)
Minimum 1+ years hands on scripting experience
Strong understanding of TCP/IP and Multicast network protocols
Strong multithreading and performance-oriented programming skills
Bachelor's degree in Computer Science or Engineering.