Author Image

Hi, I am Nikitas

Experience

Software engineer, 10 years at CERN, building systems used by both technical and non technical users. IT specialists setting up their experiments’ networking, mechanical engineers getting their designs through a rigorous approval process, and the thousands of daily visitors looking to simply get access to WiFi.

I’ve worked at both ends of the codebase lifetime: 25+ year-old systems, still critical today, and greenfield projects, often to replace those. I’m most at home in the backend and around databases, but I’ve always worked across the stack, doing frontend, building CI/CD pipelines, and running our own Kubernetes clusters.

Open to new roles in France and the whole of Europe, including remote or hybrid.

1

Geneva, Switzerland

The largest particle physics laboratory in the world

Senior Software Engineer — Networking Group

October 2020 - October 2025

Senior software engineer on the LanDB team, CERN’s internal network inventory database. Five years owning the database, web apps, APIs, and microservices that power CERN’s networking infrastructure.

Responsibilities:
Greenfield projects development and management
  • Led the rewrite of the Self Registration Portal, the entry point every CERN user goes through to add a device on the network. Within a year of launch, failed registrations dropped by 80%.
  • Spearheaded the first release of the LanDB REST API, successor to a legacy Perl SOAP API at millions of calls/day. Designed the auth model and the first write endpoints, which became the template for the rest.
  • Built, deployed, and load-tested solo a microservice bridging LanDB with CERN’s new DHCP server (Kea). Surfaced performance issues during load testing that would have hit at production scale; re-tested after the architectural fix to validate.
Legacy codebases evolution and migrations
  • Maintained and evolved CERNphone, CERN’s internal telephony management portal — liaison to the team owning the underlying SIP service, designed new features, and eventually handed ownership to a more junior developer, providing guidance when needed.
  • Owned the legacy network portal’s OAuth2 migration end-to-end in 6 months, despite it being in maintenance-only mode for 12 years. Analytics, user outreach, dev work, collaboration with other teams to update their scripts, and rollout tracking. Zero problems reported.
  • Drove the migration from Spring Boot 1.4 to 2.7 through our whole codebase (had to be done all at once).
Initiatives for team and process improvements
  • Unified observability across 4 web apps and 20+ microservices. Added Matomo analytics, refactored logging through a shared Java layer and into Elastic/OpenSearch (Filebeat → Logstash), and created dashboards for operations and error tracking.
  • Helped recruit 5+ team members end-to-end (test design, interviews, hiring decisions). Supervised a junior developer for 3.5 years.
  • Initiated multiple team process improvements, ranging from more clear sprint focus for increased collaboration, knowledge sharing (“documentation as presentation”), PR tracking with Gitlab labels, improved backlog tracking and stories quality (focus on “why” with prebuilt templates) etc
  • Java
  • Spring & Spring Boot
  • Javascript
  • AngularJS
  • Oracle DB, PL/SQL
  • GitLab CI/CD
  • Kubernetes
  • Elasticsearch
  • Kibana
  • Logstash

Geneva, Switzerland

Junior - Mid Software Engineer - EN/ACE/PLM

March 2016 - October 2020

Fullstack software engineer on EDMS, CERN’s engineering document management system, 1200+ unique daily visitors

Responsibilities:
Maintenance and evolution of EDMS
  • Led the development of several big features and smaller supporting applications (Spring Boot & React) based on clients’ requirements.
  • Backend, DB, Front-end, and Web services (REST and SOAP) development, including: requirements analysis, solution design, implementation, testing.
  • Participate in cross section efforts to improve engineering data quality, data and systems integration, in order to multiply the value provided to stakeholders.
  • Drove the discussions with stakeholders and development of a solution for the problem of parallel tracking of Accelerators documentation across different years / runs, co-author of paper published in IPAC18
Integrations with other platforms
  • Designed and setup Business Intelligence solution integration (Pentaho), providing advanced reporting capabilities to the team and the users.
  • Product owner and lead dev of the first integration with a new PLM System (Aras Innovator) by showing our data in the new platform - first pilot that helped shape future integration.
