I’m new to this forum, although I have use freeCodeCamp before for certifications. I thought I would post heer to see if my situation is normal or not.
I have been coding in c# (mainly backend/winforms) for the last 10 years. I am basically providing contract work to another company and work on my own as the sole developer of a bit of software (an ERP system).
You would think with 10 years behind me that I would be pretty confident in my skills. However that couldn’t be further from the truth! Pretty much every other day, I encounter something new, and it leaves me having to ask google how it works or how to implement it. As a programmer, I have always had the notation that using google was normal as the vast amount of libraries and whatnots would be impossible for one mind to remember, but i’m now wondering if this is correct?
Being a sole developer, my code isn’t peer reviewed and I don’t review other people’s code. I am aware that my own code whilst functional, is not great, and this is because everything I am tasked with coding needs to be done as an ‘emergency’ and asap, and nothing is planned properly. I try to follow the SOLID principles, but it is hard in such a development environment. I would say 90% of my code doesn’t follow SOLID, and it definitely doesn’t follow any specific design patterns! This leaves me feeling like I’m not a good programmer. Has anyone else been in this boat?
When I watch youtube videos and read articles, the authors always seem to blast through there solutions and seem to know how to do everything without google. The speed at which they do things and the fact they seem to always know what they are doing has left me feeling like I am still a novice. they can jump from backend to mvc to blazor to unity and seems to remeber they exact syntax for all of it (i.e like the naming conventions in .net MVC, and the attributes you have to use etc). After 10 years, I would have liked to have thought as myself as someone at the level of a senior programmer, but instead I just have this constant feeling like I am still a junior programmer. Is this normal?
You are not alone. Though I’m only two years in I already know that I will always feel like a beginner.
Just think of the latest web development trend: After a decade of building everything on the client side, everybody now went back to building on the server. Even React.
Plus AI. Even if it won’t replace us, there will probably much less front end work when you can build the designs you get handed with a prompt. We can also expect much faster change and progress with more capable AI tools.
We are in a volatile trade that never sleeps, something everyone interested should be aware of. Also why I’ not willing to do this for less pay. I love tech, ever have, that’s why I’m willing to adapt.
The key thing you are missing here is that the majority of youtube videos are heavily edited.
Most youtubers will do multiple takes for coding through the project and will have an extra screen or tab with working code.
What you don’t see are all of the mistakes, and times where they did have to google for answers.
Very few will choose to record themselves live without having looked at the project and decided how they will choose to build it.
Most have already worked out the solution and know exactly the approach before they do a video even if it is a live twitch stream.
using google is totally normal.
I have talked with engineers who were 20+ years into the industry and worked for major companies and they still look things up.
I bet you are not the only one that is going through this.
I remember a few years ago another guy that was 7 years in basically posted about the same thing.
My guess is that you are probably better then you think you are.
The fact that you are asking these questions , and still doing certifications and watching youtube videos means that you care about programming and want to produce good work.
This sounds like a case of imposter syndrome to me
One thing that might help is to slowly get involved with open source projects.
Maybe collaborating with others on a project and reviewing each others code might highlight that you know more then you think.
Also, you can grow together and learn together in the process
Thanks for the reply. Yes AI is an amazing thing but also a bit worrying! I asked GPT4 if it could produce another version of itself based on the knowledge it has. Its reponce was along the lines of “no becasue I have limitations set by my programmers, although I could produce an AI like myself based on what I know if these limitations were removed”. Lets hope they dont remove those limitations, else we’re all going to have to take up jobs fighting the AI! Suddenly terminator doesnt seem so much like a fantasy movie!
Thanks for your reply. I suspect you are right and alot of it is imposter syndrome. It did occure to me that these people making the youtube videos might be following a script, but I dismissed the idea because they always seem to do the videos in 1 take and effortlessly. Maybe I should start making some of my own videos and see how I look on the other side.
Great idea about the open source projects, I will look into that for sure. At the moment I spend my personal dev time trying out new technologies and researching, but heres no reason I couldn’t combine the two.
One of the biggest issues I encounter is the constant shift of the trends (as @DanielHuebschmann mentions too). Just when I get confident with something, the trends change and I find myself having to learn a whole new set of rules.