Senior Software Engineer
EXPERIENCE
- 8+ years embedded software development experience.
- Strong software development skills, with proficiency in C++/Python
- Solid understanding and experience in design patterns, data structures and advanced programming techniques.
- Experience with common development tools: environments, compilers, build management software, debugging and source control tools, etc.
- Strong interpersonal skills with ability to work collaboratively with cross-functional teams to build consensus and establish common goals.
- An insatiable intellectual curiosity and the ability to learn quickly in a complex space.
Preferred:
- Experience with UNIX/Linux and shell scripting strongly preferred.
- Knowledge of Python data analysis libraries–Panda or Beautiful Soup–is a strong plus.
- Proficiency in data engineering-data parsing, web scraping, data transformation, data integration, etc.- is a strong plus.
- Experience working with RESTful API and general service-oriented architectures.
- Experience with one or more: TDD, Unit Test, continuous integration and delivery.
- Experience with distributed real-time software.
- Familiarity with real-time operating systems such as QNX.
- Familiarity with RTI DDS and other common networking protocols.
- Experience performing risk management analysis of software (e.g. SW FMEA).
- Familiarity with Agile development methodology.
KNOWLEDGE, SKILL, AND ABILITY
- Extensive experience in firmware development preferably in medical devices domain
- Strong design and development experience , Advanced C++ is preferable.
- Software Unit testing knowledge
- Embedded application development experience is required.
- Should be familiar with X86 and ARM microprocessor architectures.
- Candidate should be knowledgeable and have experience in software engineering processes and software life-cycle in general.
- Object-Oriented Design and Implementation is required.
- Good understanding of multithreading in both, design and implementation
- Experience with projects that require hardware /software interfacing
- Working knowledge of Linux, VxWorks and QNX operating systems are preferable
- Knowledge of basic communication protocols like serial and wireless
- Medical instruments development experience is preferable
- Experience with a documented software development processes or familiarity with FDA and ISO standards like IEC 62304 is a plus
- Good communication skills
- Good team player
EDUCATION
- Required: - B.E or B.Tech in Computer Sciences, Electronics or Electrical Engineer.
- Preferred: - M.E or M.Tech in Computer Sciences, Electronics or Electrical Engineer.
SHORT-TERM SUCCESS METRICS (6-12 MONTHS)
- Demonstrate strong analytical, programming and debugging skills
- Demonstrate strong design and development skills
- Demonstrate strong knowledge on tools and technologies
- Establish trusting relationship with the team and other stakeholders
- Demonstrate problem solving capabilities.
- Deliver on project commitments.
LONG-TERM SUCCESS METRICS (1+ YEAR)
- Learn and demonstrate Product and Domain understanding
- Demonstrate solid understand of Software Development Lifecycle
- Consistently deliver on Project commitments