Works in collaboration with the engineering team, product management and marketing to understand the needs of the customer and develops workable engineering solutions to enable user-friendly product design.
In conjunction with the Software Engineering Manager, establishes clear engineering project milestones and deadlines and drives to meet those objectives.
Participates in cross-engineering project teams with hardware engineers to ensure projects are delivered on time and meet the expectations of customers.
Develops, tests, and documents software systems to specification.
Complies with internal and external standards.
Performs peer reviews of team members- designs, code, and documentation.
Carries out other duties as assigned as business needs require.
BS degree in Computer Science or related field. A relevant Associate's degree with substantial experience will be considered.
Five or more years of professional experience developing complex software systems on multiple platforms.
Strong command of the C programming language.
Experience programming applications for embedded systems within a real-time operating system.
Deep knowledge of the Linux kernel, driver development and applications. Ability to work with multiple Linux distro.
Deep knowledge and experience with cellular technologies.
Knowledge of embedded system hardware and electronics.
Ability to develop highly reliable and robust software.
Experience developing test applications, and knowledge of automated test frameworks, techniques and tools.
Experience with Agile methodologies.
Experience with software engineering tools for design documentation, revision control, issue tracking, and project scheduling. Ability to take initiative and carry out project tasks with minimal supervision.
Demonstrates oral and written communication skill to effectively interface with management and staff, customers and outside business contacts. Basic understanding of Microsoft Office applications.
Proficiency with English language for both written and verbal communication.
Strong problem solving skills, attention to detail, and the ability to work as a team member to creatively and cooperatively solve problems and complete tasks.