none
About .Net Backend-developer's Skill and Knowledge RRS feed

  • Question

  • Hello,

    What expectation of knowledge and skill as a .Net backend-developer should you enable to handle?

    My reflectation is:

    *Entity framework .net / EF Core
    *Threads
    *LINQ
    *Object based programming
    *Visual Studio XXXX / Visual Studio Code
    *ASP.NET MVC / ASP.NET Core / ASP.NET WebAPI
    *Azure
    *SQL Server
    *C#

    What more from the list is missing?

    What more knowledge is needed that is not only .net development?

    Thank you!
    Tuesday, October 22, 2019 7:49 PM

All replies

  • What does ASP.NET MVC which is at the presentation layer (frontend) and a UI design pattern have to do with backend development?

    https://www.codeproject.com/Articles/228214/Understanding-Basics-of-UI-Design-Pattern-MVC-MVP

    https://www.dofactory.com/net/design-patterns

    Understand n-tier, layered and combining of styles

    https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ee658117(v=pandp.10)

    https://en.wikipedia.org/wiki/Separation_of_concerns

    https://www.guru99.com/test-driven-development.html

    https://techbeacon.com/app-dev-testing/get-your-feet-wet-domain-driven-design-3-guiding-principles

    An IoC instances the object that is kept in an IoC container so that you don't have to use the 'new' keyword to instance the object gluing your code to the object's implementation, which promotes loose coupling.

    https://ardalis.com/new-is-glue

    https://msdn.microsoft.com/en-us/magazine/mt703433.aspx?f=255&MSPPError=-2147217396

    https://www.tutorialsteacher.com/ioc/inversion-of-control

    DIP is about the abstraction  between high level and low level object.

    https://deviq.com/dependency-inversion-principle/

    Tuesday, October 22, 2019 8:32 PM
  • Hello,

    Missing

    • TDD (Test Driving Development)
    • SQL-Server is only one of many databases e.g. Oracle, MySql are two common ones to know. Each database syntax is slightly different e.g. adding a new row to a SQL-Server database vs Oracle and get the new primary key is different. Suppose a requirement is to use Entity Framework Core for MS-Access, it's possible, should be known.
    • Working with older .NET Frameworks.
    • Write and read gherkin.
    • Window Services
    • WPF
    • Universal Windows apps
    • Interacting with JSON, XML on large/complex schemas
    • How to delegate when possible
    • Have core understanding of frontend coding especially when working with web developers.
    • Asynchronous programming along with what you have on threads.



    Please remember to mark the replies as answers if they help and unmarked them if they provide no help, this will help others who are looking for solutions to the same or similar problem. Contact via my Twitter (Karen Payne) or Facebook (Karen Payne) via my MSDN profile but will not answer coding question on either.

    NuGet BaseConnectionLibrary for database connections.

    StackOverFlow
    profile for Karen Payne on Stack Exchange

    Tuesday, October 22, 2019 9:40 PM
    Moderator
  • Also, not exactly essential but important:

    - Networking / Pipe communications: There are times your code will need to talk with 3rd party systems or hardwares (there are drivers of hardware that also installs pipes for you, so you need not talk with raw drivers, and others listen to TCP/UDP port so you can talk with them on TcpClient/UdpClient), there are also something like SSO gateway where you'll talk with them on specific protocol, but either they'll provide manual for you that you can study on, or they'll provide DLL for you to call.

    - Disaster recovery: Although the common understanding is that, this is the job of support staffs, in reality they're just executing DR guide written by devs, and knowing the dependency (especially when there is explicit sequence of starting things up) between subsystems is more important for backend developers than frontend developers when drafting this.

    - Performance profiling: identify common cause of slow performance, knowing whether it's coding performance issue or you really need new hardware

    - Knowing coding patterns that will prevent deadlock: I think it's obvious on this one.



    Wednesday, October 23, 2019 2:04 AM
    Answerer
  • Greetings Sakura.

    There are millions of specialist skills available for .NET. Realistically, you can't learn all of them. Not if your brain capacity is similar to mine, anyway.

    If you are looking for a job and you are competent in all the areas you listed, I would say you are doing very well. You can learn other skills when you need them.

    Wednesday, October 23, 2019 2:38 AM
  • Hi Sakura Data, 

    Thank you for posting here.

    According to your question, you can refer to the following references.

    1. What are the essential skills of a .NET developer?
    2. 20 Development Leaders and .NET Pros Reveal the Most Common Skills & Characteristics of Great .NET Developers
    3. What are the technologies that a .NET developer must master?

    Hope them can help you.

    Note: This response contains a reference to a third party World Wide Web site. Microsoft is providing this information as a convenience to you. Microsoft does not control these sites and has not tested any software or information found on these sites; Therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to make sure that you completely understand the risk before retrieving any software from the Internet.

    Best Regards,

    Xingyu Zhao


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Wednesday, October 23, 2019 6:00 AM
    Moderator