Sunday, September 28, 2014

Software Industry in 2100



The Software industry is changing very fast and new technologies are emerging every day. The technologies that we used few years ago are outdated now what we are using now may be outdated in a few years’ time in the future.

In this fast-paced world, I just wanted to see (imagine) how the software industry will be in a 100 years, may be in 2100? To find an answer, let me fly along with the horse mind and let me share what I found there. :)



In 2100……..
I see loads of changes in the new era. Here are a few.

1)      Robots- Not only human engineers but robots also work in the software industry and there is huge competition going on between human and robots.

2)      Tools based development – Not like in the start of 21st century, all the software developments are based on tools means very less coding and more conceptualized.

3)      Action oriented programming – The object oriented concept and procedural language concept have ceased to exist and there is a new concept called “Action oriented programming” that has become famous in the software industry. “Action oriented” means all the common functions or actions have been implemented in tools and developers’ work is to identify them and may be a drag and drop will be enough.

4)      Upside down interview culture – In 2010, there were limited no of entrepreneurs and job hunting culture was to hire employees by conducting interviews. As the years pass by, now in 2100, no of employers seems to be more than the no of workers. So the current culture is to conduct interviews for employers and select a person who has the best work offer.

5)      Universalization - with the immense growth of space technology, the earth is now strongly connected with other planets such as Mars and Saturn. The software industries in Mars are willing to outsource to earth mainly for cost reduction.

6)      The largest universal airport – Sri Lanka, a small country in the Asia continent has seen incredible growth in space science and the world first space/universal airport has been built in Sri Lanka. The people from west, east and north have to come to Sri Lanka if they want to visit Mars. :)

Wish I got more time to stay in the imaginary world so I could have shared more with you. :P

Anyway let me fly back from the dream world and here I’m getting ready for my monday’s business. :)

Sunday, September 14, 2014

Compare software to human

Can we compare software to a human being? I would say “Yes” and here are my reasons.:) I’m going to use the term “product” which is common for both software and human. Please check it out and see if you can relate. I have given some possible explanations for some of the points at the end.


  • Only the creator knows the internal details especially with the complex versions.
  • The more a product is networked the more it will be vulnerable to any virus or malicious attacks.
  • Some products will have amazing look and feel but no great functionalities inside.
     Some products will not have an impressive look but would have some extraordinary   functionalities.But, in general, all the products will have some special functionalities with a good look.

  • At the very beginning stage, the product might seem bug-free but when we start interacting with it only we will get to know all the issues in it.
  • There should be at least two (types of) products linked together to make it look like a complete product.
    1. Front end
    2. Back end

          Front end - It can work alone ideally but won’t be much useful without a strong backend support.
          Back end – This too can work alone but it will not give a “whole product” feeling.

  • Most of the products are made with a particular set of functionalities and they are not meant to cater any other functionalities.
       But in some exceptional cases, some products come with “All in one” functionality.

  • No product is perfect. Every product has its own set strengths and weaknesses. The amount of defects in each of them may vary.
  • Some products will be compatible with many other products and will be able to communicate with them. But some of them have limited compatibility and narrowed communication channel.
  • After a certain time period, the product will be expired and either it will be disposed or it will be rewritten as a solely new product with the very same concept


     Let me explain some of the terms/concepts I used.

     "Complex versions"- Hope you know the very famous complex versions in the world. That is “women”  :)

      "At the very beginning stage"- infant-hood. Having said that new born baby is pure in the heart.
       As per my understanding, we all are born with some talents as well as some defects.
       And when it comes to software when you start using it only, all the issues will start to pop-up.

     "Front end"- Woman
     "Back end"- Man
     You could put it in the other way as well .It is debatable.

     “Communicate with many other products”- Some people are very out-going and    friendly.
      But some are bit reserved types. Again that is a design issue

     “Either it will be disposed or it will be rewritten as a solely new product with the very same concept.” –
     I have given both options because some people do believe in the concept of life after death
     but some do not.

               “Either it will be disposed” – The death will be the end of the journey.

               “Solely new product with the very same concept”-
                With reincarnation, the soul will get a new body in  the  next  birth.