1) Fear and self-doubt
I have put this in the first place because it's the most important thing which you should know. When people first begin a task, the moment they reach complexity outside of their realm of understanding they will say one of two things:
- I can't do it.
- I can sit here long enough to work it out as it's just a matter of time
Beginners will choose the first option, a lot more than the second option, a seasoned developer will choose the second one. And therein lies the good news. If a skilled developer has the second attitude then logically speaking the newbie developer just needs to be mindful of this and realize we all have to start somewhere. If you find that you don't understand something remember this is normal. Just break the problem down into small steps and try to solve each one in turn. If after roughly 2-3 goes at each step you still can't crack it then seek help either from your colleagues or another seasoned professional. One of the reasons that we believe in instructor-led classrooms (remotely) is that there is no better substitute for a pro that can help you if you really get stuck. But we urge all students to fail first before they ask for help, this helps them to cement knowledge and it builds their confidence.
2) Poor attention to detail
If I had to say what is the number, one problem with starters is, that it's that when they get stuck and ask me to fix things for them is that they have followed the demonstration but that they have rushed in and left certain aspects out. Remember to pay close attention to the code you write as a beginner and think through steps and look at what you are doing to make sure it makes sense.
3) Trying to compete
When learning to code many people find it good to compete. There isn't anything wrong with this mindset if it helps you keep motivated and focused, however as a professional you have to be very careful you don't let this onto others or use it a crutch to gain respect. The most important thing as a developer is to be knowledgeable and always ready and happy to help your colleagues (who may not be as technically gifted as you are). This will provide you with greater respect by all around you and set you apart as a leader. This will ultimately accelerate your career as a web developer/programmer, the best teams are full of leaders.
4) Too many comments
As in other blogs writing code is about communication. And if you write your code properly then it should communicate properly to the machine but most importantly to the human reader. Here's the thing, high-level languages such as C# weren't designed for machines they were designed for humans. They are simply an abstraction several layers up from what a machine understands (assembly/binary). With that in mind, why would you need comments? If you have been given the virtue of a beautiful high-level programming language then use it to its full extent and create clear, concise and expressive code.