Brutally honest advice for new .NET Web Developers

Ed Andersen
26 Mar 202407:19

Summary

TLDRThis video script offers a comprehensive guide for aspiring .NET developers, emphasizing the importance of mastering C# and ASP.NET MVC before exploring other frameworks. It advises against starting with Visual Basic .NET or F#, and highlights the necessity of understanding core web technologies like HTML, CSS, and JavaScript, with React as the recommended single-page application framework. The presenter also stresses the need for foundational software architecture knowledge, recommends key books, and discusses the prevalence of .NET in enterprise settings. It cautions about job descriptions that might involve outdated technologies and concludes with the advice to build a full-stack .NET application as a portfolio piece.

Takeaways

  • 😀 Start with learning C# as it is fundamental for .NET development.
  • 🚫 Avoid learning Visual Basic .NET or F# as a beginner, focusing instead on C# and ASP.NET MVC.
  • 🌐 ASP.NET MVC is a crucial first step in web application development, providing core concepts like routing, view models, and MVVM.
  • 🚫 Steer clear of Razor Pages and Blazor for beginners, as they are not foundational for broader web application frameworks.
  • 🌐 HTML, CSS, and JavaScript are essential building blocks for web development and should be mastered before diving into abstractions.
  • 🔍 For single-page application frameworks, React is recommended over Angular or Blazor.
  • 📚 Books such as 'Pro C# with .NET 6', 'Clean Code', and 'Dependency Injection in .NET' are considered foundational for .NET developers.
  • 💾 SQL Server is the primary database for .NET applications, with Entity Framework Code First being a recommended ORM.
  • 🏢 Be aware of the types of companies that use .NET, typically enterprise and large organizations, and be cautious of job descriptions that may imply .NET Framework usage.
  • ⚠️ Watch out for red flags in job descriptions such as WebForms, SOAP, WCF, or MSMQ, which indicate outdated technology.
  • 🏗️ Build an app as a demonstration of your skills, using .NET and deploying it on Azure App Service, and only learn Docker once you have a running app.

Q & A

  • What is the first programming language a .NET developer should learn according to the script?

    -The first programming language a .NET developer should learn is C#.

  • Why is it not recommended to learn Visual Basic .NET or F# as a beginner in .NET development?

    -It is not recommended because Visual Basic .NET is often associated with legacy code, and F# is considered suitable for more advanced developers with 'galaxy brains', implying it has a steeper learning curve.

  • What is the recommended order for learning web application frameworks in .NET?

    -The recommended order is to learn ASP.NET MVC first, followed by other frameworks. Razor Pages and Blazor are not recommended as the first learning step.

  • Why should a beginner avoid learning Blazor as their first web application framework in .NET?

    -Blazor is described as an abstraction over abstractions, which might not be suitable for beginners as it could hinder the fundamental understanding of web development.

  • What are the three core concepts that are fundamental to C# and .NET web application frameworks?

    -The three core concepts are routing, view models, MVVM, Web API, and API controllers.

  • Why is it important for a .NET developer to learn HTML, CSS, and JavaScript?

    -These are the basic building blocks of the web, and understanding them is crucial for developing web applications, regardless of the abstraction layers that may be used.

  • What single-page application framework is recommended to learn for a .NET developer?

    -React is the recommended single-page application framework to learn.

  • What foundational software architecture concepts should a .NET developer be familiar with?

    -A .NET developer should be familiar with dependency injection, SOLID principles, and writing testable and decoupled code.

  • Which three books are considered as essential reads for .NET developers according to the script?

    -The three essential books are 'Pro C# with .NET 6', 'Clean Code' by Robert C. Martin, and 'Dependency Injection in .NET' by Mark Seemann.

  • Why is SQL Server the recommended database system to learn for .NET developers?

    -SQL Server is recommended because 95% of applications using .NET are in SQL Server, making it the most common choice in the industry.

  • What is the advice for .NET developers regarding the types of companies they should target for employment?

    -.NET developers should target enterprise-level companies, big companies like banks and insurance companies, as these are the types of companies that commonly use .NET.

  • What are some red flags to watch out for in job descriptions for .NET developers?

    -Red flags include mentions of WebForms, SOAP, WCF, or MSMQ, which indicate outdated technologies and may not be suitable for those looking for modern .NET development roles.

  • What is the advice for a junior .NET developer regarding advanced topics like event sourcing and CQRS?

    -Junior developers should not focus on advanced topics like event sourcing and CQRS until they have a solid understanding of building full-stack web applications and are more senior.

  • What is the final piece of advice given for someone considering applying for a job as a .NET developer?

    -The final advice is to build an app in .NET, which demonstrates full-stack capabilities and understanding of the entire development process.

  • What platform is recommended for deploying a .NET application when starting out?

    -Azure App Service is recommended for deploying a .NET application, especially for beginners, due to its free plan and compatibility with .NET.

  • When should a .NET developer learn Docker according to the script?

    -A .NET developer should learn Docker once they have an app that is running and deployed, rather than at the beginning of their learning journey.

Outlines

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级

Mindmap

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级

Keywords

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级

Highlights

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级

Transcripts

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级
Rate This

5.0 / 5 (0 votes)

相关标签
.NETC#ASP.NETWeb AppsMVCJavaScriptReactSQL ServerSoftware ArchitectureCareer Advice
您是否需要英文摘要?