Operations and Team processes
  • Scrum master of a team of 7-8 persons for several Sprints, improving internal processes
  • Assisted newcomers’ integration and team knowledge by sharing the system knowledge and performing hundreds of code reviews.
  • Performed multiple successful new version releases, quick reaction to incidents.
  • Provide user support (2nd and 3rd line support), more than 200 tickets solved in Service Now, always with excellent feedback.
  • Java
  • Spring
  • GWT & GXT
  • PL/SQL
  • Typescript
  • ReactJS
  • GitLab
  • OpenShift
  • Oracle DB
  • Pentaho BI
2

3
Hellenic Telecommunications Organization, OTE

September 2010 - February 2012

Athens, Greece

The largest telecommunications and IT company in Greece

ADSL & Telephony technical support

September 2010 - February 2012

Responsibilities:
Guide non technical people through technical issues and solutions
  • Remote technical support for customers
  • Guiding customers in new broadband connection installation
  • Detecting and dealing with ADSL / telephony problems

Personal projects

  • Web App
  • Agentic tooling
Sleep and Health
May 2026

Web app that allows user to track several health related information (hormones, medications, symptoms) trying to better understand their sleep quality.

  • MCP Server
  • Agentic tooling
Stream Estate MCP
April 2026

MCP server that exposes Stream.estate API for rental properties search in France by AI agents

  • Plugin
  • Syntax highlighting
  • LSP
IntelliJ Plugin - Cadence language LSP integration
October 2021 - November 2021

IntelliJ plugin for the Cadence language: syntax highlighting plus semantic features over the Cadence language server. Built for the Flip Fest buildathon.

  • Web App
Smarter Groups
April 2024 - May 2026

Web app that assigns workshop students to project groups based on their preferences, while respecting group sizes and classroom mixing

  • Mobile App
ΣΗΜΜΥ Results
February 2013 - April 2013

Android App to poll for and view results of my university exams

Nikitas Kotsolakos

A techie who likes working with people

Technology and science are two things I have always felt at home in. Just out of university, I joined CERN for a short internship, which lasted just 10 years. During it, I had the chance to work with incredibly competent people building and running complex systems for long timelines.

CERN’s naturally high personnel turnover meant that early in my career I was deploying, running and debugging systems used by thousands of people daily, and onboarding new team members. Having worked with many different people and teams, I always tried to learn from their experience, see different processes applied with their pros and cons. After a few years, I went on to work as a Senior Software Engineer in the networking group. This placed me in a new domain, critical for CERN’s infrastructure. Our users varied from networking engineers writing software for router management, calling our APIs constantly, to school students who just needed to connect to WiFi during a visit.

Throughout my years, I have come to value some things quite highly:

  • Collaboration and knowledge sharing are not just buzzwords. They are the method for keeping complex, long-lived systems healthy, till the moment you can finally kill them.
  • Tools are important. People are more important. They are the ones who can improve processes and tools.
  • Simplicity. Simple is hard, but really worth it.
  • Code reviews are indispensable. For code quality and bugs prevention, but most importantly for knowledge sharing.

Being able to build things that save people time and frustration has always made me feel good. Even more when I could identify obstacles they didn’t even know could be solved. I enjoy it both at work, and in my personal life, alongside discovering new tools to do that. That’s why my personal projects aren’t commercial attempts. All of them solved an annoying issue for someone I knew, and allowed me to explore different technologies.

Over the years, I have come to enjoy the full arc of Software development: sitting with users to figure out what they really need, even when they can’t clearly identify the obstacles they are facing. Designing it and building it, which is when you realize that no domain is ever simple, and what you “don’t know you don’t know” is crucial. Just as importantly running it, finding out what was right or wrong, improving it. Software is not “built and done”.

In my free time, you will find me near the water as much as possible. Scuba diving, skiing (snow IS frozen water crystals), spending hours at the beach, playing chess, and relaxing with friends. Or at least that’s the hope.

I’m looking for teams that genuinely collaborate and care about the products they ship. Because that’s what I do: I share what I know by default, own what we build, and keep pushing so that improving how we work is something we actually do, not just something we say.

Java
Spring
Oracle DB - PL/SQL
Kubernetes
Gitlab CI/CD
Docker
Javascript
Angular
React

Blog

Let's talk

Open to new roles, interesting problems, friendly chats, teams which see collaboration as an essential tool to do things better.

kotsolakos.nikitas@gmail.com