We are looking for a highly experienced C++ senior developer to produce scalable, dynamic, highly interactive and user-friendly software solutions. You will contribute to the development of our innovative and market-leading clinical development product suite that helps our customers to design, model, and simulate complex innovative clinical trials with the potential to create significant value for sponsors and patients by increasing their probability of success and accelerating time to market.
A key feature of such software products is our proprietary "engines" - software components that implement sophisticated and advanced statistical/mathematical algorithms (e.g. simulations of complex adaptive trials) for our cloud-hosted and on-premise software products.
As senior engine developer, you will be responsible for developing such engines in languages such as C++, R or Python for our cloud-hosted and on-premise software products.
You will be a part of a cross-functional team that is responsible for the full software development life cycle, from conception to deployment. You should be a team player with the experience of guiding a few junior developers.
ShortDescriptionStr
Role: Software engineer II Join us in playing an important part in helping our clients drive healthcare forward and ultimately improve human health outcomes! As a senior developer in next generation, data-driven pharmaceutical services, Cytel is shaping the future of drug development. We deliver innovative analytical software for statistical analysis and simulation, best-in-class data science analytics services, and high-end statistical consulting. Our culture is inclusive, collaborative, and results-driven with a shared commitment to quality. With operations across North America, Europe, and India, Cytel hires passionate and talented people who share its mission of ensuring the clinical development of safe and effective medicines.
Qualifications, Skills and Experience:
3+ years of core programming experience as a C++ developer with strong knowledge of OOAD principles and design patterns
Strong knowledge of Applied Mathematics (numerical methods, calculus, linear algebra, mathematical modeling, statistical methods, optimization, etc.)
Strong knowledge of algorithmic / scientific computing
Quick learner with strong numerical & verbal aptitude, logical reasoning and analytical ability
Knowledge of Windows, UNIX and LINUX environments Strong experience of developing high performing applications with knowledge of multithreading and parallelization as well as distributed computing
Knowledge of tools used for code profiling, unit testing, detecting memory leaks and overruns Strong knowledge of practices like automated unit testing, code reviews and following coding guidelines
Strong knowledge of source control and versioning tools like BitBucket, Git, SVN, etc.
Experience working with Agile frameworks like Scrum
Strong verbal and written English communication skills
Self-driven with ability to think creatively and solve complex problems
Bachelor's / Master's degree in Computer Science & Engineering (CSE) or equivalent STEM degree
Optional Skills and Experience (preferred but not mandatory):
Familiarity with statistical or scientific software like R/SPSS/MATLAB/Mathematica
Experience in Python / R programming
Familiarity with C#.NET
Knowledge of scientific graphics
Experience of developing microservices and REST APIs
Familiarity with Jira, Confluence and Bamboo
Familiarity with cloud platforms like AWS, Azure, etc.
Experience of guiding / coaching junior developers
Knowledge of some relational or NoSQL databases
InternalQualificationsStr
Qualifications, Skills and Experience:
3+ years of core programming experience as a C++ developer with strong knowledge of OOAD principles and design patterns
Strong knowledge of Applied Mathematics (numerical methods, calculus, linear algebra, mathematical modeling, statistical methods, optimization, etc.)
Strong knowledge of algorithmic / scientific computing
Quick learner with strong numerical & verbal aptitude, logical reasoning and analytical ability
Knowledge of Windows, UNIX and LINUX environments Strong experience of developing high performing applications with knowledge of multithreading and parallelization as well as distributed computing
Knowledge of tools used for code profiling, unit testing, detecting memory leaks and overruns Strong knowledge of practices like automated unit testing, code reviews and following coding guidelines
Strong knowledge of source control and versioning tools like BitBucket, Git, SVN, etc.
Experience working with Agile frameworks like Scrum
Strong verbal and written English communication skills
Self-driven with ability to think creatively and solve complex problems
Bachelor's / Master's degree in Computer Science & Engineering (CSE) or equivalent STEM degree
Optional Skills and Experience (preferred but not mandatory):
Familiarity with statistical or scientific software like R/SPSS/MATLAB/Mathematica
Experience in Python / R programming
Familiarity with C#.NET
Knowledge of scientific graphics
Experience of developing microservices and REST APIs
Familiarity with Jira, Confluence and Bamboo
Familiarity with cloud platforms like AWS, Azure, etc.
Experience of guiding / coaching junior developers
Knowledge of some relational or NoSQL databases
InternalResponsibilitiesStr
Implement statistical / mathematical algorithms for on-premises or cloud-hosted applications in C++ ensuring high performance and quality.
Work with developers, architects, UX designers and product owners/managers to ideate software solutions
Work with the architects to design backend computational modules / services / APIs, maintain design artifacts and help ensure testability and other applicable non-functional requirements
Ensure engine code maintainability, modularity and high performance by reviewing the implementation regularly and refactoring the code base as needed to keep technical debt low
Ensure high code quality by performing automated unit testing with high code coverage, regular code reviews and following coding guidelines and good coding practices
Participate in design discussions and help ensure testability and other applicable non-functional requirements.
Prepare all necessary code, design, and other technical documentation
Guide junior developers on good coding practices. Review their work for quality and completeness.
Master Cytel's SDLC processes and ensure they are followed well by the team. Prepare relevant SDLC documentation and face process audits
Monitor, track, and manage project risks proactively
Make technical presentations at internal / external forums, learn about emerging trends / methodologies / technologies and share knowledge with others in the team
ExternalResponsibilitiesStr
Implement statistical / mathematical algorithms for on-premises or cloud-hosted applications in C++ ensuring high performance and quality.
Work with developers, architects, UX designers and product owners/managers to ideate software solutions
Work with the architects to design backend computational modules / services / APIs, maintain design artifacts and help ensure testability and other applicable non-functional requirements
Ensure engine code maintainability, modularity and high performance by reviewing the implementation regularly and refactoring the code base as needed to keep technical debt low
Ensure high code quality by performing automated unit testing with high code coverage, regular code reviews and following coding guidelines and good coding practices
Participate in design discussions and help ensure testability and other applicable non-functional requirements.
Prepare all necessary code, design, and other technical documentation
Guide junior developers on good coding practices. Review their work for quality and completeness.
Master Cytel's SDLC processes and ensure they are followed well by the team. Prepare relevant SDLC documentation and face process audits
Monitor, track, and manage project risks proactively
* Make technical presentations at internal / external forums, learn about emerging trends / methodologies / technologies and share knowledge with others in the team
MNCJobsIndia.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.