Staff Software Engineer
o Design, implement and unit test critical software solutions for embedded product
o Drive, and influence architectural and design decisions within the team and in the wider, distributed engineering organisation
o Work closely with stakeholders including product management & professional services teams to understand requirements and deliver product functionality that meets customer needs
o Work closely with other members of the engineering organization on design iterations, code reviews, security, performance, testability, and inter-operability.
o Work closely with Technical Support to resolve customer issues.
o Debug complex problems reported by customers and resolve them with appropriate release vehicles
o Plan work by making accurate estimates and task breakdowns. Meet regular deadlines in an iterative process
o Bachelor's Degree in Computer Science or related field. Master's degree preferred.
o Experience developing scalable, multi-threaded server-side applications.
o Expertise in object oriented analysis and design using Java or C++
o Experienced in creating optimized, high quality code and refactoring code to achieve design and performance goals
o Experience using C in combination with Java/C++ and on its own.
o Be a self-starter and able to work in a disciplined environment that emphasizes quality
o Must be able to multi-task and adjust quickly to shifting priorities
o Experience working in an Agile development environment
o Experience collaborating with a geographically distributed team
o Experience on Windows, Mac and Linux platforms