Tuesday, 17 May 2016

Mistakes An Experienced Programmer Makes

Computer programming is a very challenging profession that not many enjoy doing them. But there are handful of us whom are passionate about it. The ever changing technologies makes this profession dynamic and interesting.

I have been a systems analyst, designer and  programmer for 20 years and still am in love with it. I work and program because I love to learn. When the program runs and the output shows correctly, the satisfaction is so overwhelming. I have worked on many systems ranging from retail, manufacturing and lately Internet Of Things. One of the important factor that decides on the success of the system, is the user acceptance.

After being in this industry for so long, I have build the knowledge on making the correct decisions to make feasible systems. When I work on analyzing systems and working with other programmers, I do notice some common mistakes and decision causing a system to go down the drain. Sometimes, some systems are build with high vision and when it is not accepted by the users well, all the investments are wasted.

These are some of the criteria:
a) The System Architect are blue collar professionals, and sometimes are too ego to go down to the real user to understand their requirement and their problems.
b) Sometimes, the decisions are made by management without involvement from the users that uses the systems.
c) The system are too complicated for normal users to use.
d) Less interaction between the developers and the users during development that all the designs and improvements are not discussed during development.
e) For general systems, proper market research are not conducted.

Programmer's have to understand that we are only programmers, the users are the specialist on the business. We have to listen and capture their requirement properly. We have to discuss any suggestion with the users, if we feel some of the process can be improved.

Involvement from the users will give them some ownership of the system during development, and it will ease the acceptance of the systems and process change.

Programmers have to understand that the normal users will require simplicity. No matter how sophisticated the system is, the system's interaction with the user have to be simple. User friendly and easy to use systems will be accepted better.

Sometimes we might face with users on various levels, and we have to look into different windows to accommodate their requirements.

If we have all this in mind when we build our systems, our system will be more feasible.

No comments:

Post a Comment