Tuesday, December 30, 2008

Year.introspect(2008)

Well, another year is just rolling by and am here again introspecting the happenings during the last 12 months. This year had been an quite eventful on both work and personal fronts.

On the personal front - Got married on March 09 and it took a while to get adjusted to the family life, given that I was away from home most of the time for my education and career. Should say that I ramped up quite fast here. My wife Madhuri is very understanding and did her best to make our lives happy. We got the pending tasks done at the new house and finally moved into the new house during November. Personal tasks, unsually, took lot of effort, but managed it quite well.

On the work front - an year filled with lot of learning and fun with technology. Made a formal entry to the world of services, yeah, the SOA stuff. Played and had fun with webservices, ALSB. Worked with some of the best brains and learnt a lot. This year, in addition to the role of an architect, I was also in the role of an Delivery Lead (DL). It was a thrilling experience to learn and disseminate the technical stuff, define the contracts, keep the team motivated and making the day-to-day tasks more enjoyable. Understanding the group dynamics and building the team was really cool. I realized that the best way to motivate the team is to kindle the technical passion and fuel it continuously by challenging the developers. Facilitate the team and encourage them to do it themselves.

Coming to the reading part, I read only three books this year. SOA - concepts, technology and design and SOA - prinicples of service design, both by Thomsa Erl. The first book is well over 600 pages and took a while for completion. These came to me as gifts from Madhuri on my birthday. I highly recommend reading these books. I also read How to win friends and influence people by Dale Carnegie, it was very good read.

Overall, it was very good year. I wish everyone a very happy and prosperous new year.

Sunday, December 28, 2008

Ref Cards for developers

Here is a nice link that contains downloadable copies of ref cards for various technologies.

Thursday, December 11, 2008

Internet Connection saga

After moving to the new house in Sainikpuri, we enquired for almost 3 weeks calling different ISPs to set up a broadband connection and it was all in vain. The customer service is pathetic and annoying. One ISP collected all the required documentation and a cheque for the installation and first month charges but after a couple of days informed us that the connection cannot be made and that the money would be returned within 15 business days (It has been more than that now, we still did not get the money back!). We almost gave up and decided to settle with the USB enabled connection.

Now, am publishing this post connected to a 400Kbps line from home. Here is the sequence of events that happened during the last 10 days -

Dec 02, 2008: Received a call from Vedica Technologies. Not sure how they got my number, the agent inquired if am interested in a Wimax connection from Reliance. Said Yes and was informed that the sales executive would call and meet me in two business days.

Dec 04, 2008: Sales Executive met me at home around 9 PM and gave the details of the plan, collected the documents. I mentioned sternly that I'd give the cheque only after technical feasibility is done and was told that it was not the process. I was unrelenting on that matter and the director (Mr. Srinivas Reddy) called me up and I mentioned the experience with one of the ISPs. Though, it was not per process, the director agreed to do the technical feasibility as I had a bitter experience earlier.

Dec 06, 2008: Technical Feasibility completed and was assured a strong signal as the tower is within 1KM distance. The tech Agent allowed me to test from my laptop. Gave the cheque and asked for the installation to be done on Dec 09 as it was a holliday for me.

Dec 09, 2008: Got a call around 9 AM from the tech agent that installation cannot be done as the work order is not processed yet. Verification of the details was done by reliance communications via phone and in person by 3 PM.

Dec 11, 2008: Installation started around 8 AM and completed by 10:30. There was minor disruption in setting up the account. By 11:30 the account is activated and am connected to the world! Working from home today.

I'm quite pleased with the service offered by Vedica Technologies and would thank Srinivas Reddy, the director and Hemanth, the tech agent for their committment.

Sunday, November 16, 2008

Moved!!

We finally did it! Moved to the new house on Saturday, Nov 15, 2008. The move was very well planned and it was not too hectic. The distance to the office increased by 4 KM and the route being good will take close to one hour to reach the office

Monday, November 10, 2008

GC and Performance Tuning

Here is the link to performance tuning techniques at the GC level. Ever wondered about the options available at the GC level for performance tuning?

Thursday, October 30, 2008

My experiences with SOA-part II: Principles

It has been quite a while since I published a post on my blog. As usual am held up with tasks both on the work and personal front and added to that the festival season had brought in some travel and leisure.

Well, in this entry am supposed to cover the principles of SOA. So, what essentially are the priniples of SOA? The following are the set of widely accepted principles of SOA:
1. Reusability
2. Loosely Coupled
3. Abstract the logic underneath
4. Composability
5. Autonomous
6. Statelessness
7. Discoverability
8. Possess a contract

