Sunday 30 December 2012

About Author

Jayachandran(Jay) is working as a seasoned Developer/Architect and been working in various domain such as Telecom, Banking, Media, CMS, Printing, Government, Retail and Software Services…etc. He started his career at programmer level and been working as a various technical level positions. He is an expert in Design/Architect the various software systems & he would like to hands on programming. He is PMP and Microsoft certified holder and his main areas are not limited to C#, ASP.NET, WCF, ASP.NET Web API, WF, WPF ,Silverlight, ADO.NET Data Services, SharePoint, Service-Oriented Architectures(SOA), Cloud Computing…etc.  Jay will be contactable at Jayachandran.NET@hotmail.com.

Quick links


Please click the corresponding link which do you wish to know more details.

3. Design patterns


What is Design Patterns?
In software world, a design pattern is repeatable solution which is used to solve the software problems in the software design. We can also say that design pattern is model or template which can be often used when we write the software programs.

The Gang of Four (GoF) authors namely Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides are spent lot of time on the software design and they come with in total 23 design patterns with their hard work and they proved that any software design which will fall under any one of the these 23 design patterns.

Why do we need to use or consider design patterns when we write software programs?
Design Patterns are designed for reducing the software hassles & will show you how you can reusable OOAD in different situations.

What are the GoF design patterns (23 design patterns)?
Please refer the below chart will shows various types of design patterns & how to remember them easily.
GoF Design Patterns

Note:

Architecture patterns are well known patterns for solving software application architecture problems. Examples of the architecture patterns are 

1. MVC
2. MVP
3. MVVM
4. N-layer depends upon the domain project

Architecture pattern is need to decide before start developing the project and very hard to change once its built.


Next, I will suggest to visit the topic number 4. UML and come back here to continue reading the remaining page because we are going to use the UML in each design pattern. So I would suggest to get know more about the UML first and keep reading.

6. R & D for up to date technologies


You may think, why title of this post called “R & D for up to date technologies”.

R & D – stands for Research & Development

We can elaborate into many things from this title. Technology is dynamic world. i.e.) technologies are keep on changing and exploring into the world.  In order to keep track on technologies side, we need to keep on doing research, studying latest technologies and use them in our software development to get benefited.

We need research/ and find out is there are new technologies can use for our software development which can increase our productivity and reduce the time/cost.

As we know, our existing systems are running smoothly, making money and why we should upgrade our systems into new technologies.

The answer for above question is not that straight forward and simple. But the reasons are
  1. Increase productivity
  2. Interoperability
  3. Increase flexibility…etc.
Let’s spend some time and go through, travel on modern technologies technical track and we will decide how new technologies help us to increase the above functionalities.


As of now, I think of the below latest technologies. Let’s discuss about the below technologies and will see what can offer you for your business.

Microsoft offers many things in .NET space for us. Sometimes, we have not tasted all the features which Microsoft offers. Please try to taste which useful for your business which Microsoft offers.

Here tasted = using

I am not going to explain each and every feature as Microsoft .NET space is a big ocean and cannot swim all over the ocean.  However, I will show you how to swim (I mean some of the features) and you will learn how to swim other sides (to extend for other features) of the ocean.

Please click on the item to know more about corresponding technologies.

8. Feeding the people technically


What is mean by feeding the people technically?

Most of the people don’t understand straightway that what is mean by feeding the people technically? Let me explain more about this. We can see so many people posting their technical articles, technical solutions for the hard problems, their technical experience and expertise on the internet in such a way that to help other people. This is called feeding the people technically.

If you share your technical knowledge with your co-workers and this is also called feeding the people technically. So generally whatever you share in terms of technical stuff or teaching to someone technical stuff is called feeding the people technically.

When we need any technical help or if we cannot find the answer then we search on www.bing.com or www.google.com or www.yahoo.com to find the answer as our technical people posted their gained experience. So feeding the people technically is a good habit and its help you to grow as well.

If you find the answer for the difficult problems please feel free to share with everyone. There is a proverb called “what you give is what you get”
You can share either on internet or with colleagues.

