Contract to Hire, Converting 5-6 months into the assignment. This is a permanent job long term.
Senior Software Engineer
Your primary responsibility is to participate in the entire software development lifecycle which includes reviewing requirements, doing design, implementing the design, unit testing and integration testing. This position is expected to function in a leadership role on a design team and will provide mentoring to less experienced engineers. You will also be expected to lead planning sessions for simple projects. You will also investigate design approaches and evaluate technical feasibility. To enable UX/UI design you may also be required to create wireframes to enable things such as A/B testing. Loves all aspect of software development and relishes creating products via software that delights our customers. You will be required to visit clinical environments to ensure you have a sound understanding of the clinical context.
ESSENTIAL DUTIES AND RESPONSIBILITIES
- Design, develop and maintain large scale and distributed systems software.
- Leads design teams and mentors junior engineers.
- Leads integration efforts on simple projects.
- Investigates design approaches, prototypes concepts and evaluates technical feasibility.
- Continuously monitors industry for best practices and drives a culture of engineering excellence.
- Works in an Agile/Scrum environment and delivers highest quality software against aggressive schedules.
- Embraces engineering processes not just for compliance but because they drive improvements in quality, better customer experience and better product/market fit.
- Knows the value of robust design, unit testing, code review and integration testing and ensures these engineering practices are always followed.
- Creates requirement documentation and when possible automates the process of creating documents using tools such as Doxygen.
REQUIRED QUALIFICATIONS, EDUCATION and/or EXPERIENCE
- 5-8 years of experience in a software engineering role.
- Very strong knowledge of C++ and other object oriented languages.
- Strong knowledge of Linux operating systems including internals of Linux.
- Has worked in an Agile/Scrum environment.
- Demonstrated ability to lead design and integration teams.
- Strong background in computer vision.
- Strong knowledge of software tools such as GIT, JIRA and build tools such as Make and CMake.
- Proven expertise in leveraging design patterns.
- Strong ability to describe design using UML.
- Works very well in a collaborative, fast paced, multidisciplinary environment, and thrives under pressure.
- Has a healthy risk taking appetite and shows the courage to fail early and cheap.
- Excellent written and verbal communication skills. Strong planning skills.
- Is able to visit clinical sites to understand the clinical context in which our products are used.
- Has the ability to simplify complex situations so that junior team members and other stakeholders do not get overwhelmed.
- Has a positive can-do attitude and inculcates the same with other team members.
- Is able to work very well with geographically distributed teams and can work with teams from a very diverse background.
- Bachelor's degree in Computer Science, Computer Engineering or Electrical Engineering, or related fields preferred, or commensurate experience.