DEV Community

Jasurbek Kalandarov
Jasurbek Kalandarov

Posted on

Learning by doing

Hi!

My name is Jasur. I used struggled, like others, on learning how to code and how to bring peices of codes together so that the app works. A month ago, I passed tech interview and got job offer at Epam Systems. I want to shortly talk about how I did it.

Like many people, I've started learning programming watching tutorials and pausing and doing the steps shown in the video. But, when it came to create something on my own, I could not do it. One can bring endless reasons forward why I could not do it, but I believe I did everything backwards. Another reason is I wanted to learn everything at once as I wanted to be a full stack developer. So, I was learning HTML for 2 weeks, another 2 weeks for CSS, a month for JS, and so on. That way, I wasted about 4 years of time.

It takes a great deal of practice and some time until you grasp a solid knowledge of something. You can't master something in a month. (May be you can, I am not going to argue with you!). My point is output = input * retries. Then, instead of becoming a full stack developer I decided to narrow my focus. I started practising Express.js with MySQL only. When I was confident about my knowledge, I started using other frameworks/libraries with them.

The quality of my code was not good, in the beginning. But the goal was to make the app work, refactor later. Over time of practising, the quality of the code started improving. Instead of rewriting functions I started making re-usable functions and exported/imported them where necessary.

My life changed when I actively started using classes and objects. OOP makes life easier, your code well organised and readable.

My advice for beginners is to start learning by doing small projects. When you can't find a way to how to solve a problem within the project look for an answer from documentation, stackoverflow, tutorials. The order mentioned above is important. You should get used to reading and understanding docs. Of course, not all documentations have in-depth information but you can get the general idea at least.

Once you have a working app, you can start refactoring your code and/or add additional features. Once you start scaling your app, you will run into different issues and learn lessons how you should have organised the structure from the beginning.

Don't forget learning is a life-long journey!

Top comments (0)