Radu Vanciu Ph.D.

Ann Arbor, Michigan

Senior Software Engineer and data scientist with a demonstrated history of developing micro-services and data analysis pipelines. I contributed to projects are used by thousands of life scientists to gain insights from gene expression data. Designed and regularly maintained a knowledge base with biomedical data collected from various data sources. Proficient in supporting project deliverables and maintaining releases, I deployed micro-services and data processing pipelines with AWS cloud technology. I strive for quality and maintainability of the source code to reduce the cost of software maintenance, increase security, and ease program comprehension.


Experience

Software Architect Sr./ Senior Technical Architect

ProQuest part of Clarivate, Ann Arbor MI
  • Transitioned ETL pipelines from an on-premises deployment to AWS, updating from Perl and Java 8 to Java 17 for improved efficiency and scalability. The updated pipeline dynamically scales to process up to 30 million documents daily.
  • Promoted agile methodologies and advocated for clean coding standards, leading to maintainable, testable code. Achieved 70%-80% test coverage through rigorous unit and integration testing.
  • Reeningeered data mapping rules for XML documents from Altova MapForce to Kotlin to ease deployment, maintenance and comprehension.
  • Used state-of-the-art tech stack, including microservices and Docker containers deployed on AWS Elastic Container Services (ECS) with Java 17 and Kotlin.
  • Enhanced a user interface in Angular 16 and TypeScript for managing and auditing the ETL pipeline.
  • Advocated for and implemented enhanced observability and monitoring of the deployed ETL pipeline using Datadog, resulting in a remarkable 10x increase in query performance in collaboration with the DBA team.
  • Showcased AWS cost optimization strategies and introduced new functionalities available in Java 21 during presentations at ProDevDay and a virtual lunch-and-learn webinar.
January 2022 - present

Software Engineer Sr.

ProQuest, Ann Arbor MI
  • Part of a team of 6, reengineered extract transform load (ETL) pipelines to increase throughput to 20M documents daily. Explored cost effective solutions focused on automation, auditing and scalability.
  • Improved software development process, promoting agile methodology and established clean code practices. The results were testable code easy to maintain alongside automated unit and integration tests with 70% - 80% coverage in Jenkins CI/CD.
  • Used state-of-the-art tech stack to design and develop cost effective solution, including microservices and Docker containers deployed on AWS ECS, Java 14 and Python 3.8.
  • Developed a user interface in Angular 11 and TypeScript for managing and auditing the ETL pipeline.
  • Presented new features in Java 14 at ProQuest developer day and virtual lunch-and-learn webminar.
April 2020 - December 2021

Head of Development / Senior Software Engineer

Advaita Bioinformatics, Ann Arbor MI
  • Recruited, trained and supervised developers and interns on company standards for design and code review.
  • Contributed to a Small Business Innovation Research (SBIR) grant that was awarded to the company. I was listed as key personnel responsible for prototype implementation and gathering preliminary results.
  • Collected requirements from user stories and created SMART development tasks easier to estimate.
  • Designed implemented microservices deployed to AWS. Major new updates deployed every 4-5 months.
  • Managed and maintained company AWS resources, keeping the cost within budget.
  • Designed and implemented a new module that allows users to understand the disease or drug mechanism by exploring direct or indirect gene-to-gene, chemicals-to-gene, and gene-to-GO interactions.
  • Designed and implemented a new module that life scientists can use for drug repurposing and discovery.
  • The microservices are released under the iPathwayGuide platform.
June 2018 - March 2020

Software Developer / Research Associate

Advaita Bioinformatics, Plymouth MI
  • Developed scalable microservices for processing and querying millions of variants stored in relational database with tables with a dynamic structure provided in the input file. The microservices are released under the iVariantGuide platform.
  • Discovered some of the limitations of Spring-Data, and consequently adopted Java Object Oriented Querying (jOOQ) to build type safe SQL queries from Java.
  • Consolidated my skills on: micro-services using Spring Cloud, code review, AWS, Docker, integration testing with Docker, and the noSQL side of PostgreSQL.
  • Developed a microservice for browsing 30M medical publications and associations to genes, chemicals, and variants. Built an ETL pipeline that can update the data weekly or when new data becomes available.
  • Trained 5 teams of senior students developing microservices for their capstone projects.
June 2015 - May 2018

Software Developer / Postdoctoral Fellow

Wayne State University, Detroit MI