What are benefits we get when we feed the people technically?

  1. You never forget that technical concept when you share with someone.
  2. If you share technical stuff with someone, then they will ask questions related to that topic and it make you to think more and more. So this will help you to grow yourself technically.
  3. The proverb “What you give you is what you get” is applicable for everyone who share the technical stuff.
  4. Team work with sharing the technical knowledge with others is the strongest value added service for the project.
  5. Definitely it’s worth of sharing your technical stuff to others and there is lot of good things behind on this. You will know gradually when you share the technical stuff to others.  I am not going to explain those things now and you will know when you share it. Please try to find out what they are.
How do you share your technical skills and knowledge with others?
  1. You can organize the technical sharing meeting with your team by weekly or monthly depends upon the team member’s availability.
  2.  Each and every team member can talk about particular technical topic such as caching, cloud computing…etc. by weekly or monthly basis. So in this way everyone get to know all the topics and it’s good for everyone including the organization.
  3. Apart from your work, you can share your technical knowledge with your family and friends.
  4. Writing technical articles or blog and posting on the internet.
  5. Depends upon your time availability, you can conduct the technical classes for university students or who need technical help  and help them to get the jobs as well.
  6. You can form the team with your friends to play (either cricket or your favourite games) in the weekend and during that time you can also share and talk about the technical stuff and your technical experience.
  7. Other than above, there are many ways to share the technical knowledge with your friends. Please try to find the best way which is suitable for you and share your technical knowledge with everyone
So finally, I would strongly recommend that please feed the people technically whenever you can.
Thanks for visiting.

10. Documentation skills


In this post, I am going to write how documentation skills will help us improve our development process.
We are all starting our career from programmer level which straightway starts writing the code and don’t spend time to write or document what we did. Due to lack of documenting our work, we need to spend lot of time to understand and maintenance the code which we normally don’t realize.

We used to write the code but not document about our work. We should document our work and it will help us definitely.

Everyone raise next question is that where is time for documenting our work? This is really good question. We should allocate some time for documenting our work. This time allocation should be in the project schedule and in the SOW (Statement Of Work). Otherwise we never get the time to document our work.

Next question is what to document?

Documenting our work not limited to
  1. What overall system does with short description which help other developers
  2. How the system interconnected to other systems if it is
  3. Write comments on the coding that what the method or system does on the specific section.
  4. Write Application Support Manual (ASM) and Application Support Process (ASP) based on your organization structures which everyone adopts on your organization.
  5. Prepared the generic template which says what need to document whenever the project or allocated task has been completed.
  6. Included UML diagrams on your each and every project or task.
We no need to spend lot of time or documenting unnecessary stuff which we don't need really. However, we need to document the necessary things and which help for support and our future  development.

Can we start documenting our work? Yes we can…………..

11. Communication skill


As you know, the communication is the key for everything. Without communication we cannot move forward. We can say the whole world tighten with communication.
I am not going to explain much detail about this as it’s not necessary and everyone on top on this.
We can see many people know technically more due to lack of communication they cannot reach the high level positions. Because of lack of communication is stop growing further. So we can say communication is the most important than others.

How we can improve communication skills?
  1. You can find on internet many ways that how you can improve your communication skills. However, we need to follow and practice them in such a way that. So that our communication skills will improve.
  2. We can listen videos and watch English movies.
  3. Writing technical articles and blogs.
  4. Attending the seminars.
  5. Participating the general activities such as volunteer programs, meetings…etc.
  6. We can carefully listen who talks well and try to follow their way of talking.
  7. Conduct technical classes with your friend and university students.
  8. Reading books and emails who written in well.
Other than above, there are many ways which can suitable for you to improve communication skills. So please try to utilize them and improve communication skills. It cannot be done one night and you need to keep practicing & achieving your goals.

Each and every method will give you some percentage of improving your communication skills so please try to use all the ways and utilize them. So finally you will have 100% communication skills.

Thanks for visiting.