Software Engineer’s Blog

Software Engineering weblog

An interesting and informative video on personal computing history

Advertisements

October 26, 2011 Posted by | Uncategorized | Leave a comment

Programming in software engineering career

Ever since I started my career in software engineering, I enjoyed programming.

What I find interesting is power to control machine, power to create what I visualize, power to create what is useful to others, …..

This power comes with the challenge of solving tricky problems, challenge of adapting to new environment, challenge of learning new technologies and programming languages….

This challenges my intellect, and provokes me just as a wicked mathematical problem would provoke a mathematician. The joy of solving is comparable to innocent joy of a child solving a puzzle, joy of music director creating a new song, …..

Over years, software development has evolved adding more specializations beyond programming in due recognition of role of software in emerging world. However, programming still plays a major role in construction of software with large amount of code being hand written. The task of programming still challenges, in its own way.

Curiously, however, I find hardly any one of my age involved in active coding.

Wonder what happened to the joy of programming that we shared. On a closer look, it looks like many has moved into ‘management’. That is, many have moved on to become project leads, project managers, CEOs, etc.

I agree that managing a project, and running an organization, poses interesting challenges but they are not of the same kind as that of programming. For many people with whom I have interacted, this movement has been largely due to circumstances rather than a choice.

Now the question is, how many musicians stop singing to become a manager or music producer? how many artists stop drawing pictures? how many doctors stop consulting practice?… When none of this happens, why only software engineering stop programming? … It may be a choice, for a few, but is it always a choice or circumstances? Does it have to be so?

October 26, 2011 Posted by | Uncategorized | 2 Comments

while(1) { printf(“End of an Era…….. RIP Dennis Ritchie”); }

It is sad to note that software world has lost yet another hero; a person who made foundation for much of great things we C in software development world today

Thank you, Sir, for your pioneering efforts and great contributions that will continue to help and guide us

October 13, 2011 Posted by | Uncategorized | Leave a comment

Analysing innovation spectrum

I woke up from my self imposed hibernation with a comment from one of my friends on a recent technology innovation.

As developer, user and in many other capacities, I have seen many innovation rise and fall while a few stay on to stand the test of time. In early days of my career, I used to get carried away by innovations but over a period of time, I have learned to assess each innovation, refactoring it through my own prism.

Primary, Internal Secondary, External

July 7, 2011 Posted by | Innovation, Uncategorized | Leave a comment

An interesting presentation on technology-enabled self-organizing learning system

Quite an insightful presentation on technology-enabled self-organizing learning system.

Presenter is explaining learning technology experiments conducted across climatic, geographic, ethnic, social conditions. I think, there are points to ponder that can impact future learning significantly

October 23, 2010 Posted by | e-Learning, eLearning, Uncategorized | Leave a comment

Trust deficit: A pattern for disaster!

I came across an interesting blog on cold call episode over Internet, across the continents, from a customer perspective.

Blog is from a well known expert in software testing, whom I too hold in high respect. I have been following his write-ups, whenever possible, since 2001 and I consider him to be my Guru. Of course, I have never interacted, leave alone meeting in person.

Point of discussion in the blog is about a cold call by a sales person by name ‘Shiva’ to start a relation which the author with the objective of getting business from him.

I observe a behavior pattern as alarming. That is, call starts with an aggressive gate crash, progress into a reckless stonewalling of questions and ends with audacious break of call. Well, I am not surprised. I have seen many such and I keep them at a safe distance

I pity the company who has employed such a sales person, and their gullible customers (if they have any).

I believe, in many ways, sales person represents face of the company to the prospects. A bad sales persons indicates a bad organization and impedes business growth, instead of effecting.

I am reminded of an experience from customer engagements.

My typical customer engagement starts with introduction of best practices, adapting best practices to the organizational context, mentoring the team into following the best practices and, finally, easing myself out of the environment gradually so that work goes on well without my involvement.

In one such engagement, project manager came back with a question. That is, “Vinod, what you are proposing is all right, and I understand the value. But I am in this project for a while, and I would leave this project to another project within the same company or another. The actual beneficiary would be the person who follows me. Why should I make life simpler for him?”

I consider both the experiences (cold call episode and discussion with project manager) at the same plane, as underlying cause seems to be the same. That is, willingness to stretch beyond one’s own comfort and familiarity. I wonder anything worthwhile can be achieved with such an attitude.

This, in turn, bring ill-repute to the company but then it has asked for, because the true underlying cause is the work environment and culture of the organization that the employees represent

October 5, 2010 Posted by | Uncategorized | 1 Comment

Google TV, expanding horizons of computing

We have seen unprecedented changes in the world of technology, leading to convergence of many technology silos.

Mobile phones are everywhere, cutting across rural/urban, rich/poor, literate/illiterate divides; and, interestingly, part of this market is being controlled by computer companies (eg. Apple/iPhone) and traditional players (eg. Nokia) are feeling the heat. The same goes for music/audio, with traditional players (eg. Sony) getting stiff competition from unexpected quarters (eg. Apple/iPod and Internet)

The next in the line seems to be TV, with Google reaching out to the living room with Google TV

May 21, 2010 Posted by | Google, Uncategorized | Leave a comment

Bridging the language barrier!

I have been using the browser Chrome for past few months, switching from Firefox which had been my favorite browser. Of late, I have noticed it prompts for translation when it comes across a different language and it does translation good enough for my purpose.

I believe it is pretty decent addition to the feature list, nevertheless very powerful.

Is that perfect enough? Does it meet up to standards required for professional work environment? I do not know and I do not care for now. In any case, I would expect quality of translation to improve

I had seen translation working wonders with Google Wave. Now I am impressed with this being extended to Chrome. I like it because it opens a whole world of knowledge. An interesting innovation ….

I am also terrified of the level of consolidation of knowledge and potential security/privacy concerns. Information that was constrained in the past, into a group with language, structural (eg. knowledge codified in ancient books in sanskrit), and regional limitations are getting into open. Are we, as a race, yet ready for the possibilities and challenges that it is throwing up?

May 15, 2010 Posted by | Google, Uncategorized, User Experience, UX | Leave a comment

An interesting presentation on Jazz

An interesting presentation on Jazz and related products from IBM

May 8, 2010 Posted by | Collaboration, IBM Rational, Uncategorized, Web 2.0 | Leave a comment

Essentials of software product development

1. Product vision (shared across all stakeholders of the project)
2. Product development plan (including risk identification, anticipation and mitigation)
3. Business case (justification: financial, market and technical)
4. Product architecture
5. Quality assurance and control
6. Maintain conceptual and structural integrity, and traceability, across all work products
7. Flexible but repeatable process
8. Pre-sales support plan (must include getting people in, getting them up to speed and retention of key resources)
9. Post-implementation support plan (must include getting people in, getting them up to speed, retention of key resources and knowledge persistence)
10. Product champion and a core team of code warriors of at least 3-4 years of experience
11. Infrastructure (including hardware, software and network)
12. Maintenance and change management plan

May 6, 2010 Posted by | Product Engineering, software engineering, Uncategorized | Leave a comment