Do you know .NET Core? And Blazor? Azure? Async? SOLID? GoF? MVC? WPF? MVVM? TDD? PRX? OK, I invented the latter, but give it a minute and it will probably be something you should know. Does this ever seem overwhelming to you? Like maybe you can’t follow or don’t know enough? Have you ever tried to learn something everyone is talking about to get stuck?
Guess what? We have all been there (and we are there). The lie that we are tempted to believe is that we need to know everything to be a good developer. The truth is that knowing how to use all of these tools (and the MUCH MORE that are out there) is not the measure of a great C # developer. Let’s first see what makes a good C # developer:
Knowledge of real language
The quickest way to trip up as a C # developer is to skip this step. Often, the flashy areas of C # catch the eyes of new developers. Xamarin, WPF, MVC, etc. are all good examples. These are not the starting point of C #. They are on the right track to truly understand C #. They rely on OOP, which in turn is based on a common syntax. If you don’t understand C # objects, how to create them, what inheritance is and how events work, how can you even understand a basic Windows Form application? It is built on all of these things. Sure, the drag and drop designer is trying to hide it all, but to really understand what you’re doing, you need to know C #. So start there.
Attention to detail
When I wrote my video on the 10 C # best practices, the main theme of the list was consistency and detail. The setback I received focused on the fact that it was “too basic”. Some people who considered themselves beyond these basics were looking for more advanced best practices, but here’s the trick: it all comes down to the basics. And nothing is more fundamental than attention to detail. Even if you are not focused on details, there are things you can do to help yourself. The reasons are important. Do the same thing the same way every time. Create little habits that help you avoid mistakes.
Continuous and directed growth
Learning new things in C # is a no-brainer. If you stop learning new things, you will start to back off. However, learning new things at random is also not the answer. Sit down and make a plan for what you want / need to learn, then do your best to order it intelligently. For example, learn nothing from Xamarin, then go to ASP.NET. Choose an order that builds on itself. If you are going to learn web development, start with ASP.NET and learn all about MVC. Then learn HTML, CSS and a little JavaScript. Then learn WebAPI and so on. Having a directed road map will help you reach your destination much faster than hitting random places on the map. You will also have the added benefit of knowing where you are in your learning process. This can help combat discouragement.
Practice
This is the most overlooked area of learning C #. Let’s put it in terms of race. If you want to be the best marathon runner in the world, what should you do? Of course, choosing the right shoes is important. The same goes for foot placement, leg movement, arm movement, breathing levels and more, but the most important thing a person needs to do to train is running. Run often. Run regularly. So why do we think learning C # involves watching videos, reading tutorials, or attending conferences? These things are great, but the most important thing a C # developer can do to learn C # is to create applications. Many of them. From small test projects that you build that help you test what you learn to complete projects that put things together, creating apps is extremely important
From good to great
Want to take the next step from a good developer to a great C # developer? It has nothing to do with what you know. Rather, it is what you do with what you know. Bring the others. This includes:
- Share what you know with others to improve their skills.
- Include those pushed to the side.
- Encourage those in difficulty.
- Be a beacon of positivity in a sea of negativity.
Great C # developers are leaders who elevate others in every way possible. These developers, whatever their skill in C #, can change a team for the better. Conversely, a C # developer who knows the language as he wrote it can kill the morale of a team by being elitist or even simply by writing complicated code.
Bottom Line
Becoming a great C # developer is both more and less than just learning a bunch of new technologies. Building a good foundation and building on that foundation over time is a good way to start. However, to really be awesome, you have to look outside of yourself to those around you. So my challenge for you is to define your plan for what to do next, and then execute it. Become an excellent C # developer.
Leave A Comment