Cytel provides unrivaled biostatistics and operations research knowledge to our customers in the life sciences industries in the form of both software and services. At Cytel, we work hard to create successful careers with significant professional growth for our employees, as a result of which they work hard to make Cytel successful. Cytel is a place where talent, experience and integrity come together to advance the state of clinical development.
We are looking for a highly experienced C++ Dev Lead 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 an Engine Dev Lead, 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 also lead 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 leading a few junior developers.
Summary of Job Responsibilities:
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, help ensure testability and other applicable non-functional requirements.
Prepare all necessary code, design and other technical documentation
Lead a Scrum project team of 6-8 developers and testers within a larger Scaled Agile program to deliver the project on time and on budget with high quality and low technical debt
Work with Architects, Program Management, Engineering Management and other stakeholders to ensure the project team has all the necessary resources and information available, and any impediments faced by them are quickly resolved
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
Qualifications, Skills and Experience:
At least 5 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 Jira, Confluence and Bamboo
Experience in Python / R programming
Familiarity with C#.NET
Knowledge of scientific graphics
Experience of developing microservices and REST APIs
Knowledge of some relational or NoSQL databases
Familiarity with statistical or scientific software like R/SPSS/MATLAB/Mathematica
Familiarity with cloud platforms like AWS, Azure, etc.
Experience of guiding / coaching junior developers
What’s in it for you:
You will have the opportunity to play an integral role helping our clients and the industry shape the future of drug development
You will be part of an exciting new chapter in Cytel’s history with high growth and opportunities
Work in an environment designed for an entrepreneurially minded person with a lot of energy, ideas, and the courage to implement
Work with and leverage the best and brightest minds in the industry