How does one be called a ninja ASP.Net programmer?
What set of tools and immediate knowledge(Without having to open MSDN, SO, or Google) should be known to be considered a master?
Webforms or MVC...
How does one be called a ninja ASP.Net programmer?
What set of tools and immediate knowledge(Without having to open MSDN, SO, or Google) should be known to be considered a master?
Webforms or MVC...
The Page Lifecycle feels like a solid place to start if you're doing Webforms.
And the Control Execution Lifecycle would be a good idea as well.
I'd consider how easily are the following used:
While source control would be a bonus, different software can do things so differently that I'm not sure if there is a standard to apply here.
As for other technical knowledge:
Everyone should know that the only thing a browser can understand is HTML, CSS and Javascript, so you should know those three things very well. Sure, it's nice to have the abstraction of the ASP.NET controls in certain scenarios, but don't fool yourself, the browser has no idea what a GridView
or an asp:TextBox
is. I know this is dead obvious to most of us here, but for some it's not so.
Take a look at Hidden Features of ASP.NET - quite a variety of ASP.NET tidbits.
If they are using WebForms they better have a strong understanding of ViewState
and how it is used and it's performance impact.
Lots of "green" WebForms developers have no idea of the impact that ViewState
has on controls such as GridView
and DropDownList
when they bind 1000s of items to them or what the ViewState
is actually doing for them which is not always good.
It's one of those features that seasoned developers would probably wish was off by default so that developers would need to choose to turn it on for each item and consider the impact.
It would be like everytime you need to use your car, you have to unload your trunk before using to ensure you are getting good gas mileage. I am sure we all prefer to drive around with an empty trunk by default and in those cases where we need to carry an extra bag we can just throw it in the trunk :)
One thing every ASP.NET developer should know all of the different state options and when to use each. HTTP is stateless, and ASP.NET gives a plethora of state management options.
MSDN has a good article I always recommend.
This question has some good links in the answer.
Should developers be specialists or generalists?
A lot of people place value on the MS certifications. Whilst they're nice to have on the 'ol resume I don't think they really reflect a persons ability.
For my 2 cents worth I think industry knowledge is a key component. Having in-debth knowledge of the industry your employer works in is huge because it gives you insights and ideas.
I know that's not particuarly technical.
Then there's OO, SOA, SEO, CSS, Design Patterns, WCF, WPF, MVC Pattern in WebForms etc. These are the fundamentals that we all should know.
ASP.NET specific I think would be, Page LifeCycle, ViewState and the C#, or VB, language.
How does the web works. What is the HTTP protocol. What is a request. Difference between client and server side. All that sounds obvious but there are a lot of people that don't even know that HTTP is stateless, because of the abstraction that webforms offers.
After understanding that, important things to know:
And never forget about programming best practices, code documentation, and all the stuff that is not web or language specific.
How naming containers work and relate to parsing of the control tree. For example calling myControl.ClientID
in Page_Load will give you the wrong value.
In my opinion, WebForms is the now, while MVC is the future. I've been concentrating mostly on MVC, and for that, there are very basic things you MUST know:
(X)HTML, CSS, JavaScript and/or jQuery.
Then you must have a solid grounding in Design Patterns, and SOLID design principles (Look up "Uncle Bob" Martin).
Of course, C# (or VB), WCF, WPF, Entity Framework, LINQ, etc. are also important, but the above topics are to build a solid foundation.
They should know never to go back to their wife WebForms after meeting their mistress MVC ...;)