Dimos Michailidis
Senior Software Engineer
Specialized in Functional Programming & Data Systems
I am a software engineer with a background in Mathematics and over 10 years of experience across the full stack. My work has ranged from building data pipelines and backend services to developing frontend features. I enjoy turning complex requirements into simple, maintainable code.
Work Experience
Senior Full Stack Engineer
- Engineer backend services using Scala
- Develop frontend features with TypeScript
- Optimize data persistence and schema design using PostgreSQL
- Maintain distributed data processing pipelines using Spark, Snowflake, and Parquet on S3
- Orchestrate event-driven workflows and messaging services using Kafka, SNS, and SQS
Reference: Veena Paul (Engineering Manager) - LinkedIn
Software Engineering Consultant
- Engineered solutions as an F# Developer
- Worked as part of the data science team
- Designed and implemented simulation algorithms
- Generated visualizations based on data insights
- Performed analysis using Spark SQL on Databricks
Reference: Dogan Kazakli (Lead Data Scientist) - LinkedIn
Software Engineering Consultant
- Provided expertise as a Clojure Developer
- Worked for a fintech client in digital payments
- Developed backend microservices
- Managed PostgreSQL, Redis, and pub/sub systems
- Maintained services on AWS using K8s and Terraform
Reference: Terje Dahl (Lead Engineer) - LinkedIn
Software Engineer Specialist
- Worked as a Clojure Developer implementing algorithms for automatic data analysis
- Optimized data handling with PostgreSQL
- Integrated APIs such as Google and Adobe Analytics
- Set up BigQuery as a data solution for the company
- Maintained AWS and GCP with Terraform
Reference: Michael Samaras (Cloud & Data Architect) - LinkedIn
Chess Coach
- FIDE-certified National Chess Instructor
- Coached both hometown chess clubs
- Led the team as captain in local championships
- Organized and directed in-house tournaments
Reference: Niki Orfanidou (Club Director) - LinkedIn
* Full contact details for references are available upon request.
Personal Projects
Machine learning library for the Erlang ecosystem, initially written in Elixir and later reimplemented in Gleam. It provides a functional interface for Decision Trees, K Means, K Nearest Neighbors, Linear Regression, Logistic Regression, Naive Bayes, Neural Networks, and Perceptron.
Collection of neural network libraries available in Clojure, C#, Elixir, F#, Gleam, Java, JavaScript, Python, and Scala. It provides customization options, visualizations, data preprocessing, and compatibility for transferring networks between different platforms.
Cross-platform mobile application. The chess mechanics and the game logic were written in F#, and the UI components were created with MAUI. It integrates SQLite for data persistence and uses platform-specific features for Android, and iOS. The application follows the MVU architecture to manage the state and UI updates.
Mobile app developed using F# and Xamarin. The project implements quantum computing logic, including complex matrix operations and quantum gate simulations. It also renders graphical representations of quantum state reactively.
My GitHub profile includes several other projects implemented in Clojure, F#, Scala, Elixir, Elm, Haskell, TypeScript, and Python.
Articles
A practical guide to error handling in F# through the development of a console application. It explores functional approaches to managing successes and failures, along with short-circuit evaluation and computation expressions to build robust software.
A deep dive into deterministic randomness in Elixir using purely functional generators. It demonstrates how to achieve reproducible results in complex simulations such as Monte Carlo Pi estimation and the Monty Hall problem by leveraging the generator pattern for consistent testing and modeling.
An exploration of the riddle using Scala and functional programming. It explains the cycle-following strategy that increases the success probability from near-zero to over 31% and demonstrates how to model the problem as a cycle detection challenge in random permutations.
A collection of articles exploring diverse technical and hobbyist topics, including the use of browser devtools for blindfold chess practice, a critical look at the necessity of tail call optimization in functional languages like Scala, and an analysis of type-safe primitive differentiation in F#.