Michal Ondrejka

Michal Ondrejka

About Me

Perfectionist, Thinker, Creative Doer

Software engineer at Siemens Healthcare s.r.o.

I am a driven software engineer with a proven ability to learn new skills rapidly and apply them effectively to real projects. I practice transparent communication and maintain healthy, collaborative relationships with colleagues across teams. Outside work I’ve recently started learning guitar and ukulele, and I surf recreationally — activities that keep me creative and resilient. I’m improving my upfront task planning to avoid diving in too quickly and missing some crucial information.

  • AgeAge calculation didn't work
  • ResidenceŽilina, Slovakia
  • e-mail[email protected]
  • Phone+421 944 127 955

Fun Facts

Duolingo streak

0

Spotify playlists made

60

Courses taken

40+

Coffee Consumed

0

Resume

Ready for anything

Education

2021 - 2024

Bachelor's degree in Information Technology

Brno University of Technology

Brno University of Technology is one of the Czech's leading research and teaching institutions. It is located in central Europe - Brno, Czech republic. Studied IT at Brno University of Technology, Faculty of Information Technology. Focused on both theory and practical applications, covering programming, algorithms, databases, software engineering, and networking. Benefited from a dynamic learning environment with strong research initiatives and industry connections, preparing for a successful career in IT.

2017 - 2021

Mathematics and IT

Grammar school Veľká Okružná

Grammar school Veľká Okružná a type of secondary education that provides a more academic curriculum and prepares students for higher education. They typically accept students based on their academic abilities and require difficult passing entrance exams.

Experience

September 2024 - Present

Siemens Healthcare s.r.o.

Fullstack Developer

Since September 2024 I work at Siemens Healthcare s.r.o., developing a common data storage for healthcare data. I design and implement microservices (Kubernetes, Docker, C#) to build a reliable, scalable system. I implemented performance tests and CI/CD performance pipelines and visualize results with graphs to track performance impacts. I apply Resilience HTTP patterns to provide reliable HTTP responses and created data-merge operations that combine resources while ensuring data consistency and transitivity.

July 2023 - June 2024

Accenture

VR Application Developer

At Accenture, my focus lies in developing immersive multiplayer VR applications with Unity and C#. One of the challenges I tackle involves synchronizing game objects across multiple game clients. I have also been a part of a 3D team for a while, where I modeled game objects in Blender and Substance 3D which were used in the appliactions.

Language Skills

Slovak

English

Czech

German

Spanish

Italian

Coding Skills

C

C#

Python

TypeScript

HTML/CSS

Docker/Kubernetes

Angular

Unity

Portfolio

My Projects

Conduit — RAG + MCP server

2026

Conduit is a RAG + MCP server that gives any MCP client semantic search over your data — work items, code, docs and test results from any JSON-over-HTTP API — plus a persistent Experience store for remembering facts, preferences and past decisions across sessions. It ships as a single Go binary backed by Qdrant and any OpenAI-compatible embedding endpoint.

It exposes 9 MCP search tools covering work items, requirements, source and test code, builds, commits and documentation. Sources are provider-agnostic: any JSON API is connected purely through configuration (URL, auth, field mappings, pagination), so Azure DevOps, Jira and GitHub need no provider-specific code. A web UI manages sources, credentials and syncs; secrets are stored Fernet-encrypted and referenced by name; and indexing is transactional, so a failed sync leaves existing data intact.

GoMCPRAGQdrantDockerOllamaAzure OpenAI

AR Sandbox with water simulation using hand gestures

May 2024

The goal of this work was the design and implementation of an interactive learning system that allows the user to explore and understand weather conditions in real time. The implementation is based on the existing AR Sandbox solution. I researched the Lattice Boltzmann Method to simulate water, but in the end decided to use Smoothed Particle Hydrodynamics: the liquid is represented using sphere particles and then visualized as an object similar to liquid using a shader in Unity.

Terrain is captured with a Kinect v2 depth sensor and the terrain game object in Unity is created from this depth array. Based on the depth a specific texture is applied — I made realistic, volcanic (with lava instead of water), colorful, colorful with contour lines and exotic designs. Another module is a calibration UI, where the user can calibrate the platform to correctly project onto the terrain.

Hand gesture recognition was done from depth data, because the projection overlays the hand which made it hard to recognize using a normal camera. I reached 60% recognition accuracy, which was unfortunately not enough for the final version.

C#UnityKinect for Windows 2.0TensorFlowgit

Compiler

December 2021

This project involves designing and developing a compiler for IFJ22. The compiler takes code written in IFJ22 (a language similar to PHP) and translates it into IFJcode22 (similar to Assembly), a low-level programming language.

The compiler consists of four parts. The lexical analyzer generates tokens based on a finite state machine I designed — tokens are sequences of characters (for, int, if, 5, ;, ...). These tokens are consumed by the syntax analyzer, which uses an LL grammar to verify the syntax and semantic correctness of the code (a top-down approach). For expressions (5 + 5 * 2) a bottom-up approach is applied: I designed a precedence analysis table which systematically applies the rules to the expression. Code is generated once the equivalent instructions from the input have been processed.

CgccValgrindMakefilegit

UDP and TCP client

March 2023

This project was implemented to understand how packets move through a network. It improved my understanding of addressing and routing. I only implemented the clients and used a simple server for testing.

First I handled command line arguments, where the user can specify mode (TCP/UDP), host, port and IP. I created a socket based on the mode argument, then the necessary structs for addressing the host when sending and receiving packets. There is a main loop which, based on the type of communication (receive or send), handles and expects certain packets. In TCP a three-way handshake is executed first. At the end all structs in memory are freed.

In TCP each packet is acknowledged with an ACK packet from the receiver to ensure no packets are lost. UDP is used for video and audio streams, for example, where one missing packet won't have a big impact, so packets are not acknowledged. To verify the correctness of the packets, Wireshark was used.

CgccWireshark

Contact

Get in Touch

Get in Touch

Hi there! I'm thrilled that you're interested in contacting me. If you have any questions, comments, or feedback about my work, please don't hesitate to reach out. You can contact me by sending an email, and I'll do my best to get back to you as soon as possible.

Žilina, Slovakia
+421 944 127 955
Available