Thursday, January 26, 2006

The Software World..

Software Engineering, a term commonly used nowadays and easily comprehended by most of the people in this world, is a world in itself. Just for the sake of mentioning, it means to develop software or a program which models a subset of reality onto a machine. The skills required for developing software are not only the analytical ones but logic plays a major role as well. On the other hand, creativity is required as well as the empathetic sense relating to the user. Hence we can easily say that Software Engineers are one of the most skillful people around, in this world.

When I say “Software Engineering is a world in itself”, it means that it’s a virtual world and not a real one like Earth. The mapping of the real world onto this one is what Software Engineers do. Let’s limit ourselves to the design & coding phases of Software before we move ahead, generally termed as programming. The difference between the task of a software engineer and other engineers is the presence of this virtual world. If one is good in this virtual world, this means that he’s doing his job well.

Coming from a different direction, I would like to highlight that when a person indulges into some environment, he develops some familiarity initially, moving forward he becomes smooth and then he gets used to it. One gets so much used to it that sometimes it feels like it’s the only world (or sub-world) and he’s not able to comprehend the situation (or environment) outside it. For example, I used play Unreal a lot (sometimes more than 5 hours a day) and it happened many times that I dreamed about it during sleep.

Now, if a software developer works for many hours a day, spends a few hours in sleep and spends the rest of the time in the actual world, there seems to be a high probability that most of the developers would confuse these 3 different environments.

Putting all of this on the plate of our discussion, is Software development changing the lives of the Software engineers by making them used to this virtual world? After working for more than 10 years in this arena, can the developers manage to segregate the virtual & the real world? One extreme example of this world is the game development line, supported by the statement that game is a modeled virtual world which is derived from reality or illusions, and is closer to being called a world than any other software.