Photo of me in a shirt


(the long version lol)

Hi there, pal! ^_^

My name's Tomáš Diblík, I live in Czech Republic and I'm I'm currently enrolled in an IT High School, and have a passion for making computers do cool things!

You may notice, that I don't have a lot of large open-source projects and don't contribute to OSS that much. That's because I prefer to focus on long-term job projects, which (unfortunately) cannot be open sourced >﹏< (I write blog posts about them, and share interesting/challenging parts tho). I do this, because I find these projects to be incredibly satisfying as I'm able to help out people in their day-to-day lives by developing software that helps them with their work, or makes some processes easier for them. It's especially fulfilling when people appreciate or constructively criticize the work I do. To be honest, I just feel this really strong adrenaline rush/hit every time my complex program, which I've spent months making and perfecting, runs correctly.

Nonetheless, I enjoy making/programming stuff just for the hell of it. In my spare time, I make projects that make me feel happy and self-fulfilled, no matter how complex they are or how much time they take. Usually, it's some embedded work, 3d printing, TUIs, or programming some tools I wish existed. I feel really lucky that I enjoy different things in my professional life (web apps, APIs, servers, desktop apps, mobile apps) and my spare time (listed above), because it keeps me well-rounded and helps me maintain a healthy work-life balance. It also helps me to avoid burnout and stay motivated, as I can switch between long-term and short-term projects whenever I feel tired from the former or the latter.

I have some specific, sometimes not widely spread, ideas about developing software, which have always worked for me. These ideas are ranging from project development cycle to code style/paradigms. Two examples being: 1) Waterfall (without the UML part) is just straight-up good for new projects, whereas Agile is good for projects already in production and shipping new features. 2) I feel like, at least for me, the most enjoyable and productive way of writing code is to combine procedural, functional and, object-oriented principles in a healthy way. I like to keep code procedural with functional utility functions and every other required complexity object-oriented (Controllers, Events, DI, etc...). I like to keep away from following whenever possible: PURE OOP, TDD, useless comments and, needless nesting. Over time, I've naturally started writing code following some of the practices described above, without the need to correct after myself, and that's my personal style that I find enjoyable. We (as programmers) argue about styles and principles, because we're all deeply passionate about our job/hobby, but at the end of the day, everyone's different and everyone has their own personal style, that they enjoy and feel comfortable with, and that's what matters the most. Nonetheless, If you'd like to discuss these topics with me, my email's always open! TLDR; As long as you don't have unreasonable requirements, I won't complain and obey :D. Also, just a side note, as long as it works, clients usually don't even care about the programming language used xd, keep that little fun-fact in mind.

Oh, and btw, English is my second language, so if you find any grammar mistakes, please let me know!