I know, because I also felt the same way when I first started. I had close to no experience in coding, I didn’t know if I was smart enough, and I didn’t know if learning web development would actually be worth my time.
There are certain traits that I have found many software developers to share. While the traits may seem innately intrinsic, they are rather attitudes that can be developed.
The most important trait to have when learning web development is motivation. Without motivation, no matter how smart you may be, you will never be able to learn web development.
Learning how to code initially is extremely difficult. At first, it seems like an impossible task. Most people who have never reached the level required to start making applications imagine coding as being incredibly difficult and a feat for the intelligent. I thought the same as well, thinking that coding is something for smart people.
But learning how to code is more of a mental game. When you first start out, you’ll run into countless bugs, and you’ll have no idea how to solve them at first. If you don’t have the motivation, instead of trying to solve those problems, you’ll most likely quit.
So before even considering learning to code, it’s important to ask yourself if you have the proper motivation to start learning in the first place. If you feel an inner motivation coming within you that is urging you to learn, then chances are, you will be learning extremely quickly.
Debugging errors in the inital phase is both extremely time consuming and frustrating. You’ll Google the error message, you’ll try out different solutions, and most of the times you still won’t be able to fix the bug.
As a software developer, it’s common to be stuck on a bug for hours and hours. If you don’t have the grit to work on the problem until it is fixed, you won’t progress as a developer.
As a software developer, your job is solve problems. A common trait amongst developers is the ability to figure things out.
Figuring things out is essentially just breaking down big problems into small pieces, then solving them step by step. People that are good at this also tend to be extremely fast at breaking things down, trying different solutions, and figuring out what works and what doesn’t.
Software engeering is a pursuit in which there is no limit to the amount of knowledge and skills there are to learn. Most software engineers are passionate about what they do, and find the job interesting and fulfilling, thus spend a lot of time learning things on their own.
However, most of the times, there won’t be a teacher teaching you everything you need to know - most learning is done by reading books, reading blogs, and actually implementing new knowledge.
Self-learning is a crucial way to progress forward as a developer.
In the end, all of these things are really come down to your attitude towards learning in my opinion. They aren’t traits that are impossible to acquire - they’re simply traits that can be acquired through a shift in attitudes.