Archives for January 2008

Is it really true that something is better than nothing?

They say that something is better than nothing. To some extent even I don’t disagree with this statement. But sometimes, you might end up collecting a lot of that ‘something’ which may not serve your purpose at all. You might end up collecting so much useless information and advice that you will actually feel that actually ‘nothing’ is better than lot of useless ‘something’. When we say that time is important, we should make sure that we save ourselves from these useless ‘something’ and focus on things that we really need.

Being a software application developer, I would like to consider what happens in a typical software industry. What is expected from a software project is nothing but working software. But still, most of companies end up using so called ‘up front’ design approach. In this approach lot of time is spent in designing E-R diagrams or UML diagrams including text documentation. Here, I’m not saying that documentation is useless, but considering the effort that is required to change them once the requirement or design decision is changed, it does feel like a big waste of time. There is another approach in developing software known as Test Driven Development (TDD). In this approach, unit tests are written before the code that implements the required functionality. These tests are written such that:
1. They explain the function of unit under the test
2. The broken functionality is identified automatically as soon as possible

Text based documentation can serve the purpose stated in point 1 but fails to identify broken functionalities automatically. Thus it’s better to have unit tests than to have documentation in text.

Similarly, in case of online forums, threads are created asking for help. But most of the time I see replies like “Yes I agree” or “Wow!!! That was great”.  I have seen replies that advice the creator of the thread to search Google for more information. Such replies don’t add any real value to the owner of the thread or to other readers. If you want to give your opinion then make sure that you also add value to the thread by recommending your own solution. This way, every reply to a thread will improve the discussion further.

Another case I would like to consider is the case of websites which are created only to make money. Such websites are known as virtual real estates and use PLR articles as content. This leads to hundreds of websites having similar content floating in cyberspace. Another fact is that, most of the time such websites are created by people who knows nothing about the topic. The articles are mostly ghostwritten or taken from PLR sources or article directories. Google knows that such duplicate content doesn’t add any value to internet users and thus, hides the results containing duplicate information.

Whatever may be the case or purpose, we should remember that whatever we do, even if it’s little, should add value to our work. Something is better than nothing holds true only when that ‘something’ has a value and not otherwise.

Active mind and software development

Every software developer knows the importance of his or her own mind. Well, I feel that software development itself is an excellent mind game where an active mind can help you to drive the design and development of your software effectively.

If you are involved in the development of software for a domain where requirements keep changing every second, a developer needs to come up with new and new ideas to prevent the development process from stalling. To think of new ideas, you need to keep your mind focused on the problem which is difficult if your mind is not active.

To keep your mind active all the time, you basically need to keep it engaged in some activities so that your mind won’t have to stay idle. Let’s look at some activities that can keep your mind active and engaged for most of the time.

1. Reading: Everybody knows the importance of reading. Apart from keeping your mind engaged, it also helps you to learn new concepts, and to come up with some new ideas. You could read literature on almost any topic. Normally, whenever I get tired after long hours of software development, I like to read some story books or newspaper. It distracts my mind for a short time from the puzzles I was trying to solve while coding and thus, making it fresh again after some time.

2. Writing: Some people think that writing is generally a physical exercise. Just try to write some original articles or essays and you will come to know how much you need to think. But what to write? You can keep your personal diary where you can write your daily experience or a weblog where you can post your thoughts or ideas which could help others. If can even try to write your own poems or songs even if you haven’t written one before.

3. Playing mind games: Games like chess or sudoku are quite challenging by nature. You can even play these games without moving away from your computer (lol). Don’t worry if you are not expert in chess or sudoku as we are trying to play just for the sake of keeping our mind engaged.

4. Observing mother nature: If you are really bored of reading, writing or even playing then you can just hang out in some nice garden and appreciate the beautify of our mother nature. Trust me, it works!!!!! Once when I was struggling to come up with an algorithm to write one game, Alan had advised me to go out and look at birds and trees. I listened to his advice and soon after that, my problem was solved.

Here I’ve mentioned the activities that I follow to keep my mind active. Sometimes, I even do meditation for around 10 minutes. Don’t just limit yourself to these activities for keeping your mind engaged. Do whatever you like but make sure that your mind won’t stay idle.