Pages

Search My Blog & Website

Friday, June 15, 2007

Which Soft Skills Do You Consider the Most Important?

The discussion about soft skills and their significance in engineering fields is getting more attention. Soft skills such as active listening, interpersonal skills, emotional intelligence, conflict resolution, negotiation, and the list goes on... are becoming increasingly important and strategic. Engineers are no longer confined to their cubicles within reams of sheets of drawings and calculations.

Engineers are out in the field discussing needs and capabilities with clients, leading technical meetings, discussing details with suppliers and vendors and communicating with other professionals across the globe using collaboration tools such as instant messaging, IP conferencing and real-time audio and video communications.

Which ones in your opinion are more important than others?

Monday, June 11, 2007

Software Systems: What is Your Type?

Software systems are all around us. In the car, microwave machine, washing machine, traffic lights, bank, Internet, and just about every place we go to. The big question is how different are these software systems from one another?

Some software systems mission is to store data so other systems can retrieve it and process it. The Internet and a complex database cluster system are two examples. Other systems process data and provide results such as credit card processing systems and airline reservation systems. A third software system is one embedded in some control logic on an appliance like a microwave program or washing machine, and the list goes on...

We have heard of the terms pervasive computing and pervasive networking. They refer to distributed computing elements connected via a complex communication network allowing tight integration into our lives. An example would be a network of sensors communicating with one another and a number of management nodes.

Can we define a new type of software system called the pervasive software system? One which is deployed on a large number of computational devices across a complex network, each device performing a custom computational task - dependent on the devices location and mission, which could be time dependent - and sending the results to a larger "master" computer.

Note the difference between the pervasive computing and pervasive software is that in a pervasive computing environment the various nodes are dispersed, but each has a fixed computing configuration - fixed hardware and software. The pervasive software system on the other hand is a software system broken into pieces each running remotely on its own pervasive computer, and these software pieces could be reconfigurable and dynamic according to where the pervasive computer is and what its mission at a particular point in time is ...