Software Engineer’s Blog

Software Engineering weblog

Running a great business

What determines a great business? Visibility? Age? Size? Network? Profit?…

Business house is a living organism much like every one of us and question is similar to what makes a great person. Like our life, business is dynamic balancing of various forces. Push and pull in different dimensions is only but natural.


What makes business a great business is effective and dynamic balancing of these forces consciously, conscientious and continuously. Impulse prohibit reasoning and tends to pull business into a single direction with a deceptive simplicity. That leads to a skewed growth. It requires conviction, courage and character to be different as a business and as a person. Only a few dare and only a few are different.

September 30, 2009 Posted by | Uncategorized | | Leave a comment

May be strange but often true, unfortunately

Does the Wrong People Get Laid Off? May be strange, and goes against the business sense but still it happens. Why does that happen if it is against business sense?

My experience is that it generally happens in large companies. Not necessarily in all large companies, of course.

Small company typically works as a close knit group, and tends to behave like family. Dynamic balancing business interest, organizational culture, concerns of employee and core values is done continuously and naturally. When company gets larger, “professional” management takes over in the name of quality, process and professionalism. Then, process takes precedence over people, numbers take precedence over values and compliance take precedence over delivering business value.

For the employee exiting, it is a set back short lived, till he or she is suitably place albeit with some compromises. These compromises are again short lived for a true professional. But for the business, this indicate a rot within which is sure to catch up the business and bring it down. It is important for business to understand, business is made possible by people. Process, professionalism etc are people enablers, not a goal in itself

September 30, 2009 Posted by | Uncategorized | | Leave a comment

Long since I stopped working

Recently, I came across an interesting perspective on modes of professional life of knowledge worker

The professional life of the independent knowledge worker occurs in four different modes: insanity, give-back, work, and fun.

If you are serving people you don’t like to be with and are not getting paid, that is insanity.
If you are serving people you enjoy being with but are not getting paid, that is give-back.
If you are serving people you don’t like to be with but are getting paid, that is work.
If you are serving people you enjoy being with and are getting paid, that is fun.

Well, on retrospection, I think it has been years since I stopped working, going by this classification, an interesting one at that; essentially what I do is either a give back or fun

Continue reading

September 10, 2009 Posted by | Uncategorized | Leave a comment

Retaining the knowledge gained

Interesting statistics on knowledge retention

Learning retention rate based on the learning experiences and the media

September 7, 2009 Posted by | Uncategorized | Leave a comment

Changing world of computing

World of computers started off as a scientific curiosity and soon evolved to become essential component of infrastructure for any serious business, big or small. Mobile phones and similar devices has taken computing to common man breaking all barriers.

I believe, simplicity of interface and power of networking were key to burgoening popularity so far. I am looking forward to further changes that promise to revolutionize user experience.

1. Multi-touch PC

2. Google Wave

September 6, 2009 Posted by | Natural User Interface, NUI, software engineering, Uncategorized, User Experience, UX | , | Leave a comment

Top challenges for software engineering

Following are my comments on discussion “Top challenges for software engineering” in ‘Agile CMMI’ group in Linkedin

I agree with the importance of alignment. A reasonable (perfect would be rather idealistic) alignment of organizational and individual’s values, culture, and goals is critical..

My observation is that it generally seen in small organizations. As it grows in size, alignment is lost in the crowd. This may not be unique to software development organization but what is more intriguing is that this tendency is acute in software development organization

In general, at the very top, you would find more or less the same team, the same culture and the same values. As you look down the line, you could see compromises on the very culture and values that made them successful . Experience that I mentioned earlier is from a large organization that claims to be at CMMI level 5.

Equally, I have seen organization/project that claim to adopt agile approach missing out on team work and honest communication, going against the very values that agile approach stands for.

At the bottom most, it is just a job to do, skill to learn and move on to the next assignment.

No blasphemy is intended by these counter examples; I have seen good ones as well. I am focusing on counter examples as we are discussing challenges. A distinguishing pattern that I find in bad ones as compared with good is that CMMI, agile etc are used for marketing purpose rather than for value in itself.

My experience and stance is that process, methods, standards, technology and tools have matured to a reasonable stage by now and, for engineering to be successful, we need to adopt engineering practices with scientific spirit, teamwork, honest communication, continuous observation, objective analysis, and continuous refinement.

September 3, 2009 Posted by | Agile, software engineering | Leave a comment