Position: Senior Robotics Software Engineer
Company: GlobalLogic
Category: C++
Experience required: 5y
English level: intermediate

Requirements:
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.
 
Job 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.

Project Description:
This is a collaborative opportunity where the individual will work as a member of a scrum team with software engineers, systems engineers, quality and other engineering disciplines. Experience in agile development is a bonus.
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.