How can I determine if I am a skilled programmer and improve my skills? #programming #developer #coding
I have been programming for 4 years, teaching myself using free resources. I focused on Frontend development for 2 years as a hobby before diving into Computer Science. I have experience with languages like C/C++ and Golang, and have built several apps including CRUD apps and a Reddit scraper. Currently, I am enhancing my skills in data structures and algorithms by practicing on platforms like LeetCode.
Despite my experience, I sometimes doubt my programming abilities. How can I assess if I am not just a mediocre programmer and what steps can I take to become even better?
> Sometimes i dont feel i am good enough. So how do I if i am not a medicore programmer & what to do to be a good one?
Everyone feels this way sometimes – the main thing I would suggest is trying to find a group of more experienced developers and try to learn from them. It sounds like you’re working alone a lot, which is why you’ve little reference for what it means to be a “good” developer (for some value of good).
Also start asking yourself more deeply what it means to be a “good” programmer. Is it producing high quality software? High quality in what ways? Is it working well within a team? If so, how? If you ruminate about what it means to be “good”, you’ve a better chance of actually attaining it.
What makes a good programmer is problem solving and following conventions (code as well as file structure), principles and design patterns, knowing which algorithms to use for what scenarios and how to implement them (although you have libraries for those), using the right data structure, programming defensively and securely, and using the right paradigm for the job. Logging as well and using code versioning (git), and the ability to work in a team. Communicating with team members, including non-programmers.
that’s the neat part, you don’t
By this I mean that many people always struggle with imposter syndrome, since there is no way anyone would know everything even within a narrow specialization. There is always something to learn, and there is always somebody more knowledgeable than you in a particular field. Feeling the need to improve is a great start to become an expert
You’ve been programming 4 years, you’ve probably got a way to go before you get to mediocre.
You have to keep making projects, keep pushing yourself. Don’t make projects well within your abilities, make projects that *extend* your abilities.
Why are you asking yourself this question? Is your plan to make a career out of this? My 2c is that until you do it professionally you’re probably lacking skills (with obvious exceptions). Whenever I hire someone without experience it’s at least 6 months before they’re productive almost without exception. 2-5 years into the industry I’ll say you’re “good”