
Dr. Csaba Nagy
I'm a Software engineer
About
“To accomplish something extraordinary, one must have an extraordinary dream. A goal so high, a journey so demanding that its achievement to most seems impossible.” — IM

Software Engineer and Researcher.
I am a freelance software engineer based in Zurich, Switzerland. Previously, I was a postdoc researcher of the REVEAL research group at the Software Institute of Università della Svizzera italiana, led by Prof. Michele Lanza. I have also served as an adjunct faculty member at the University of Szeged, where I earned my Ph.D. in Informatics in 2014 under the guidance of Prof. Tibor Gyimóthy and Prof. Rudolf Ferenc. Additionally, I completed my MSc in Computer Programming in Economics at the University of Szeged. After my Ph.D., I spent two years as a postdoctoral researcher at the University of Namur, supervised by Prof. Anthony Cleve.
My professional endeavors have consistently been motivated by compelling challenges within the software engineering sector. During my academic career, I took great pleasure in contributing to research initiatives that culminated in the development of software utilized by software developers. Subsequently, I had the privilege of planning and leading research and development projects that involved collaboration with multiple companies and developers. I continually seek opportunities to engage in new projects that present challenging problems.
Research
“The important thing is not to stop questioning. Curiosity has its own reason for existence.” – Albert Einstein
Resume
“First, solve the problem. Then, write the code.” – John Johnson
Professional Experience - Main Positions
Software Engineer
01.2024 – present
Freelance, Zurich, Switzerland
Postdoctoral Researcher
02.2018 – 12.2023
REVEAL Research Group, Software Institute, Università della Svizzera italiana (USI), Lugano, Switzerland
Adjunct Faculty
12.2015 – 02.2018
Department of Software Engineering, University of Szeged, Szeged, Hungary
Teaching Assistant
05.2014 – 11.2015
Department of Software Engineering, University of Szeged, Szeged, Hungary
Ph.D. Student
09.2007 – 05.2014
Department of Software Engineering, University of Szeged, Szeged, Hungary
Professional Experience - Grants/Fellowships
Postdoctoral Researcher
02.2017 – 02.2018
PReCISE Research Center, University of Namur, Namur, Belgium
Postdoctoral Researcher
09.2014 – 08.2015
PReCISE Research Center, University of Namur, Namur, Belgium
Predoctoral Fellow
09.2010 – 08.2012
Department of Software Engineering, University of Szeged, Szeged, Hungary
HAESF Professional Internship Fellow
03.2008 – 08.2008
Drexel University, Philadelphia, USA
Education
Ph.D. in Informatics
2007 – 2014
Ph.D. School in Computer Science, University of Szeged, Szeged, Hungary
Programmer in Economics, BSc+MSc
2002 – 2007
Faculty of Science, University of Szeged, Szeged, Hungary
Research Interest
“Research is to see what everybody else has seen, and to think what nobody else has thought.” – Albert Szent-Györgyi
Program Analysis
Analyzing source code, i.e., implementing parsers, working with syntax trees for static checkers or optimization algorithms in compilers.
Software Quality & Refactoring
Supporting the maintenance of software systems, analyzing source code quality, identifying smells and optimization opportunities, implementing automatic refactorings.
Data-Intensive Systems
Optimizing software-database interactions through the analysis of SQL code embedded in client code, looking for potential problems, performance issues.
Software Visualization
Use of visual representations to understand and analyze software systems, serving purposes such as aiding code comprehension and supporting software evolution and maintenance by revealing dependencies and changes.
AI for Software Engineering
Applying artificial intelligence techniques to automate and enhance various aspects of the software development lifecycle, with purposes such as accelerating code completion by suggesting relevant code snippets and improving software maintenance and evolution through automated code analysis and refactoring suggestions.
Empirical Software Engineering
Investigating software development and maintenance practices and technologies through empirical means, such as controlled experiments, case studies, and mining software repositories.