TUNG V. N. NGUYEN
Senior Software Engineer | Full Stack Developer | Data
Engineer | EMBL-EBI
Education
PhD in Computer Science
Université de Bordeaux,
Oct 2010 — Feb 2015
Talence, France
Master's in Software Engineering
Université de Bordeaux
Sep 2007 — Dec 2009
Ho Chi Minh City, Vietnam
Bachelor's in Computer Science
University of Quy Nhon
Sep 2000 — Jun 2004
Quy Nhon, Vietnam
Soft Skills
Agile Methodologies, Exhibit Leadership and mentorship, Problem-solving, Time
Management, Priority, Teamwork, Communication, Software Development, Software Architecture
Design, Debugging, Technological literacy, Organisation,
Adaptability, Empathy, Data analysis, Dependability
Hobbies
Badminton
Playing in the regional league as my best strong sport
Swimming
Going to swimming pool every Tuesday with my family
References
Prof Dr Beurton-Aimar Marie
My PhD supervisor, LaBRI, Université de Bordeaux, France
Henning Hermjakob
Group Leader, Molecular Networks, EMBL-EBI, United Kingdom
Dr Rahuman S Malik-Sheriff
Project Leader, EMBL-EBI, United Kingdom
Mihai Glont
Tech Lead, Featurespace, VISA Inc., United Kingdom
(Note: Details of the references are available upon request.)
Summary
With over 20 years of professional experience, I'm driven to leverage
my expertise in full-stack
development, cutting-edge back-end and front-end technologies, cloud-based solutions to drive product innovation.
Enthusiastic, good work ethics, reliable.
Independently and professionally manages BioModels
production system across the large codebase. Good
task prioritisation. Proactive. Very approachable, always
eager to support database curators or external users.
Excellent work in preparing an archival instance of
BioModels in BioStudies, including good collaboration with
BioStudies team. In the process also intensified
collaboration with other EBI resources like EuropePMC,
identifiers.org, and Reactome. I am looking for
my next opportunity as a Senior Software Engineer or
Full Stack Developer, and I'm open to either full-time
or contract arrangements.
Professional Skills
Java ecosystem
- Core Platform Components: Java Virtual Machine (JVM), Java Runtime
Environment (JRE), Java Development Kit (JDK) and Java Standard Libraries (APIs).
- Core Java: OOP, Collections, Generics and Exception Handling.
- Functional Java: Lambda, Streams API, Optional, Method References.
- Multithreading & Concurrency: Virtual threads, Actor
Model (scala), Executors, Thread Contention (volatile, atomic, semaphore), CompletableFuture,
Reactive pipeline, structured concurrency.
- Java EE: Servlets, JSP, JPA, JMS
- Spring Framework: Framework Core, Boot, MVC, Data, Security, JPA
- Grails Framework: Groovy, Framework Core, GORM (Grails Object Relational
Mapping), Domain Classes, Controllers, Services, Tag Libraries, Plug-ins, RESTful Web
Services, Scaffolding, Convention over Configuration, Hibernate, Gradle/Maven, REST API
Development, Groovy DSL, WebFlow, GSP, Grails CLI.
- Persistence & Databases: JDBC, Hibernate, JPA.
- Web Development: REST, JSON, WebSockets.
- Testing & Debugging: JUnit, Mockito, Selenium, Logging (SLF4J, Log4j).
- Build & Deployment: Maven, Gradle, Docker.
- Microservices & Messaging: Spring Boot Microservices, Quarkus, Kafka,
RabbitMQ.
Python, Data Science and AI
- Core Python: standard libraries (IO, Data Structures and Algorithms,
Numerical and Scientific Computing), Concurrency and Parallelism, Networking and Internet
Protocols, Text Processing and Manipulation.
- Utilities: Virtual Environment Management (pyenv, virtualenv, Conda,
Anaconda), Packaging tools (pipenv, poetry, hatch, pdm).
- Tools for Data Science: Pandas, Numpy, Matplotlib, Plotly, Seaborn, Bokeh,
Scikit-learn, Tensorflow, Keras, Pytorch, SciPy, Jupyter Notebook.
- Web: Flask, Fast API, Bottle, Django; Python ORM: SQLAlchemy, Peewee,
PonyORM
- LLM: Models: GPT-4, Claude, Llama, or Mistral. APIs and Tools: OpenAI API,
LangChain, LlamaIndex, Transformers, Encoder, Decoder, Hugging Face Transformers, Model
Tuning.
Cloud & CI/CD
- Cloud Platform: AWS, GCP.
- Containerization & Orchestration: Docker, Vagrant, Terraform.
- CI/CD Pipelines: GitLab CI/CD, GitHub Actions.
- Monitoring & Logging: Prometheus, ELK Stack (Elasticsearch, Logstash,
Kibana).
- Security & Authentication: OAuth, IAM, Vault.
Relational Databases (SQL-based)
- Databases: MS SQL, MySQL, PostgreSQL, Oracle.
- Core Skills: SQL, Indexing, Transactions (ACID), Stored Procedures, Query
Optimization.
Non-Relational Databases (NoSQL)
- Key-Value Stores: Redis, Amazon DynamoDB.
- Document Stores: MongoDB.
Search & Indexing (Lucene-based)
- Lucene Core: Full-text search, indexing, tokenization.
- Elasticsearch: Distributed search, aggregations, real-time analytics.
Financial Skills
- Trading and Investment Systems: order management, execution (algorithmic trading), clearing, and settlement.
- Core Trading models: Trend-Following Models (Moving Average Crossover - MAC,
Breakout), Momentum Indicators (Relative Strength Index - RSI, Moving Average Convergence
Divergence - MACD), Mean Reversion Models (Bollinger Bands/RSI model), Arbitrage and
Statistical Models.
- Regulatory Compliance: Anti-Money Laundering - AML, Know Your Customer -
KYC, GDPR.
- Security Protocols: secure coding practices,
encryption (e.g., public-key cryptography), and authentication protocols (e.g., OAuth 2.0).
- Libraries, API, Tools for analysing: REST API, Websocket, yfinance, Pandas,
Numpy, Matplotlib, Plotly, Seaborn, Bokeh.
Techniques to Low Latency
- Netty & NIO Channels: Non-blocking I/O for high-performance networking.
- JNI & JNA: Calling native code from Java for ultra-low latency operations.
- Optimized Data Structures: Lock-free queues, ring buffers (Disruptor pattern).
- JVM Performance Tuning & Profiling: GC Optimization, JMC, JFR, Heap Sizing, Escape Analysis.
- Networking Optimization: TCP tuning, netty Epoll/Kqueue, Direct Buffers.
- Code Optimization: Microbenchmarking, Vectorization (SIMD), Compiler Intrinsics.
UI Skills
- Core Web: HTML, CSS, JavaScript, TypeScript.
- Frontend Frameworks: Vue.js, JQuery, Mustache template.
- Component Libraries: Bootstrap, Foundation CSS.
- REST & API Integration: Fetch API, Axios, WebSockets.
- Performance Optimization: Lazy Loading, Code Splitting, Virtual DOM.
- Testing: Selenium, Jest, React Testing Library.
- Build & Deployment: Webpack, Vite, NPM/Yarn.
Work Experience
Senior Software Engineer
EMBL-EBI Oct
2019 — Dec 2025 Cambridge, United Kingdom
- Successfully deployed and operationalised the complex BioModels
platform to AWS Elastic Compute Cloud (EC2) instances.
Monitored and managed the instances to ensure optimal resource utilisation and maintain
operations within defined budget constraints.
- Engineered and deployed the BioModels platform onto a
Kubernetes cloud environment,
implementing modern security design principles across a complex system of interconnected
distributed services.
- Led the cloud migration of legacy BioModels services (built
in PHP, Node.js, and MongoDB/NoSQL)
to the institutional Kubernetes cloud,
demonstrating expertise across a diverse technology stack.
- Enhanced user experience by deploying Redis caching,
drastically
decreasing the BioModels
homepage load time from over one minute to under 2 seconds.
- Optimized the CI/CD pipeline (using GitLab) and refactored
the monolithic codebase, reducing
Kubernetes deployment time by 75% (from 12 minutes to 3 minutes).
- Developed multiple Microservices to handle critical operations:
- A Spring Boot 2.0 (Java) service for CombineArchive
file generation.
- A Flask (Python) service to manage large file
transfers (over 1GB).
- A FastAPI (Python) service integrated with Slurm and
IBM Spectrum LSF for seamless request exchange
with the High-Performance Computing (HPC) Cluster.
- Extended the REST API to enable programmatic data submissions, allowing collaborators to manage
and update over 1,000 curated models.
- Created robust Python pipelines and GitHub
Actions to automate large data submissions and
synchronisation with the BioStudies mirror repository,
utilizing Redis caching and Bash scripting.
- Applied advanced Java concepts, including Multithreading,
Concurrency (CompletableFuture),
and the Stream API, to develop highly performant and scalable platform features.
- Utilized Software Design and Architectural best practices, including GoF
Design Patterns,
Domain-Driven Design (DDD), Microservices, and Message
Queues/Streams (Redis Stream, Apache Camel).
- The technologies and languages I am proficient in:
- Cloud/DevOps: Kubernetes, Docker, GitLab (CI/CD), GitHub Actions, Slurm (HPC).
- Backend & Core Language: Java (Spring Boot), Python (Flask, FastAPI, Django), PHP, Laravel,
Node.js, Groovy
(Legacy), Bash.
- Data & Messaging: MongoDB, NoSQL, Redis (Cache, Stream), Apache Camel.
- Architecture: Microservices, DDD, GoF Design Patterns, REST API, DTOs, MVC.
- Frontend: React, Vue.js.
Software Engineer
EMBL-EBI Nov 2015 — Sep 2019 Cambridge, United
Kingdom
Software Development and Maintenance
- Led the upgrade and modernisation of the BioModels platform using JUMMP (built with Grails
Groovy and Java), maintaining existing complex business logic while implementing critical
new features.
- Contributed to the DDMoRe and DeepOC projects, focusing on developing robust and scalable
computational model repositories.
- Designed and implemented model repository features to support various community standards and
formats, including SBML, PharmML, and MDL.
- Integrated industry standards for data discoverability, working extensively with Ontologies,
Metadata (RDF), and FAIRness principles.
- Maintained and enhanced legacy systems while actively participating in the transition to modern
architecture patterns.
Backend Engineering and Performance
- Applied advanced Java concepts, including Object-Oriented Programming (OOP), Multithreading, and
comprehensive Exception Handling.
- Optimized application performance through strategic JVM tuning, including JVM arguments and
Garbage Collection (GC) analysis.
- Implemented Object-Relational Mapping (ORM) using Hibernate/JPA, managing complex entity
relationships and leveraging caching strategies to improve database efficiency.
- Developed and maintained indexing-based search capabilities using Solr and BioSolr to support
high-performance data retrieval.
- Integrated services with High-Performance Computing (HPC) resources using IBM Spectrum LSF.
Quality Assurance and Software Design
- Ensured code quality and reliability through comprehensive Testing, including Unit Testing
(JUnit, Mockito), Integration Testing, and End-to-End Testing.
- Follow core Software Design Principles such as SOLID, DRY (Don't Repeat Yourself), and KISS
(Keep It Simple, Stupid) to produce maintainable and extensible code.
- Championed Clean Code and Coding Standards best practices, focusing on robust error handling,
clear documentation, and consistent naming conventions.
Technology Stack and Workflow
- Backend: Java, Spring Framework, Grails 2.x, Groovy, MySQL, LDAP, Bash scripting.
- Frontend: Developed user interfaces using Angular 8, ReactJS, JavaScript, jQuery, Backbone, and
legacy AngularJS 1.0 frameworks; proficient with Foundation and Bootstrap CSS frameworks.
- Development Tools: Practiced Agile methodologies; utilised Git for version control, JIRA for
project management, and Maven/Gradle for build automation.
PhD Student
LaBRI Oct 2010 — Feb 2015 Bordeaux,
France
- Investigated and proposed a potential approach to analyse the enormous sets of elementary flux
modes in metabolic plant cell networks, then integrate the analysed results for finding motifs:
employed Minimal Cut Sets into analysing feasible pathways.
Studied methods of complex network analysis, clustering algorithms.
- Built and modelled biological graphs. Researched solutions for the project and completed the
final report as the doctoral thesis.
- Participated in conferences, workshops and gave two talks on related works.
- Used C++, Python, and R programming language massively.
Software Developer — Trainee
LaBRI Jun 2009 — Nov 2009 Bordeaux,
France
- Researched and implemented a Graph Editor in 3D using Common Lisp programming
language to manage metabolic networks. It allows users to visualise graphs
in 3D and interact with their graphical elements.
University Lecturer
Hoa Sen University Aug 2004 — Oct 2010 Ho Chi Minh City,
Vietnam
-
Be responsible for the syllabuses of the courses about Microsoft Office suite,
the courses about Web Design with Dreamweaver and Presentation Design
with PowerPoint. Delivered these courses as well as supervised students.
- Designed and delivered new Software Engineering courses: Software Architecture using
Design Patterns
and
Usability Engineering.
- Supervised research groups and supported students through a pastoral or advisory role.
- Participated in staff training activities.
- Published a book on Microsoft Excel 2010 in 2010 in Vietnamese.
- Webmaster for the Department of Maths and Information Technology’s website.
Projects
DDMoRe
(A Drug Disease Model Resources)
Maintain and enhance the published open-source DDMoRe standards and tools to deliver and
improve the quality, efficiency and cost-effectiveness of Model-Informed Drug Discovery &
Development (MID3) and Therapeutic Use. I contributed to developing and delivering its model
repository, and it is an open source project named
JUMMP
(JUst a Model Management Platform).
BioModels using JUMMP
A repository of mathematical models of biological and biomedical systems.
It hosts a vast
selection of existing literature-based physiologically and pharmaceutically relevant mechanistic
models in standard formats.
Our mission is to provide the systems modelling community with reproducible,
high-quality, freely accessible models published in the scientific literature.
DeepOC
Developed a Deep Learning model to classify the models
deposited in BioModels based on their Gene Ontology information using Deep Learning.
The deliverables are a Deep Learning model implemented in Tensorflow and an
D3 zoomable sunburst chart to facilitate
browsing models based classes, automating the classification and predicting new classes.