When I say I want a C# developer what I actually want is an ASP.Net developer?

So putting all the XAML stuff to one side (sure that can be web but it is usually referred to as “XAML”) this is an attempt to quantify what it might mean to be a C#, ASP.Net developer today – this is actually an impossible job as these requirements are specific to individual roles and are also in a constant state of flux with prevailing technology changes! (Click on the headings for wider definitions from Wikipedia)

The following five items are probably the “pillars” in terms of requirements to be an Asp.Net developer. In addition a rudimentary understanding of a back end database such as SQL SERVER is a common requirement.

 

1. C#

“C# is a general-purpose, object-oriented programming language.[9] Its development team is led by Anders Hejlsberg. The most recent version is C# 6.0 which was released in 2015”

2. ASP.NET

“ASP.NET is an open-source server-side web application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, web applications and web services.”

3. MVC

MVC (Model-View-Controller) is a software architectural pattern for implementing user interfaces on computers. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user.

4. HTML

Hypertext Mark-up Language (HTML) is the standard mark-up language for creating web pages and web applications. With Cascading Style Sheets (CSS), and JavaScript, it forms a triad of cornerstone technologies for the World Wide Web. (ASP.Net commonly renders it’s output as HTML)

5. JavaScript

JavaScript is a popular, high-level, dynamic, untyped, and interpreted programming language dating back to the dawn of the web.

 

 


 What else am I likely to be expected to know about?


CSS (Cascading Style Sheets)

Cascading Style Sheets is a style sheet language used for describing the presentation of a document written in a mark-up language most often used to set the visual style of web pages.

BOOTSTRAP

Bootstrap is a free and open-source front-end web framework for designing websites and web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions. Unlike many web frameworks, it concerns itself with front-end development only.  (It’s principal trick is in providing a basis for a UI capable of adapting to any form factor)

JQUERY

jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. It is free, open-source software using the permissive MIT License. Web analysis indicates that it is the most widely deployed JavaScript library by quite a large margin.

NODE.JS

Node.js is an open-source, cross-platform JavaScript runtime environment for developing a diverse variety of tools and applications. Although Node.js is not a JavaScript framework, many of its basic modules are written in JavaScript, and developers can write new modules in JavaScript. The runtime environment interprets JavaScript using Google’s V8 JavaScript engine.

ANGULAR

Angular is a complete JavaScript-based open-source front-end web application framework mainly maintained by Google and by a community of individuals and corporations to address many of the challenges encountered in developing single-page applications.

TYPESCRIPT

Typescript is a free and open source programming language developed and maintained by Microsoft. It is a strict superset of JavaScript, and adds optional static typing and class-based object-oriented programming to the language.

ADO.NET

ADO.NET is a data access technology from the Microsoft .NET Framework which provides communication between relational and non-relational systems through a common set of components. 

NB The Entity Framework and Linq  are related aspects of this framework and a basic understanding of operation is a common requirement for jobs requiring MVC.

DEPENDENCY INJECTION

Dependency injection is a technique whereby one object supplies the dependencies of another object. A dependency is an object that can be used (a service). An injection is the passing of a dependency to a dependent object (a client) that would use it. The service is made part of the client’s state.[1] Passing the service to the client, rather than allowing a client to build or find the service, is the fundamental requirement of the pattern.

The intent behind dependency injection is to decouple objects to the extent that no client code has to be changed simply because an object it depends on needs to be changed to a different one.

AJAX

AJAX (short for asynchronous JavaScript and XML)is a set of web development techniques using many web technologies on the client-side to create asynchronous Web applications. With Ajax, web applications can send data to and retrieve from a server asynchronously (in the background) without interfering with the display and behavior of the existing page. By decoupling the data interchange layer from the presentation layer, Ajax allows for web pages, and by extension web applications, to change content dynamically without the need to reload the entire page In practice, modern implementations commonly substitute JSON for XML due to the advantages of being native to JavaScript.

Ajax is not a technology, but a group of technologies. HTML and CSS can be used in combination to mark up and style information. The DOM is accessed with JavaScript to dynamically display – and allow the user to interact with – the information presented. JavaScript and the XMLHttpRequest object provide a method for exchanging data asynchronously between browser and server to avoid full page reloads.


Which tools am I likely to utilise?


VISUAL STUDIO

Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs for all common platforms, as well as web sites, web applications and web services.

POWERSHELL

Powershell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and associated scripting language built on the .NET Framework. It was made open-source and cross-platform in 2016.

From a developer standpoint it can be useful in many common scenarios:

  • static analysis
  • interfacing with C#
  • embedding PowerShell applications
  • working with XML and JSON
  • interfacing with Excel

 

GITHUB

GitHub is a web-based Git repository hosting service. It offers all of the distributed version control and source code management (SCM) functionality of Git (command line tool) as well as adding its own features.

 

 


Buzz Words


Each role you undertake is likely to have it’s own preferred libraries and methodologies.  Some of the more common requirements are:

(TBA)