Execute in a fast-paced delivery mode and focus on delivering tasks to meet the product release goal
Understand the whole product, its modules, and the interrelationship between them while being an expert in the assigned component or module
Work with Product Leaders to understand product requirements & vision
Identify the scope of the work, provide an initial estimate, and justify the estimate with facts
Engage in technical discussions; participate in technical designs, and present technical ideas
Demonstrate the ability to make informed technology choices after due diligence and impact assessment
Drive design reviews, define interfaces between code modules, and apply existing technology to designs
Help in designing interfaces and information exchange between modules
Write code that meets standards and delivers the desired functionality using the technology selected for the project
Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project
Be an expert in assessing application performance and optimizing/improving it through design and best coding practices
Be an expert in core data structures as well as algorithms, and has the ability to implement them using the language of choice
Maintain code quality through best practices, unit testing, and code quality automation
Conduct code reviews and provide mentorship to junior developers
Articulate the need for scalability and understand the importance of improving quality through testing
Be responsible for providing technical leadership and defining, developing, and evolving software in a fast-paced and agile development environment using the latest software development technologies and infrastructure
Seek and provide feedback on design and development
Demonstrate an understanding of Agile software development lifecycle and be able to distinguish the core inputs and outputs in each cycle.
Education Qualification
Bachelor's Degree in Computer Science or “STEM” Majors (Science, Technology, Engineering, and Math) with advanced experience.
Requirements:
Proven experience as a Senior C++ Developer with a strong portfolio of Windows applications.
In-depth knowledge of C++ and Windows API.
In-depth knowledge of Object Oriented Analysis and Design, Software Design Patterns and C++ coding principles
Familiarity with Qt and MFC for developing user interfaces.
Strong experience with multithreading and concurrency.
Proficiency in Windows debugging tools and techniques.
Strong experience with unit testing frameworks and automation testing tools.
Familiarity with version control systems (e.g., Git, SVN).
Strong problem-solving skills and attention to detail.
Excellent communication and teamwork abilities.
Ability to work independently and manage multiple tasks effectively.
Experience with image processing using open-source frameworks like OpenCV.
Knowledge of CPU/GPU programming with CUDA and OpenCL.
Preferred Qualifications:
Working experience in the healthcare industry and the medical device domain is preferred
Experience with other programming languages, such as Python, Perl
Proficiency in web technologies like HTML, CSS, JavaScript, and Node.js.
Knowledge of frameworks such as Angular and React.
Familiarity with databases like MySQL or SQL Server.
Experience with automation frameworks such as Selenium, JUnit, GoogleTest, and PyTest.
Knowledge of software development methodologies (e.g., Agile, Scrum).
Familiarity with UI/UX design principles.
Experience with performance profiling and optimization.
Desired Characteristics:
Able to work under minimal supervision
Strong interpersonal skills and cultural sensitivity to work effectively with global teams.
Ability to communicate clearly and concisely across different time zones.
Flexibility and adaptability to collaborate with team members from diverse backgrounds.
Proactive approach to problem-solving and decision-making.
Open-mindedness and willingness to learn from others.
Ability to manage and prioritize tasks in a remote and distributed work environment.
Skilled in providing oversight and mentoring team members. Shows ability to effectively delegate work
Leadership:
Demonstrates clarity of thinking to work through limited information and vague problem definitions
Influences through others; builds direct and "behind the scenes" support for ideas
Proactively identifies and removes project obstacles or barriers on behalf of the team
Shares knowledge, power, and credit, establishing trust, credibility, and goodwill