Learning to code by referring to existing projects
![](https://steemitimages.com/640x0/https://bala-blog.com/wp-content/uploads/2019/05/developer-3461405_1280.png)
For any tasks we do, having a reference material is always good. We can remember something from our childhood that we intend to admire someone and wish to become a person like them. During young age, we may not have our own unique things to showcase. It will either be things or skills that are brought from our parents or from what we observe in our life. This is common even if we grow up. We will not be able to do all the things on our own. Taking references is quite common.
As humans, we tend to take references from the best things that we usually see outside. After taking references we then add our creativity to make things better. When I started writing code, that is exactly what I did. I did not write all the codes on my own. Most of my initial projects were something that I copied from online sources or from other projects. Even today I say to my teammates that it is a fair thing to do because we have several problems in coding like deadlines, lack of knowledge, lack of resources, etc. Considering all that, in order to come up with a solution so soon, referring to online materials or codes is always a good thing to do.
![](https://steemitimages.com/640x0/https://cdn.steemitimages.com/DQmPPvhCvxHdHJoHDgwKa8hsXSbwH4UPh9RqCeQ1ytHAUL9/image.png)
Even today, I keep learning new things by referring to existing projects. My ideology is that, when we start writing code for new projects, it is quite obvious that we will not be able to achieve all the requirements with the knowledge that we already have. If we have to achieve something in an optimized solution, it is always good to refer to some existing projects. It can give some basic idea and also when we see different solutions online, we will be able to get some experience as to how we should handle our requirement. Even in the future, if we get similar problems/requirements, we will easily have multiple solutions in our hand.
Same requirement but different approaches
While glancing through some of the existing projects available online, I usually see that a similar requirement can directly through multiple approaches. If I read the answers from Stack Overflow or any website, the author or the coder will explain why each approach is best. This gives an insight as to why we should be using that approach and whether that will suit our requirement or not. If we go with the solution that we have in our mind, we are not giving some space for new learning at all.
![](https://steemitimages.com/640x0/https://cdn.steemitimages.com/DQmY65MpFhqW58uUXNP9cXEbGmFwuwaSLgoJS7CVZfqdDbW/image.png)
When I look online for the solution to my requirement, I might end up reading lots of articles and that also gives me lots of experience. Even though some may not be relevant for the current requirement that I have, it will help me use that solution when I have a similar requirement in the future. This gives multiple learning experiences from a single project.
Will it affect our thinking ability?
I once shared this ideology with one of my team members and she started arguing saying that if we do something like this, the self-learning and self-thinking ability will reduce. In a way, it is true because ultimately we are not writing any code from scratch on our own. But I explained to her saying that it will not affect our abilities because we still implement solutions only by understanding what we are doing. If we blindly loot code from other project and insert it into our project, then it should definitely be an issue and I will never recommend that approach at all. But if we fully study the code that we take from online sources and implement it in our project, then it should definitely be additional learning for us.
![](https://steemitimages.com/640x0/https://cdn.steemitimages.com/DQmbZaxS8avxrNsqKsHYheoX5zq7kVay7NMHUmntuUsnUnk/image.png)
When we do things by ourselves, we will be exploring it or we will be approaching the requirement only with the concept that we are familiar with and only with the concepts that we already know or we have already coded. But when we try exploring other options or opportunities, there is a huge learning curve for us instead of rolling again and again inside the same little loop of knowledge that we have.
Posted from my blog with SteemPress : https://bala-blog.com/learning-to-code-by-referring-to-existing-projects/
![SteemPress](https://steemitimages.com/640x0/https://cdn.steemitimages.com/DQmPW2e2moWC23SxSL3MDMAfEJxrzKdoRGNV9kzyvrcVACs/image.png)
Hay, great post. I learn a lot from researching online...however I suffer from shiny new object syndrome and waste many hours going down rabbit holes.
Loving that you are using steempress. Nice wordpress blog. You should turn on the steempress bidirectional comments 😉
Posted using Partiko Android
Yes that happens to me as well. I start reading something online and then end up spending several hours reading so many things.
Regarding my blog. Thank you. I still have to make my blog a lot better. It is still very basic now. I have to focus on SEO and then enable bidirectional comments. I will do that soon. Thanks for stopping by and curating my post. 😀
I have been focusing on SEO a lot this year and I have had great results. Its all testing. From what I have been told, the bidirectional comments will aid with seo.
That's nice. I will also enable it soon. I already have an approved Google AdSense account but have not been using it. I will soon start using that as well.
Great.. These coders are awesome!
Good post!
This is why also teamwork is so important! You learn something from each other, And I guess the main thing here is not to be afraid of asking things. It's okay that sometimes your knowledge is lacking something.
Yes we shouldn't be hesitant about knowledge sharing at all. We might be an expert in some areas and another person in the team will be an expert in a different area. So, it is good that do a team work and share the knowledge.