- B.S. in computer science, computer engineering, or electrical engineering
- 3-5 years’ experience in firmware/software development
- 3+ years developing in embedded C
- Experience with board bring-up (some EE knowledge)
- Design and implement embedded firmware from concept to production, including a high level of interaction with electronic hardware engineers, SW engineers, systems engineers, and project leader
- Comfortable conforming to code standards; comfortable with design and code reviews
- Experienced and engaged in the Agile SW development process
- Experience with Jira a plus
- Experience in multi-threaded programming, real-time programming, cross-platform, and cross-language development
- Experience with Bluetooth communications preferred
- Experience with range of microcontroller/microprocessor architectures, RTOS, and other operating systems on new platforms
- Strong technical background in programming fundamentals and software architecture development
- Experience with software development processes integrated with source control and issue-tracking systems, such as GitHub and Jira
- Some experience in software test planning, documentation, and process improvement
- Some experience in development for low-level operating systems (drivers, high-speed communication, etc.)
- Familiarity with software application development in C#, Java, or similar high-level languages
- Experience with medical device development process a plus
- Good spoken and written English skills
- Must be currently authorized to work in the US
Note: this job may have additional requirements and qualifications. You may obtain the complete, official job description by requesting it from the hiring manager during the application/interview process.
We are looking for a Software Developer with a genuine passion for software and firmware development, strong logical and analytical reasoning, and a desire to acquire new software skills and technologies. Someone who enjoys the challenges of and can work across all areas of software development is a must.
In this role, you will contribute to every phase of the product development life cycle – not only on the projects to which you are assigned, but as a consultant, reviewer, or subject-matter expert for other ongoing projects. This is truly an opportunity to apply your skills at the highest level as part of a team of expert-level engineers.
RESPONSIBILITIES
- Code specification, design, coding, and software V&V for new product development efforts in the medical device, life science and/or commercial industries
- You will have direct exposure to our clients and will be expected to exhibit a high degree of professionalism and competence
- You will be part of a talented group of senior-level software architects and developers and will be expected to be equally effective as either an individual contributor or on a project team
QUALIFICATIONS
Minimum:
- B.S. or advanced degree in Computer Science, Computer Engineering, Electrical Engineering or equivalent discipline with industrial experience in software development
- 3-5 years of development experience with OO languages
- Expert C#, .NET Core with some database knowledge
- Experience with Model-View-Viewmodel (MVVM) & other design patterns
- Ability to write unit tests, conform to code standards, and have your designs and code reviewed
- Ability to use both static analysis and performance analysis tools
- Experience with software development processes integrated with source control and issue tracking systems like GitHub
- Practices SOLID Agile development using Jira to track issues and sprints
- Ability to communicate effectively in English
- Must be currently authorized to work in the US
Preferred:
- Experience with UI development
- Experience with ORM packages such as Entity Framework
- Experience with mocking frameworks and test-driven-design
- Experience developing automated tests and automation infrastructure
- Experience in software test planning, documentation, and process improvement
- Experience with at least one other development language/platform – preferably Python
- Breadth of experience in Windows development including lower levels of OS (drivers, high-speed communication, etc.)