Saturday, August 30, 2014

How To Become A Software Architect

So you want to become a Software Architect ? If yes then please read on.

There are 3 types of architects in Software Industry.
1. Application Architect
2. Solutions Architect
3. Enterprise Architect.

If you are a developer currently then you may like to become a team leader first. Once you become a team leader you may aim to become an Application Architect. The application architect a good and experienced team leader. Plus Application Architect would need lot of knowledge about creating High Level Design and Low Level Design documents. Application Architect will have to use the single type of technology. So for example Java Web Application Architect can create MVC type of application.

The Solutions Architect are those who provide solutions to the business as well as team leaders and application architects. 

The Enterprise Architect can provide solutions to the business and they can give recommendations to even switch the platforms. So an enterprise architect can tell the business to switch between java and .net. Application architect cannot do that. Solution architect can do it but his focus would more on solution.

There are different certifications for each type of roles, for application architect there what matters are multiple technical certifications. For Solution architect position you need be more of a business person who is tech savvy, rather than technical person who is business savvy. Enterprise architect is mostly an experienced solution or application architect.

Context Engine

My understanding about Context Engine is :

In simple words "Context Engine" is software program which uses information and internet history of a person to give him recommendations about what he should do now.

Which means if I go to a mall for shopping and there is a movie playing in the theater "how to train your dragon 2", the "Context Engine" software will give me recommendation to watch it if I searched for it last week. 

So basically Context Engine client software installed on my mobile device will have to have access to my web history and also to my present location and things going around at that location.

The Context Engine is a Recommendation Software that can reside on your mobile device.
At the same time if you are a Web application architect then you would like integrate this Recommendation Software or Recommendation Application integrated with your web application. This way even if the user doesn't have the client software installed on his device still based on your search history the context engine can predict what the user might like do at given moment.

I would rather say that you can even execute queries in advance to get the data from the data store and make it available in the user session so that when he actually demands it will be available quickly.