This is a translation of the success story from our global Java community. Alex learned Java on the Russian-language version of the course, which you study in English on CodeGym. May it become the inspiration for your further learning and maybe one day you’ll want to share your own story with us :)
IntroductionA little bit about how I got into programming. I am a teacher and psychologist by training, and for 5 years I have been practicing my profession successfully. But for various reasons, I am increasingly thinking about moving to another country. And because the language and regulations are different in other countries, I could not become the same sort of professional without serious retraining. So I started looking for simpler, interesting ways to move and be successful. I tried my hand as a tattoo artist (this requires essentially no knowledge of the language), but that's a story for another day. Then my coworker friend introduced me to CodeGym. I was initially skeptical of the promises to make me a full-fledged programmer by playing a game and at such a modest price. But then I got some birthday money (not subject to "family tax"), and faced the choice between WoW and CodeGym... Well, thanks to a timely discount, the scales tipped in the right direction, and here I am. As we should all already know, CodeGym is 90% pure practice. You learn to solve tasks. You learn to find the knowledge you lack on the Internet. All this is good, but for 15 levels I couldn't shake the feeling that I was missing something that would complete the picture for me. I thought about joining GeekBrains, but (probably fortunately) the same friend stopped me in time and introduced me to Udemy. When I opened this repository of knowledge, I went along with the appeals: "Psst, friend. Are you a newbie?" There's a discount for you... for only 3 days — Don't miss this opportunity!" Later it became clear that there are always discounts, but that's not the point. I immediately purchased a package with two courses: Java from 0 to Pro and something similar for Android. And this is where our story begins.
Success or failure?As I worked through the Android course, I got homework to make a project based on my new knowledge. I'm the kind of person who believes that doing something in a simple or ordinary way is like not doing it at all. So, I immediately began to complicate my life. I turned to the person that I know who has the most developed and vivid imagination. This is my dear wife (yes, she will also read this article). She suggested making an app with pictures of animals, which make corresponding animal sounds when they are clicked on. It was a great idea, but still pretty simple. Taking this suggestion as the foundation, I began to reason:
- This app must be more than fluff (something to laugh at and forget). I want it to have value. For example, by teaching something.
- Let it be the alphabet with animals. But not just any alphabet, but the English alphabet!
- And not just animals, but rare animals that few people know, in order to expand their horizons!
- And there should be animation, audio reproduction of the names of the letters, and the names of animals in English and Russian!
Is it worth it to continue to study programming?Disillusionment followed. First, I wasn't allowed to publish my homework on the course. I did the work and put in a ton of effort to show off, but I wasn't allowed to. Second, my app worked perfectly well in the emulator and on my phone. Of what I planned to do, I didn't implement animation, because I spit and decided I would finish it when I had gone through the relevant lessons in the course. But when I started thinking about distributing the application, I came across an interesting problem. After using another phone and a tablet to check whether my app was optimization for different screens and different versions of Android, I ran into an unknown error. The program simply shut down when switching to a letter. I tried to find the root of the problem, reviewed the logs, which, compared to concise Java exceptions, seemed even more like hocus-pocus. The Internet didn't help me. On the one hand, I made a working app that my children like to play. On the other hand, it only works on my phone. This makes me laugh. Of course, I was upset, but reflecting on it, I concluded that I had gained more than I had lost:
- I got better at dealing with criticism of my work.
- I realized the value of knowledge and experience in software design.
- I boosted my programming self-esteem.
- I realized the need to study design patterns and the basics of refactoring.
- And as I said, now I have my own app, which no one else has and probably will never have. =)