My story

After high school, I enrolled in a university program called “Automation of Technological Processes and Production.” I don't remember the exact name. There wasn't much programming at first, but there was physics, and I couldn't pass it. I had to repeat my first year twice. After my second failure, I was 18 and went to serve in the army.

While I was serving, I met people from different cities and backgrounds. They'd been raised and educated in very different ways. I realized I didn't want to keep spending time with people like that, so I needed to study and get started soon. I asked my mom to send me any book on Delphi programming she could find. At school, we'd only covered Pascal and Delphi, so I didn't know there were other options. I spent my free time reading the book and working through problems in my head. I'd come up with an app and think about how I would build it and solve the problems that came up. I didn't have a compiler, so all I could do was read and look at screenshots of the interfaces in the book.

I came home in December. I had six months before starting university, so I found a university program that suited me: “Software Engineering,” with a focus on software development. At the time, all I had was an old desktop computer and a basic Android phone running Android 2.4.

During those six months, I installed a Pascal compiler on my computer and worked through problems. I learned about variables, functions, records (similar to C structs), and console and file input/output. In short, I was learning the fundamentals. I read a Pascal book and searched online whenever I had a question, usually ending up on cyberforum.ru. I read, tried things out, and eventually started helping other people solve problems on the forum.

Most importantly, I didn't spend time making Windows desktop apps look pretty. I knew I'd lose too much time to the UI, so I stuck to console programs that solved specific problems. While learning the language, I also studied algorithms and data structures. I spent a lot of time trying to understand pointers and recursion, how they worked, and why they mattered.

I learned the basics in about three months. After that, I kept solving problems and gradually picked up C and C++. I still didn't know what to do next or what kind of work I wanted to do.

Then university started. Programming wasn't a problem for me in my first year. The first semester was Pascal, which I already knew. The second was C, which I knew by then. I even helped students in other majors with their Pascal lab assignments. I didn't just give them solutions. I tried to explain how things worked because I wanted them to learn something, not just copy an answer.

In my second year, some employees from a company came to teach introductory courses in iOS and Android development. I signed up for both. I'd already tried building something for Android, so that part was easy. The iOS course required a MacBook. Thanks to my mom, who gave me 40,000 rubles, I bought a MacBook Air. I used it to develop iOS apps for about six years.

Later, I was invited to an interview and started working. I began as an Android developer, then switched entirely to iOS about a year later. During that year, I wrote Android apps at work and iOS apps at home.

University wasn't difficult. I mostly went to get my degree and collect keywords I could look up at home to fill gaps in my knowledge. In my second year, we wrote all our lab assignments in C and C++. From the third year on, we could use any language. I first wrote assignments in Objective-C, then moved entirely to Swift, starting with its earliest versions. My graduation project was also an iOS app.

After graduating, I kept working with the developer who had taught the Android course. In 2018, I won a competition run by a large company, passed their interviews, and moved to another city.