Patrik (21) has a development studio. How did he achieve it?
Patrik Smělý is one of those for whom programming is life. He is 21 years old, but he has more than 10 years of experience and is starting his own company. How did he learn all this? In what way did dysgraphia and dyslexia irritate his legs at first, and does he still have difficulty programming today? How does he perceive retraining and would he employ a successful ICTdemy graduate?
Also, read what he would recommend to beginning programmers and why he thinks that a modern worker will be a programmer.
Minecraft as inspiration
Patrick, what led you to programming so early that you have 11 years of experience at the age of 21?
I started programming at the age of 10, maybe 11. And at the time, I was playing a computer game called Minecraft a lot. I was especially fascinated by playing multiplayer. But for that, players must have their Minecraft server and the game does not provide that. Players have to set it up themselves, which requires some IT knowledge. At least at the time, it wasn't that easy. I believe that this is no longer the case today.
At the time, I was excited to be able to play in a team, so I was looking for information on the Internet in various ways. But everything was in English, and unfortunately, I wasn't very good at it then. I've been curious about technology since the time I started playing console games, which was when I was 4. I got a PS2 for my birthday**.
However, with Minecraft, my interest deepened. I wanted to know the details and suddenly it happened that I made a server and then I was also interested in plugins, how to install them and finally how to create them.
How to start and break through properly
What advice would you give to young, beginning, enthusiastic programmers like you?
Probably have good contacts. To create them from a young age. Also, don't be afraid to talk about work and be able to talk about what I can do. For example, when I went to high school, I had to make money because it was a private school. So, for example, I contacted the principal and programmed a few things for him that made the school's job easier and I got paid for it. And then he came to me every time he needed something. It is important to be able to present yourself. I knew a lot of guys who were better than me, but they couldn't sell it. Then someone can sell it for them, but they will lose some money. Or they won't break through at all, which is the saddest case.
... have good contacts. To create them from a young age. Also, don't be afraid to talk about work and be able to talk about what I can do... It's important to be able to present yourself.
Where do you think programmers should start?
I think the most important ability of any programmer is to be able to search. ICTdemy is an extremely rich library of information. There is really a lot of it. But it also can't cover everything. Then the information must be sought.
Usually one finds that the same problem one is dealing with was solved by the programmers before him. Then one must not have a bad feeling that he is actually copying the work from someone. When one learns, there is nothing wrong with finding something and copying it. Of course, he should understand why and how it works.
Programmers should be self-reflective and know that there are always people who know and can do more and want to match them. Every day, a new technology can emerge that can completely change the IT world in a few years.
They should surround themselves with people who have the same interests and talk about them. Follow the right people on social networks. My role model is Jonathan Blow. He started programming as a child, today he is 49 and is creating his own language. He never stopped moving forward and is interested in the news. Just don't get stuck on one technology and keep learning. The horizons I have now are smaller than they could be tomorrow if I don't stop.
I think the most important ability of any programmer is to be able to search. ICTdemy is an extremely rich library of information. There is really a lot of it.And what is one such problem that all beginner programmers face?
How did you find out about ICTdemy?
Mostly, Minecraft servers have websites and I didn't have any. So I was looking for a solution. I came across various HTML page generators, but it was never ideal. There was always something missing or it was not easy to customize, etc. So I actually gradually came to the conclusion that it is best to just write the pages yourself. I started looking for information about HTML and CSS and learned it from the internet. After a while, I came across ICTdemy and read a whole series of articles on HTML and CSS. This was one of the first Czech sources from which I drew. I was mostly used to English. And when I came across some Czech tutorials, they were obsolete. On ICTdemy, I learned HTML 5, which was quite new and current at the time. Then I also learned the basics of CSS, PHP and OOP here
How long did the information from ICTdemy help you?
About a few years. I would say 4 years. I became so interested in it that I began to look for information written in English. But at the beginning, ICTdemy certainly helped me a lot to build a solid foundation, and I also learned things that are usually taught in college. After all, it was easier thanks to the fact that it was in Czech. At the time, I was still basically a child. It was clearly explained to an 11-year-old boy.
But from the beginning, ICTdemy certainly helped me a lot to build a solid foundation, and I also learned things that are usually taught in college. After all, it was easier thanks to the fact that it was in Czech.Have you ever got stuck not knowing what to do next? If so, what helped you?
From the beginning, English was an obstacle for me. So since ICTdemy (ITnetwork) was in Czech, it was absolutely great. Then another obstacle was syntax. I am a dysgraphic and dyslexic. I have a worse perception of the text. For this reason, I write the code more clearly so that I can orient myself well in it. I have a bit of a problem with foreign codes and it takes me a while to read it. So although I logically understood how to create the code, I had trouble writing it. Especially how to write parentheses correctly. I had to think about it a lot and it took a long time to build the habit. I don't have the slightest problem with that now. It's like muscle memory when I exaggerate.
Can anyone program ...?
What was and is your inner engine like?
For work orders, it's a little harder, because the thing is usually not very interesting. For example, I already have quite control over the website, so I don't feel like I'm moving anywhere. That's why I write it in a technology I don't know much about, but I'm interested in improving it.
What does one need to be able to start programming, even if he worked in a completely different field until then?
I think that everyone can learn programming. The stereotype that mathematics is tied to programming… One must have a good view and logical thinking in order to be able to invent algorithms and then implement them. Logical thinking can also be learned through programming. At school, they teach you logical thinking using mathematics.
So I don't think you have to be a great mathematician to learn programming. I have never excelled in it and I admit that I have gaps in it even now. And when you create a game engine, the math is quite needed. Especially linear algebra, matrices, vectors, etc. I didn't learn this in school, but I learned it whenever I needed it. I found the necessary materials about it and learned it from them. I'm not saying it wouldn't be faster if I could do it from school.
How do you perceive retraining?
I now have a friend in the company who originally wanted to be an architect. So he already had a little logical thinking. But I eventually brought him to programming. He's retrained and he's working for me now. He enjoys it the most.
Nowadays, being able to program is as important as having the basics of mathematics. The modern world is about modern technology, so the modern worker will eventually be a programmer. Manual work will go aside with the modernization associated with AI. That, of course, is my opinion:-) And I think that a lot of people who aren't happy with their work have to try their luck at programming. It's not so complicated that anyone can't do it at least on some level.
The modern world is about modern technology, so the modern worker will eventually be a programmer. Manual work will go aside with the modernization associated with AI.
So you think older people can also program?
It is true that they certainly learn slowlier because the peak of mental abilities is around 30. But it is more about that diligence. Definitely it works.
Would you recommend ICTdemy to others?
Definitely yes. I think it is a quality resource and provides a good foundation and advanced knowledge. I would employ a person who completed IT network courses. I think the quality of the articles is at a high level. I would definitely recommend it, because in the Czech Republic it is one of the few really good sources about programming.
I would employ a person who completed IT network courses. I think the quality of the articles is at a high level. I would definitely recommend it because in the Czech Republic it is one of the few really good sources about programming.
Apparently Studio and college
What is your education in IT?
I have completed a multimedia high school in Poděbrady, but when I went to that school, I already programmed for about 5 years. I knew a little that the school would teach me nothing new in this direction. But I learned other things here. How to cut videos and edit photos. Then I started studying remotely at the college in Hradec Králové, where I was only for the first semester and then I left. I've found out that this was not the direction I wanted to go. And another reason was the quality of teaching. Of course, it was a covid pandemic. But I found out there wasn't what I wanted at the college. So I left. But in the future, I would like to finish my university education. At the moment, I'm focusing more on business and starting my own company.
Would you describe to me what your company does?
My colleague and I are focusing on our development studio - Apparently Studio. Now it's starting to take shape. First, we were freelancers together. He's a graphic designer and I'm through the technical part. Now we have recruited a lot of our friends who have learned programming from scratch from me. We focus on custom software and site development and so on. But we want to focus on developing our own products and over time mainly on games. But it is far in the future.
How many of you are in the team?
So far, there are 8 of us. They are mostly friends, but it works well. They mainly move on. Most of them already have 4 years of experience, so it already has some level. We have offices now. Previously, it was just a home office.
Do you focus on any specific technologies?
We mainly create web and mobile applications. There is a separate technology for each sphere. One cannot do everything in one. We make web applications in React, which was a popular UI library from Facebook. Then we create mobile applications natively. So on iOS in Swift or on Android actually in Kotlin and we want to use JetPack Compose now. If we want a multiplatform solution, then we use React or Flutter. We use the GO language on the server, which is a programming language from Google. It's relatively fast and we find it easier when it comes to semantics.
What project are you most proud of (specifically yours or your company's)?
An example of only my abilities is Studbook, which is a large database of animals for Czech and Slovak zoos. It is a database of giraffes and zebras. So it's a great web application that works with thousands of animals and filters in various ways. There is also a pedigree of those animals and is actually generated from the studbook in PDF. It's quite a number of complex parts that were quite time-consuming. And by doing it all myself, the development wasn't as fast as if a team of people was working on it. I only wrote the technical part.
And another project that I worked on and is already quite famous today was the start-up FaceUp. I was there as a development manager for almost a year. That was actually the only time I worked for a company as an employee. On this platform, a person can report bullying anonymously. The project started in schools and today even employees of companies can report bullying there. FaceUp is a foreign version. In the Czech Republic it is called Don't let it be. I participated in the creation of a mobile application, website and server. At that time, it collided with my school timetable. In the end, I chose a school. (Laughs)
What was the first language you came across?
It was C # about in WinForms, where I created some simple Windows applications. Such nonsense as to how to switch color. But with those Minecraft plugins, I took it a little more seriously and wanted to write my own plugins. Minecraft is created in Java, so I quickly switched. I wrote some plugins, but none of them got out of my server, which was used by about 50 players.
What technology do you use for games?
I am very interested in C ++, C and also Rust. And in the future, we expect to make our own engine in such a low-level language to ensure high performance. C# has a garbage collector that could slow it down.
Have you ever been to a face-to-face training?
Always online only. I've never been like this for full-time training. I just once was at a workshop at Google in the Czech Republic.