Location
This is a hybrid in-office role; NJ or NY
Medidata follows a hybrid office policy in which employees who are hired for an in-person position are expected to work on site a certain number of days per week following Company policy.
About our Company
Medidata is powering smarter treatments and healthier people through digital solutions to support clinical trials. Celebrating over 25 years of ground-breaking technological innovation across more than 38,000 trials and 12 million patients, Medidata offers industry-leading expertise, analytics-powered insights, and one of the largest clinical trial data sets in the industry. More than 1 million registered users across approximately 2,300 customers trust Medidata's seamless, end-to-end platform to improve patient experiences, accelerate clinical breakthroughs, and bring therapies to market faster. A Dassault Systèmes brand (Euronext Paris: FR0014003TT8, DSY.PA), Medidata is headquartered in New York City and has been recognized as a Leader by Everest Group and IDC. Discover more at www.medidata.com. Listen to our latest podcast, from Dreamers to Disruptors, and follow us at @Medidata.
About the Team
Medidata's Product Organization is staffed with a passionate team of product management experts, tackling the industry's most difficult technical challenges in order to push the boundaries of possibility for our clients and most importantly, for patients. Together we can deliver meaningful advanced digital transformation to the industry in order to achieve our vision.
Medidata is seeking an experienced Principal Software Engineer to develop the next generation of Medidata's software applications. While working in a collaborative, cross-functional team environment, you will have the autonomy to build solutions that resolve complex problems and bring to market enterprise grade products offering consumer class experience and design. This role will report to VP, Engineering.
Responsibilities
- Direct the long-term technical evolution and architectural strategy for the Study Experience, ensuring tight alignment with core product objectives and business initiatives.
- Architect and deploy sophisticated distributed environments designed for high availability, robust security, and cost-efficiency under heavy operational loads.
- Orchestrate engineering efforts across multiple domains by clarifying ambiguous requirements, finalizing technical compromises, and enabling seamless cross-team integration.
- Establish the foundational engineering benchmarks and shared infrastructure patterns—including libraries and frameworks that optimize developer velocity.
- Manage architectural oversight by facilitating design consultations, documenting RFCs and ADRs, and serving as the final authority on critical technical choices.
- Drive innovation through research and rapid prototyping of emerging capabilities such as AI/ML and edge computing and transition successful experiments into production.
- Consult with senior executives and product leadership to translate high-level goals into technical roadmaps while maintaining transparency regarding risks and investment costs.
- Cultivate the growth of Senior and Staff-level engineers, elevating the organization's collective expertise in design philosophy and operational trade-offs.
- Champion operational excellence by implementing SLOs, observability standards, and incident response protocols while optimizing cloud expenditure.
Position Requirements
- Extensive background in distributed systems, encompassing consistency models, fault-tolerant design, and event-driven architectures for high-throughput environments.
- Proven success in delivering large-scale production systems - characterized by multi-region deployments or massive data volumes that drive business impact.
- Sophisticated understanding of Object-Oriented and functional paradigms, Domain-Driven Design, and the integration of heterogeneous legacy environments.
- Adept at providing technical leadership through influence, aligning diverse stakeholders across engineering, product, and executive teams on complex decisions.
- Demonstrated commitment to mentorship, specifically in scaling the capabilities of senior-level technical talent.
- Superior judgment regarding "build vs. buy" scenarios, the management of technical debt, and balancing immediate needs with long-term investments.
- Exceptional communication skills, with experience authoring architectural RFCs, strategic documentation, and executive-level briefings.
- Results-oriented mindset with a systems-thinking approach and a focus on planning for future scalability.
- Ability to thrive in high-stakes, ambiguous environments by converting vague challenges into structured, actionable workstreams.
Education / Experience
- Advanced degree (B.S., M.S., or Ph.D.) in Computer Science or a related technical field, or equivalent real-world experience.
- At least 12 years of software engineering experience, including a minimum of 5 years at a Staff or Principal level.
- Proven track record of managing the entire lifecycle of business-critical platform systems, from inception to long-term maintenance.
- Experience leading multi-team technical initiatives that deliver measurable value to the organization.
- Ability to communicate technical strategy to executive leadership and a history of developing high-level technical talent.
Required Skills
- Expertise in at least one modern programming language (Python, Java, .NET, TypeScript, or Go), including a deep understanding of runtime internals.
- Comprehensive AWS experience, covering compute (EKS, Lambda), storage (DynamoDB, Aurora), messaging (Kafka, SNS/SQS), and advanced networking/IAM.
- Practical experience managing Docker and Kubernetes in production, specifically regarding multi-tenant isolation and autoscaling strategies.
- Strong proficiency in API design (REST, GraphQL, gRPC) and asynchronous patterns, with a focus on versioning and backward compatibility.
- Experience with modern frontend architectures, including React or Angular, BFF implementations, and micro-frontend patterns.
- Mastery of CI/CD and release engineering, utilizing deployment techniques like canary releases, feature flags, and comprehensive automated testing.
- Operational expertise in observability, including distributed tracing, SLI/SLO definition, and lead participation in blameless postmortems.
- Deep focus on application and infrastructure security through threat modeling, secure SDLC, and zero-trust architectural patterns.
- History of defining and upholding rigorous engineering standards, code quality benchmarks, and a healthy peer-review culture.
- Proficiency in Infrastructure as Code (Terraform, CDK) and GitOps methodologies.
Preferred Skills
- Specialized experience operating large-scale microservices and streaming platforms using Kafka or EventBridge.
- Hands-on experience with diverse data technologies, including relational, NoSQL, and time-series