I'm Theo Dimakop
Undergraduate programmer. I'm best at Linux, prototyping and user testing.
I'm looking for internship during the Summer or a bit later to get my degree. My Greek full name is Theodoros Dimakopoulos.
CV PDFBits of experience
- I entered the University of Athens in 2019. We write C, C++ and Python code and one focus is to explore the internals of databases, parallel processing and old-school artificial intelligence.
- Apart from the University, I scrap together little programs as a hobby. I still use some of them. Some have been through a number of phases where they became complicated and simple again.
- In 2024 I interned at a chat bot and AI company called Helvia. The first out of three months I tried connecting two repositories with Docker files and then I made a web app to learn backend.
Key streaming app
To learn backend web development in my internship, I prototyped an app using the tools I had to learn. It was inspired by these moments when someone sends a long message and you wish you could interrupt them. It uses ReactJS, NextJS, plain CSS and Python's FastAPI. The protocol and some UI quirks had to be improvised.
This portfolio
-
- Visit the first iteration
- Code on GitHub
In 2023 I used short PHP functions that print HTML, inspired by Clean Code.
-
- Second iteration
- GitHub
Then, I tried to use PHP the intended way. The challenge was to keep the Greek version consistent.
-
- Third iteration
- GitHub
The third time, I fit all the code in one HTML file and there was a script that produced the Greek file.
-
- GitHub
In the end, I managed without a script using JavaScript. That was inspired by a talk by DHH about build steps.
Values
-
Demonstrations
Demonstrations, prototypes and user tests reveal problems early.
-
Communication
I find that understanding people makes work easier and more fun.
-
Simple needs
Simple code can be laborous and risky, but I tend to prefer it.
I tend to prefer teams where it's easy to try out a piece of code to some degree, perhaps using automated tests without integration or by having a build system that allows one to try a part of the system. I prefer working in person usually, depending on the distance from home and the team. It's easier to tell when it's the right time to strike a short conversation, in person.