Applied my software engineering expertise to reduce the cost of developing bioinformatics tools and databases. Learned and applied Git, GitFlow process and continuous integration and deployment with Jenkins.

April 2014 - May 2015

Graduate Research Assistant

Wayne State University, Detroit MI

Implemented and evaluated several research prototype tools that are referenced in publications. Supervised undergraduate students working on research projects.

  • Research aims were to ease program comprehension and reduce the cost of software maintenance and security. Worked with loosely defined and open-ended projects and presented the results at software engineering conferences.
  • Ph.D. dissertation: Designed and developed a static analysis for finding security vulnerabilities in Java applications. The dissertation started with a soundness proof at the theoretical level, then implemented the analysis in Java as an Eclipse plugin and evaluated it on finding security vulnerabilities in Android apps.
  • The master thesis project was a novel method to find hidden dependencies in software. It combined formal logic of preconditions and postconditions and dynamic analysis based on program execution traces.
August 2010 - March 2014

Graduate Teaching Assistant

Wayne State University, Detroit MI

Courses: Software Engineering, Algorithms, Introduction to Computer Science. Designed lab materials in Java and C++ consisting of well defined tasks on open source projects.

August 2006 - May 2012

Education

Wayne State University, Detroit MI

Doctor of Philosphy in Computer Science and Software Engineering

Dissertation: Static Extraction Of Dataflow Communication For Security

Advisor: Dr. Marwan Abi-Antoun

August 2006 - April 2014

Wayne State University, Detroit MI

Master of Science in Computer Science and Software Engineering

Thesis: Revealing Hidden Dependencies in Software Systems

Advisor: Dr. Václav Rajlich

August 2006 - December 2009

Babes-Bolyai University, Cluj-Napoca, Romania

Bachelor of Science in Mathematics and Computer Science
October 2002 - July 2006

Skills

Programming Languages & Tools
  • Extract Transform Load (ETL) and microservices and REST API: Java, Kotlin, Maven, Gradle, Spring-Boot, Amazon Web Services, Docker
  • SaaS, microservices and REST API: Java, Maven, JOOQ, Spring-Boot, Spring-Data-Rest, Spring-Cloud for Amazon Web Services, Spring-Security OAuth2, Docker
  • Relational databases: SQL, Oracle, MySQL, PostgreSQL, including NoSQL side with JSON and text search types, database version control using Flyway
  • Cloud Computing using Docker and Amazon Web Services: ECS, RDS, SQS, SNS, S3, EC2, VPC
  • Front-end development: Angular, TypeScript, AngularJS, JavaScript, d3.js, cytoscape.js, Bootstrap, Angular Material
  • Graph databases: Neo4j and Cypher query language
  • Data analysis and ETL: R statistical language, Shell scripting, Python, pgloader, Spring-Batch
  • Agile Software Development: Scrum & Kanban, Git, GitFlow, Jira, code review
  • Continuous Integration and deployment: Jenkins, Bamboo

Publications

  • Draghici S., Nguyen, T., Sonna, L., Ziraldo, C., Vanciu, R., Fadel, R., Morrison, A., Kenney, R., Alangaden, G., Ramesh, M. and Mor G. COVID-19: disease pathways and gene expression changes predict methylprednisolone can improve outcome in severe cases, Bioinformatics, Volume 37, Issue 17, 2021, pp. 2691–2698.
  • Vanciu, R. and Abi-Antoun, M. Finding Architectural Flaws Using Constraints. In IEEE/ACM Conference on Automated Software Engineering (ASE 2013), Silicon Valley, CA, USA.
  • Vanciu R. and Abi-Antoun M. Finding Architectural Flaws in Android Apps Is Easy. In ACM Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH 2013). Tool Demonstration.
  • Vanciu R. and Abi-Antoun M. Extracting Dataflow Objects and other Flow Objects. In International Workshop on Foundations of Object-Oriented Languages (FOOL 2013).
  • Vanciu, R. and Abi-Antoun, M. Object Graphs with Ownership Domains: an Empirical Study. In Springer LNCS vol. 7850 Aliasing in Object-Oriented Programming. Types, Analysis and Verification, pp. 109 - 155, 2013.
  • Abi-Antoun, M., Vanciu, R. and Ammar, N. Metrics to Identify Where Object-Oriented Program Comprehension Benefits from the Runtime Structure. In International Workshop on Emerging Trends in Software Metrics (WETSoM 2013),  pp. 42-48.
  • Vanciu, R. and Abi-Antoun, M. Ownership Object Graphs with Dataflow Edges. In Working Conference on Reverse Engineering (WCRE 2012), Kingston, ON, Canada. pp. 267 - 276  This paper has a companion technical report that includes a soundness proof.
  • Vanciu, R. and Rajlich, V., Hidden Dependencies in Software Systems, in IEEE International Conference on Software Maintenance (ICSM 2010), Timisoara, Romania, pp. 1-10.
  • Petrenko, M., Rajlich, V., Vanciu, R., Partial Domain Comprehension in Software Evolution and Maintenance, in IEEE International Conference on Program Comprehension (ICPC 2008), Amsterdam, The Netherlands, pp.13-22.
