Proper design is a major factor that contributes to the scalability and performance of any application.
* Efficient Resource Management
* Considerations for Crossings the Application Boundary
* Single Large Assemblies or Multiple Smaller Assemblies
* Code Refactoring by Logical Layers
* Threads are a Resource worth Sharing

My article on C# .NET Application Design Considerations can be read here

A question Want to be Architect or Manager asked in Career Advise section of C# Corner, my view can be read on the post there. But I thought of sharing my views with all the readers via a blog post, so larger group of people are benefited.

  1. Always have the dilemma like want to be a Architect or Manager.
    As you wrote you are in dilemma, so I assume you are equally good in both. Which is a plus point for you. Now take it other way, someone is not good in both and want to plan a career roadmap in one of these options. What I have observed, seeing and doing is that, couple of managerial skills are needed in Architects and couple of architect skills are needed in Managers. But you still hold the big piece of your defined role I.e. manager or architect.

Lets consider a scenario when managerial skills help a technical architect.
I can tell you from my experience being a Sr. Technical Architect in my company and job demands that you have to work with other teams, people, senior management etc. and these are people you have never met, seen. But your collaboration power, people handling skills, written and verbal communication will help you to succeed in such instances.

Lets take another scenario when architect skills help a manager.
There is always a gap between managers and technical people. Many companies have stopped hiring plain “managers”. I.e. they want technical people to be manager and handle other technical staff. How does it help, well the truth is that if you have technical manager then transparency is more, he/she may better understand the pain of developers unlike a plain manager.

Its easy for team to discuss and explain technical show stoppers to such manager as they understand technology. I would say no matter what you become, but continue to nourish both the skills, but yes focus on your strength (technical or managerial) but the good mix at-least 30:70 will help you go places. In today’s fast growing IT industry, Global delivery model, on-site/ off-shore model etc. no company wants just a technical guy or a manager at senior level. They want you to be able to handle various situations. I personally have learned that you grow when you accept more responsibilities. Good luck for future endeavors.


Validation is a process that ensures the sanity of data entered, received or processed by a software module, class or class members.  Some examples of validation are length check, range check, Null check, date range, specific character and so on.

Read full Article here: Validation Application Block


.NET Serialization

April 30th, 2013 | Posted by Vidya Vrat in .NET | Architecture | C# | CLR - (0 Comments)

Serialization is another great feature of .NET. This article talks about overall serialization in the .NET Framework and various available types such as binary, XML and SOAP. The prime objective of serialization is to persist and retrieve the state of an object. There are various scenarios where the ability to serialize objects is handy.

Read the full article here


Microsoft launched WPF Application Framework,its alpha could be downloaded from codeplex site, by following the link below:
WPF Application Framework (WAF)

This application framework will help you create the applications based on layered architecture and the Model-View-ViewModel (aka MVVM, M-V-VM, PresentationModel) patterns.

.NET Framework 3.5 SP1 is a prerequisite for this.