Got a front end developer position. Need advice

Hey everyone,

TL;DR: Do any .Net developers have any advice for me, can anyone point me at the best resources for getting to grips with .Net and C# in the context of web development.

So I got a job, I start on the 4th of September.
It’s going to be intense, they straight up said it wasn’t 9-5 it’s more like half 7 till 6 + weekends.
The monetary rewards however seem errr pretty great if you can hack it.

So the technology stack is HTML, CSS and JavaScript. On the back end I know they use C# and .Net. I’m fairly comfortable with front end using core technologies but I know nothing about C# or .Net. Whilst the job is front end I’m going to be expected to pick this other stuff up, plus I want to. So do any .Net developers have any advice for me, can anyone point me at the best resources for getting to grips with .Net and C# in the context of web development. Am I right in thinking that .Net is going to be a bit like Ruby on Rails with the MVC model and similar style in delivering web pages and content?

Thanks in advance

Re .Net/Rails - er yes, ish, I guess sort of like Rails but much more general. ASP.Net would be the better comparison (though that was built more to compete with PHP, predates Rails I think).

Re C# - It being statically typed and compiled will be a big jump; if you’ve only worked in dynamic languages beforehand it will be an enormous pain in the ass at first. Someone else can probably recommend learning resources: I’ve just kinda picked things up as I went along, but in retrospect that was the wrong thing to do I think - I should have learned the basics of the platform first, worked through a course or two.

C# is [much?] easier than JS I guess, it’s just bigger. Like Java, designed for big teams, designed to be easy to train new Devs on quickly. Better designed language. Much more consistent. However, I dislike OO languages, find them a bit confusing (vs functional), so probably someone else is better placed to advise in detail.

1 Like

Hey man, thanks for the reply.

You’d probably be working more with the files in the /View folder of their MVC project. And your colleagues will probably be working more in the Model and Controller folders.

The View folder is pretty much HTML (but with a .cshtml file extension), so anything you know like HTML, CSS, JS, Frameworks, Bootstrap, Angular, etc… all still apply and will work here.

The only difference is the Controller will be passing to you Classes/Models to your View page, so you can display them on screen, or send data back to the Controller. So you’ll be primarily working with WebRazor syntax. It’s the way to access the members/elements of your class models.

BTW… everything in C# is a CLASS!

<h1>@Model.Title</h2>

So in a way, it’s kinda similar to embedding variables back in Classic ASP

<h1><%= myTitle %></h2>

which is kinda similar with PHP. And also similar with Rails

<%= @myTitle %>

You need to learn Visual Studio because VS will help you with its Intellisense, code completion and letting you know fixes for common problems. Plus… you need the VS IDE to work with the other aspects of creating a View page, like Partial Views, ViewImports, ViewStart pages, sections, creating ViewModel classes, etc. You’d also need to learn about Html helpers. These helpers “help” you by tying your View to models at the backend. For ex: a typical form may look like

<form asp-action="Edit" method="post">

  <div asp-validation-summary="All"></div>

  <table>
    <tr>
      <td>Movie Title:</td>
      <td><input asp-for="Title" placeholder="enter movie title" size="30" /></td>
      <td><span asp-validation-for="Title"></span></td>
    </tr>
    <tr>
      <td><label asp-for="Genre"></label></td>
      <td>
        <select asp-for="Genre" asp-items="Html.GetEnumSelectList<Genres>()"></select>
      </td>
      <td><span asp-validation-for="Genre"></span></td>
    </tr>
  </table>
  <input type="submit" value="Edit" />
</form>

See those asp-* statements? Those will get rendered into proper html later on.

Of course, you can also embed C# code or functions in your Views, use foreach iteration, etc. So that’s when knowledge of C# comes in. The C# syntax is easy to pick up… the challenge is knowing the thousands of C# functions you’ll need to use. But this only comes with experience.

For resources, ASP.NET, the microsoft website, Pluralsight… and some courses on Udemy. – and of course StackOverflow.

1 Like

Thank you very much for the reply and for the snapshot into what my job will likely entail, I really appreciate it.

At work, we do ASP.Net development. The information below is geared towards Full Stack Development using MVC 4 and 5. I maintain a list of Required knowledge and training resources for our New Developers.
The first five training links will get you up-to-speed quick.
By signing up with Visual Studio Dev Essentials, you get 3-months free to Pluralsight.

ASP.NET Development Required Knowledge

NTFS (New Technology File System) Permissions
Networking
HTTP Protocols
Git version control
Systems Development Life Cycle (SDLC)
T-SQL
SQL Server
Visual Studio
NuGet Package Management
C# Programming
Linq
Software Testing using MSUnit
IIS (Internet Information Services) Web Server administration
Web.Config configuration
ASP.NET Web Pages (Razor)
ASP.NET MVC Framework
ASP.NET Security and Identity
ADO.Net
Entity Framework
Web API
ASP.NET application life cycle
Web application security

ASP.NET Training

  1. C# Fundamentals for Absolute Beginners (VIDEO)
  2. Learn ASP.NET in MVC Style (CodeProject.com-Free)
  3. Become a Full-stack .NET Developer Part 1 – Fundamentals
  4. Become a Full-stack .NET Developer Part 2 – Advanced Topics
  5. Become a Full-stack .NET Developer Part 3 – Architecture and Testing
  6. ASP.NET Razor - Markup (w3schools.com)
  7. Introduction to ASP.NET MVC (VIDEO)
  8. Implementing Entity Framework with MVC (VIDEO)
  9. ASP.NET MVC 5 with Entity Framework (VIDEO)
  10. What’s new in C# 6.0 (VIDEO)
  11. C# 6.0 New Features (VIDEO)

Extended training

  1. Learn ASP.NET MVC (ASP.net-Free)
  2. Web Development Courses Series (VIDEO)
  3. C# Learning Path
  4. ASP.NET MVC 5 Learning Path

Deep Dives

  1. Getting Started with Asynchronous Programming in .NET
  2. Object-Oriented Programming Fundamentals in C#
3 Likes

Congratulation! @fauxpas.
Check out http://programmingwithmosh.com/ links I see he is a great teacher.

1 Like

Thank you so so much. This is exactly the sort of thing I was looking for. You’re a hero!

Edit: heads up the w3schools.com intro to asp video is 404
Edit 2: links 9 and 10 are also no longer active.
Edit 3: Link 1 is retired but provides an updated course to go to - https://mva.microsoft.com/en-US/training-courses/c-fundamentals-for-absolute-beginners-16169?l=Lvld4EQIC_2706218949

Once again, thank you so much, especially great tip on signing up for the Visual Studio Dev Essentials.

All links have been saved and dev essentials is registered.

Hahaha thanks man!
I’ll check it out

It’s been a little time since the last time updated the list. I made corrects to several links and added a couple. I might have to create a GitHub page for running links. It will make it easier to share.

1 Like

Read a book on c#, .NET, … its a lot to take in because its a language c#, but also .NET is entire infrastructure and libraries, you will take at least a year to be good at it
Good luck.