Google Scholar profile

Awards

  • May 2012 — Travel Scholarship for attending QoSA 2012 - Wayne State University 
  • August 2010 — Selected to receive funding from National Science Foundation award to attend ICSM 2010
  • August 2010 — Travel Scholarship for attending ICSM 2010 - Wayne State University
  • June 2010 — Travel Scholarship for traveling to ICPC 2010 - Wayne State University
  • April 2008 — Graduate Teaching Assistant Award from Department of Computer Science

Industry Projects

Projects I contributed as professional software developer. All projects use Java, Spring Framework and technology listed above in the Experience and Skills sections.

A web application for analysis of differential gene expression data - iPathwayGuide

A web application for analysis of gene expression data used by life-scientists for research purposes. As the senior software engineer, I was leading a team of 3 who designed and implemented two new modules. Customers use the new modules for gene-network analysis, drug discovery and repurposing. As the team lead, I was also responsible for requirements elicitations, estimating effort, and finding cost-effective solutions for deployment on AWS. As a software developer part of a team of 5, I contributed to the implementation micro-services, data analysis and ETL, for parsing input data and integration with 3rd party API. As a research associate, I contributed to a Small Business Innovation Research (SBIR) grant that was awarded to the company. I was responsible for prototype implementation and gathering preliminary results.

A web application for analysis and interpretation of genomic mutations - iVariantGuide

A web application for analysis of genetic data used by life-scientists for research purposes. As the back-end developer, I was part of a team of 5 who implementation several micro-services. I was responsible for the database design, data analysis, and integration with 3rd party API. I was leading a team of 4 who designed and implemented a databases of 30M scientific publications associated to gene and variants data.


Academic Projects

I contributed to several projects during my graduate school. All projects were written in Java.

Extract Dataflow Communication in Java Programs

Developers often create manual dataflow diagrams to reason about the architecture and security risk in their programs. Prone to human errors, such a diagram might omit important dependencies present in the code. The goal of the project is to develop a sound static analysis that extracts a hierarchical object graph with dataflow edges that convey architectural abstractions. Then, machine-checkable constraints executed against the abstract object graph can find architectural flaws. An evaluation on several extended examples adapted from the CERT standard for Java and one Android application was published at IEEE International Conference on Automated Software Engineering: ASE 2013 . Source code is available on GitHub .

Revealing Hidden Dependencies in Software Systems

The goal my master thesis project is to reveal a new category of dependencies called hidden dependencies that exists between methods aparently independent of each other and can be used as a replacement for dataflows. The project is using dyanmic execution traces and invariants produced by Daikon invariant detector and Simplify theorem prover . A prototype implementation was evaluated on JUnit 4.4, Drawlets 2.0, and Apache FtpServer and published as a conference paper at IEEE Internatioal Conference on Software Maintenance: ICSM 2010 .

JRipples - a tool for Incremental Change

JRipples is based on the philosophy of “intelligent assistance”, which requires a close cooperation between the programmer and the tool while changing existing software. While the programmers focus on implementation of new functionality, JRipples estimates the impact of the change and keeps developers organized during change propagation. JRipples is implemented as a plug-in for the Eclipse platform. The tool was originally developed by Maksym Petrenko. I maintained JRipples together with Chris Dorman.


Volunteer

Global Mentorship Initiative - 2022, 2023

Wayne State Industry Mentors - 2023

Provide guidance and business skills to colleague students at the start their career.

Interests

Apart from being a software engineer, I enjoy my time being outdoors, gardening.

When indoors, I follow a number of movies and television shows, and Formula 1. I like to cook, and I spend a large amount of my free time exploring the latest technology advancements.