For new developers getting started learning their first programming language and software development in general, it’s common to find it difficult to get started. It’s also common to struggle to get beyond the point of the simplest ‘hello world’ app, because building anything more than this requires significantly more understanding of key concepts, like boolean logic and iteration.
I see too many posts shared online where new developers are asking how can they get started quickly, or questioning how long it takes to develop skills to some level of competence. What these new developers tend to have not realized yet is that learning a programming language, learning tools and frameworks, learning software development in general is not a finite activity. There is no definite answer to these questions, because you will always be learning something new throughout your career, and you need to make a conscious and ongoing effort to make sure you keep your skills upto date and relevant.
At it’s core, there is no escaping the fact that software development is a complex and difficult activity. It requires a combination of many skills, from understanding a problem, finding effective solutions to a problem, and implementing a solution by converting concepts into instructions that can be executed by a computer. Learning a programming language is just one small part of this, but the process and speed that a developer can learn a language can vary dramatically – it could take a few months to a couple of years, at least to get to a point where you can comfortably use the features of the language to implement a solution. It doesn’t stop there though, at this point you have an understanding of the bare minimum, because software development as part of a team usually involves a much larger ecosystem of supporting tools, like issue trackers, version control, build and deploy tools, and runtime platforms.
If you are just starting out and are intimidated by the seemingly impossible task to learn how to develop software, stick with it. It will take a commitment of time to build up your skills and experience – you need to be thinking in terms of months to 1 to 2 years. If you’re looking at this and thinking this is something you can pick up in a couple of weeks, that’s completely unrealistic and it’s not going to happen. As long as you are dedicated and committed to learning, and have enough time and realize that it will take time, you will get there.