Keep in mind that it is all about services. These principles are inter-related to each other. In the next part, I'll cover how we started on this project, the role of ESB and something on the unit testing and CI.

Sunday, October 12, 2008

Architect and Army general

An interesting post on how an architect should be - The Architect Said What

Tuesday, October 07, 2008

An interesting article on Scripting languages

Came across this article on CIO.com that considered the various scripting languages - Ruby, Python, Perl, Javascript and PHP and provided info on where each language fits the best. The opinions from experts like Zed Shaw and Martin Aspeli. It is very good read, the article is here

Web Services, Security and SocketException

I use Soap UI for testing my web services and one service exposed to our clients is SPNEGO enabled and whenever I test this service using Soap UI there is an error - java.net.SocketException: Software caused connection abort: recv failed. The reason for this error is mostly due to the client side settings, network issues, windows socket binding, server side shared JVM. In my case it got resolved when the Http Settings were changed a little on the Soap UI HttpSettings. I just enabled the Pre-emptive Authentication and I could successfully consume the web service. This service is consumed by applications written in Java (Axis2) and .NET. We have advised out clients to increase the time for Socket timeout and enable pre-emptive authentication to avoid any potential issues in the future.

Wednesday, October 01, 2008

My experience with SOA - part I: Myths

It had been slightly over an year since I started working on a SOA project and people have been asking me to share my experiences and learnings. I decided to write a series of posts on my blog focusing on one aspect everytime. In this entry, I'll address the myths about SOA.
1. If your project has web services then you are doing SOA: Funny does it sound, isnt it? I have been hearing this statement for a long time. Web services is just an architectural style that facilitates achieving the fundamental principles of SOA.
2. ESB is SOA: another popular myth. SOA is technology neutral and is not coupled to one particular way of doing it. This myth defeats the core principles of SOA - loose coupling and vendor diversity.
3. SOA is out of the box: Well, SOA is not the panacea to all the business problems. There is no out of the box product that guarantees this. There is a popular myth that simply wrapping the legacy systems with web services to achieve SOA.

The above myths are mostly from a technical perspective, I have not touched upon myths from a business angle. There are myths that SOA is easy (umm, I wish it were that easy), SOA is very expensive, SOA is always a flop, etc.

In the next post, I'd cover the core principles of SOA.

Tuesday, August 12, 2008

WSDL2Java to the rescue

Here is an interesting stuff on how we mocked the services - Few of the service providers could not meet our timelines ( we are bit ahead, hehe) and we were asked to mock the services from their WSDLs. Looking at the various options for mocking, I preferred the Axis2 WSDL2Java to geenrate the server side stubs, fill in the skeleton class and deploy it. It is quick and works just fine. One other thing using -t option generated a test case and we just needed to fill it up with the required assertions. I must say WSDL2Java saved time for me. Do you have any other ideas, feel free to comment on this entry.

Thursday, July 03, 2008

Top Best 100 Software Engineering books

For those who enjoy reading books and like to stay updated on the techcnology, here is the link to top best 100 software engineering books. Happy to see Code complete ranked #1, it is my favorite book. It is also nice to see the books I'm reading currently - SOA principles of service design and SOA concepts, technology and design, msut read books if you are planning to use SOA/already adopted SOA.

Monday, June 23, 2008

Coding keeps me fit

Exercise keeps you fit physically and what about your programming skills? Code regularly?Yes, to some extent. But good programmers keep practicing. Practice is the key to a good developer.

It is so unfortunate that coding is considered a menial task in companies around and good developers have become a rare thing in the market. The common misconception is after 3 years of experience you should do less coding and try to become a team lead, and eventually the damager (umm Manager!). The FAQs are "You have x years of experience (x > 5, btw) and do you still code?" Damn! and another question - "You are an architect, do you still code?" What the heck!

Considering all these, how to be a better programmer, follow these simple steps:
1. Read books (hmm, I know you have given up reading, but read Code Complete atleast)
2. Read blogs and keep yourself up to date on the happenings in the industry
3. Be a problem Solver
4. Practice, Practice and Practice.
5. Visit codekata and solve the katas.
6. Understand the dynamics (NOT politics) of the organization.
7. Do not get carried away by the misconception of becoming a damager.
8. Last but not least, code regularly.

Tuesday, June 17, 2008

We lost a good manager

It is sad to know that Subbu is leaving Dell. Subbu was my first manager at Dell and is my icon for a manager. We are going to miss you, Subbu. All the best for your future endeavors!

