I am sharing an incident when I was building my first project. I had a cs degree, I knew c# and .net but I’ve never built anything with it except few console and very small windows app. I was writing a code of uploading images and I needed to write the same image upload code in multiple places. It was fine when I’ve copied it in 2 or 3 places, but I was getting annoyed when I had to copy it in multiple places. I did not bother to refactor it. Honestly, I didn’t even know about refactoring. But in future, I had to update the code and I had to update the code in multiple places. Then I got to know about utility or helper methods. Later I learned that it is a concept called DRY (Do not repeat yourself).
Some of us don’t understand things until we have done a mistake. Honestly, I’ve always been a hands-on learner. First I get my hands dirty with coding then I try to understand the concept. If I recall the past, there were so many mistakes I did and that introduced me a new software engineering concept. Like, I could never understood the database normal forms in collage. But, when I built actual projects, then they come naturally to me. There are a lot of concepts I’ve learned by building projects.
It would be nice to learn concepts first then apply them. This experience made me realize something about how I learn. But, not everyone understand them without experiencing the paint of mistakes. So if you are starting out, build side projects, make a lot of errors in a safe environment, try to refactor the code.
