What is the definition of a developer’s skill level, and what is the standard of a person’s skill level? Many people think this is a matter of opinion. Some people think that it depends on the level of employees in the company. The answer is definitely not, from a pure development technology perspective. Many people feel that they are proficient in one language and then go to learn other languages, which is called a comprehensive person, but there are many primary level technical personnel who have worked for more than ten years.

Now I will talk about my cognition, C# this technology to learn what level can enter what level.

I often say that C#’s starting technologies are delegates, events, messages. Only when you can master these three skills are you just getting started, then the door of C# is officially open to you. Many of you have learned some syntax and written some projects and think you are proficient in C#, but you haven’t (mostly Japanese developers).

In the last picture, let’s take a look at our position. Of course, it’s purely technical. In fact, sometimes a software architecture can be built with a junior software engineer.

  

 

Comom Language Runtime: Junior staff should ignore it, intermediate staff should at least know it, senior staff should most likely use some of the applications such as Security, and architects should understand the principles.

2,.net Framework: There are many frameworks, the more the better.

If you want to become a master, you must learn all of them. Don’t lose any of them.

Runtime Infrastructure Library: The Runtime Infrastructure Library is a library where you can start to digest a little bit of content when you enter the intermediate level.

5, Framework CalSS Library: These are all basic applications, beginner programmers may be able to touch some, intermediate will understand and use some, advanced will be able to use all.

6, Core Concepts: Same as above.

7, Core Features, Core Objects, CLI Language, DLR…

8, Desktop: CUI understanding line, GUI to in-depth understanding, and here involves XAML language, this to learn.

9. Web: if sharpoint is not involved in the work, it is ok not to know about it, but asp.net is a must, and the MVC should be learned even if it is not applied. Asp.net runtime is a roadblock for the beginner, and the more you know, the better. With Silverlight, xAML is basically available if the job requires mastery.

SOA: This is also a must, and at least one.

11, Open Web Interface for. Net: To know, can use, if the job needs, to master.

12, SDK: to understand, basic use.

13. Development: No one can do this, but you need to be skilled in using tools. After all, the more tools you can use, the better, but it is not a technical bonus.

14, Platforms: This basic is difficult to master, but how much to understand, work used to master.

15. Productivity: Nuget works.

Senior personnel should understand the principle.

17, Testing: Know at least one, the rest to understand.

18, Deploy/publish: this basic is baidu out of the use, understand can, at least know that there is this thing, you can baidu when you need.

19. Framework Tools: Some of these are required and some are useful, but it’s best to know them all and learn how to use them when you need them.

20, Data: The content here is a must for senior personnel, if the ORM can use EF as a springboard for further research (the water here is very deep).

21. Conponents: After intermediate level, it is inevitable to contact these. The more you know, the more progress you will make.

22. Concept: this is not shown in the picture. After intermediate level, you will learn about IOC, AOP, MVC, MVVM, DDD, etc. In the process of learning these, you can gradually advance to be an architect. In the concept can be divided into basic concepts and advanced concepts, like the IOC, AOP is the basic concept, these things when coding your application has been made, and some existing open source code, and the principle is simple, learn to put your code can use specific language after express way, not to understand it, but know more, convenient fool; And DDD is advanced concepts, baidu is not light, must be used to understand, but the advanced concepts of DDD so is very complex, nontechnical people hard to understand, technical personnel may not have such a good eloquence, and IOC, AOP is easy to understand such a simple concept, basically eloquence clumsy developers can also speak very slip, It is very suitable for explaining to the leader. So from the leader’s point of view, basic concepts and advanced concepts are the same, same, same.

Those who thought they were great at C# will be surprised to see that they are just beginners. Those who thought they were good at C# will be surprised to see that they are unfamiliar when they open the picture. In fact, C# is not easier than other languages.

These are only C#, as a programmer, but also have other necessary knowledge, such as HTML and CSS you have to know, JS you have to know, don’t say you know what the meaning of the label is to say that they will, at least DIV+CSS cut map to play up to calculate. Database you will, database water is very deep, do not easily say that they have the level of the junior DBA, those legendary daily backup table data of the junior DBA but even have no entry, do not compare with them; At the very least, as an advanced developer, stored procedures need to be handy, and you need to have at least some experience with large data deadlocks. If the hobby is more rich, the basic use of PS should also be able to understand falsh, 3Dmax can also play ah, programmers should also have beauty. In addition, programmers need to be able to write documentation, solutions are basic skills, and high-level outline design is also documentation. In addition, senior programmers have to write some PPT.

There are also things to know about operating systems, hardware, software tools, etc., because whenever you’re faced with a performance bug, you don’t necessarily need their knowledge to solve it or explain it.

Take it to the next level and touch some open source code. Now that Xamarin is open source, have you checked it out? A lot of open source code is very impressive, don’t tell me to download some open source code in CSDN ah…

[PS: If you need to purchase Xamarin Android framework, please contact me. There are two types: original framework and Web embedded framework. The latter adopts AngularJS + Web API technology and implements MVVM on web page side:]

All the above are pure technical analysis, of course, not all, if there are omissions welcome to supplement.

Above all of these are pure technology, is a virtual society, back to the real world, because some people are by junior programmer, especially what entry-level programmer, advanced placement to the architect directly, or senior programmers, triggering code chaos of the world, and such talent succeeded, in addition to their own age and eloquence, the force and the non-technical personnel is one of the main reason. However, we are a commercial society, some projects can be used, and some projects are necessary to delay to the end of the end, so the importance of eloquence is no less than skill. An architect with no technical skills is no worse than an architect with real skills, even if their other skills are zero, because I believe that existence is justified.

—————————————————————————————————-

Note: This article is original, welcome to reprint, please give a link to this article in a prominent position on the article page! If you think this article is good, please click on the recommendation in the lower right corner, thank you very much!