Friday, June 06, 2008

Advancement and Innovation

A recent post on James McGovern's blog prompted me to write this entry. Read the entry here. If I were asked the same question, my answer would be YES.
It is a very conspicuous thing to notice among the folks (includes my friends as well) to grab the title of Manager as earlier as possible. I do not mean to undermine the role of a manager, I worked with some excellent managers and I respect the position.

One for the reasons for the rush to be a manager is to hide the technical incompetence. 95%(perhaps even more) of the poeple in IT industry should not have entered the software field, and the shortest way they found out to save their jobs is to become a manager, rather damager.

Another reason is folks are too lazy to learn new things and apply them to their work. The mindset is "I'm asked to do this and have done it". Arrive Late, leave early, take big break in between (play badminton, 2 hr lunch break, ...) have become quite common. Most of them dont even know what a BLOG is and the last they read something from a book is only during their college days. Innovation is given a damn.

Let me stop here!
Disclaimer: This entry is by no means to undermine the managers nor to demean the Indian IT folks. Any resemblence is purely coincidental and not intentional.

Tuesday, June 03, 2008

JEE6

Someone pointed me to a pdf on the EJB3.1 that is part of JEE6. Have a look at the pdf here. It has many nice features which shold have been available (much) earlier. Read carefully and if you have worked with Spring, Hibernate and Quartz (my favorite frameworks, btw), you'd notice some overlapping concepts.

Thursday, May 15, 2008

Agile is not going to work for me!

This is not my statement. This is the initial statement I keep hearing when people are introduced to Agile. During lunch today, a (heated) discussion started around Agile and the folks are from the testing team. To start with, they are not convinced with the scrum standup calls. When asked how they are doing it, the reply was they are doing it once a week with 18 members in the team! Well, is that a stand up call? When asked the same question, the answer I got back was standup call is no different than a status meeting. Hmmmm, I have no words to describe my feelings. Grossly disgusting. Agile and the tenets of Agile are being misconstrued and misinterepreted.

Sunday, May 04, 2008

What Lead are you?

While talking to my friend on the weekend an interesting discussion spurred up around the roles we have in our organizations. Top of the mind, recall - Team Lead, Tech Lead, Dev Lead, Solution Lead, Design Lead..Jeez, the list goes on..the thing that I'm not able to comprehend is why do we need so many roles? My observation is that the teams are always self organizing and would naturally select a tech authority [perhaps a new role has been coined ;-)] and would not consult a personally who is formally appointed as Tech Lead.

Monday, April 28, 2008

Do you care for Web2.0?

I understand that am little delayed in posting an entry on Web2.0, reason being that am doing middleware work mostly (Ah! the SOA stuff, more on this in another post) and it has been almost an year and half that I coded something on servlets/JSP/Struts/JSF, blah blah. OK, coming to the point ...

Recently, one of my friends proudly gave a demo of the application he has been working on for an year. Though the application met the requirements defined by the business people, there was something that was missing in the app. My friend's team received unsatisfactory comments from the client. When probed deeper the team found no deviations from the requirements but the users are not that happy using the product. Apparantly, the system was not designed in a user-centric manner [Usability is different from User-Centric Design!!]. It seems someone suggested my friend to change the colors and add some funky javascript to appease the eye (they started advertising that they used Web2.0!!!). All that jazz helped initially but died down very soon.

Well, Web2.0 is NOT adding some animations and jazzy javascript, it is much more than that. Do we really know what Web2.0 is intended for? Frankly, I'm not fully aware. I came across some links that helped me understand Web2.0, so instead me duplicating the content here, go there and read upon. Make sure to watch the content on the "Related Slidehshows" tab

Tuesday, April 01, 2008

Back in office

I'm back in office after a 20 day vacation and catching up on the happenings. Lot of things seem to have happened. The reason for the long silence and no blog entries is that I got married to Madhuri on March 09. The snaps will be posted soon on the picasa. Although, I lost my most prized ship..BACHELORSHIP, am enjoying the married life and getting used to make compromises..hehe.

Tuesday, January 29, 2008

The Enterprise Service Bus (ESB)

So, you have decided to adopt SOA in your organization and narrowed on an ESB to accomplish the daunting task of Soafying your IT infrastructure? Good idea. In all the excitement, before you sign off the agreements with your ESB vendor, watch the video on Guerilla SOA by Jim Webber on the infoQ. Very interesting presentation. ESB has been referred to as "Enterprise Spaghetti Bus", hehehe, I like it.