Friday, September 17, 2010

The path to be a software architect...

I am not very sure whether I am qualified to write on this topic. My intention here is to register my thoughts on the topic.

Calling yourself as an "ARCHITECT" is itself considered to be a pride by self! The word now-a-days is more than a sign of prestige and pride rather than whether you qualify for it or not. There used to be a time when "Lead", either you prefix or suffix with any word was considered to be a designation on pride, but now I see "Technical" and "Architect" taking that roles. How many of us have really felt that we qualify to own that word as our identity?

To be an architect you need to be a - programmer - debugger. Architecture is not about designing systems or solutions with design patterns, frameworks, portal solutions, messaging bus and soa, rather it is about putting together pieces of code that would work perfect for the given need. This should also take care of the past bad and buggy experiences you had in your career. If you are able to conceive such a system or solution, then you may call yourself the creator (architect) of that system. You should each and every entry and exit point of the system. You should be able to see where the system would fail and where it would choke. You should have addressed all those areas. The system should of course follow a standard or a pattern, but it should be only to the extent it is needed.

But on contrary to this, doing architecture or system design is now considered to be using design patterns (that the individual is comfortable with) and popular frameworks (that the individual knows). Most of the times I see things are being used for the sake of it. In my opinion I feel that this practice should change. 

The other type of architects that I have come across are people who live that designation and take that very personal. They are so obsessed about what already exists and start writing things on the own. I am not sure whether they do it for the sake of it OR they really don't believe is something that is already proven. I have several times asked the question:- "Why don't you take the existing stuff and re-factor or enhance it and use it? So that others can also benefit". But I always get a weird look as my answer. 

Okay, now coming to your question, I see you asking me "What kind of "architect" are you?
I am the person what I have echoed above. I too have been carrying the word "architect" as my identity for quiet some time, but I have always lived to the the kind of person whom I echo to be. I have not created the so called great solutions so far, but I have had a lots of learning.  So, what do I do as an architect? I code - debug - refactor - create small frameworks that cater to a common issue in my design - test automation - application profiling - so on and so forth....

As I said in the beginning, I might not be qualified to write on this topic, but I definitely wanted to echo my take on this.


Monday, April 19, 2010

A Developer's Wish

I have always wished to creates waves out of the lines of code that I make. But the real truth, most of the times it dies as a wish! I am sure most of you should be nodding your head for this :). This is one reason why whenever I get a chance to attend any developer conference I would be the first one to regiter.

I have decided to attend the GIDS (Great Indian Developer Summit) @ Bangalore for Day 3 and Day 4. I wanted to write about some of the interesting sessions that I am planning to attend.

Session on Relentless Innovation in Java:- The overview of the session talks about the way Java needs to be taken post Oracle acquistition. But with James pulling out of Sun, now how much of these things would really make the same sense as before. Sure that this would be a more of marketing session, but the interesting part of this session would be towards the end, the Q& A part. Our guys are pretty smart and I guess that this session would be interesting to see the questions that the community has. True that the presenter would also be smart, but what I am looking for is not the answers, but the questions.

Session on Java Generics:- This is another interesting session for me. That particular slot has 4 tracks and I would prefer to attend this track. I see the other 3 tracks to be marketing their products and this the odd man out. Other other session is GWT 2.0. Its close to 2yrs since GWT 2.0 was released and till today if Google is not able to market a technology, then I suspect the glitch in that. Of couse I have used GWT to its maximum extent and event designed a tool/framework, but I tool feel that GWT needs to focus more on organizing the content and presenting it rather than just the display part of it.

Session on Maven:- Now most of the corporates already have and are mavenizing their projects. It would be really interested to know more about that. Other session that I am equally interested is Business Driven Identity Management, but I don't think I would be attending that.

Session on Complex Event Processing:- You won't be suprised if I tell that I am working on a system that processes close to 70 million events per day. So why would I not be interested in the topic!

Apart from that you can visit Stall No: 25 where I would spending most of my time to involve in several activits to select the winners of Dell NoteBook that PayPal is planning to give away for the event. Not necessarily for the notebooks, you can also visit the stall to understand how can you leverage PayPal today to monetize your apps (if you have one) to be fetching an additional revenue for you.

See you there...

Wednesday, January 27, 2010

Coruage Conquers

Courage conquers, boldness pays and timidity fails.....

This is a saying I read it somewhere during my school days, yep my father showed it to me. He is the one who mostly shows all these great things and I keep them in my mind... It is always like being courageous to showing courage to face challenges. Sometimes you solve, and sometimes they get solved by themselves. Sometimes when I feel afraid, what do I do? I just act like I am courageous. Over the years everyone improves on acting and guess do I!

It is good to be a software guys designing and architecting systems. Guess if were a production or a doctor, GOD save all the patients. But here I got the ground to try out a lot of things and learn from mistakes. Learning from mistakes has been a habit from childhood days and that is where the destiny has taken me to, be amongst this software. But at the end of the day, do I feel good. Yes, sometimes, but NO sometimes. It is all the opportunity that matters. Everyday feels like now when you have a lot of problems to address. Now I feel like having more greener and newer days. I feel like having a handful of challenges and getting added more. I feel like I need to live new!

And whenever you design systems or learn about new systems, keep in mind, Courage conquers..