Engineer II (Software Engineer)

JOB DESCRIPTION
• The position is for an experienced software engineer for design and implementation of software applications for unmanned aerial systems
• The position will be responsible for complete SDLC for software development and requires close interactions with domain experts in computer vision, machine learning and control systems
• The position is for a developer role who will translate algorithm & functionality building blocks and components (requirements) to software code, integrate the functional components in the architectural framework
• The position will be responsible for complete software development including requirements analysis, design, implementation, unit test, integration
• Translate requirements into optimal software designs & implementation through constant sync up with domain experts (in computer vision, machine learning, and controls)
• Design adoption in terms of UML diagrams, architectural diagrams, state-machines, flow-charts.
• Develop product specifications with attention to safety criticality, robustness & reliability, extendibility & flexibility
• Develop high quality, secure, scalable software solutions based on technical requirements specifications, robust quality, expected timelines and budget
• Assist team members in the development of applications, components, system to system interfaces and complete software solutions
• Evaluate and recommend tools, technologies, and processes to ensure the highest quality product platform
• Evaluate existing computer vision software designs to identify areas for improvement, modularization
• Collaborate with V&V team for software testing and quality assurance
• Maintain thorough documentation of software implementations as per SDLC process
• Minimum 5+ years’ of proven experience as software engineer
• Minimum 5+ years’ hands-on programming experience in C, C++
• Experience in C# and Python will be an added plus
• Excellent knowledge of software and application design, design patterns and principles
• Solid understanding of software engineering principles, object-oriented programming and data structures
• Hands-on programming experience on real-time systems of more than 3 years
• Basic understanding of linear algebra and probability theory
• Familiarity with application software development as well as embedded software development
• Proficient understanding of any one of the code versioning tools (Git, SVN, and Mercurial)
• Familiarity with formal change control and support processes (JIRA, BitBucket, Scrum etc.)
• Understanding of V&V approaches and software quality assurance principles
• Experience in image processing would be a big plus
• Experience in mechatronics / robotics / avionics systems would be a big plus
• A technical mind set with great attention to details and innovation
• Customers: Competence to build and effectively manage interpersonal relationships at all levels with different clients and vendors
• Business Team: Work closely with business team to understand the needs and deliver by maintaining harmonious relationship
• Willingness to take-up challenging problems
• Displaying Integrity & Ethics and taking initiative & ownership
• Dreamer, creative, passionate, self-motivated & self-starter
• Actively listen to others and demonstrate understanding of other points of view
• Showcase likeliness to adjust to changing conditions or priorities
• Consistently provide ideas, opinions, or information in a professional way

Skills: C++ Python
Experience: 5-10 Years
jobLocation: Mumbai

Apply for this position

Allowed Type(s): .pdf, .doc, .docx, .rtf