username:
webmail login password:

 

 


Software Developers, Scientists or Engineers or Psychologists?

In our business, myself and the technical staff have computing related degrees, the rest of the staff are also educated to university level. I have a degree in Computer Science but does it make me a scientist? Or am I an engineer, or a business man (as myself and Julie own the business)?

The most important part of any business is the people in it and the people that use it, staff and clients both. The most difficult part of our job is communication and change. Attempting to make the technical aspects of our business accessible to everyone and trying to persuade people to use the systems we create. So where is the science in giving the best service we possibly can to each and everyone of our clients?

Science is always about increasing human knowledge. Scientists look at areas that aren’t understood, propose a hypothesis and then test the hypothesis with experiments. After rigorous peer review, we’re often left with formulas or processes that make very accurate predications.

Having scientific knowledge is useful because we often develop theories on how something should work and then we test it (isn’t that Agile development?). Electron flow in semi-conductors arranged into logic gates forms the bedrock of computing and is firmly rooted in the physical sciences. However, is proposing a theory on how multiple processes can run on a collection of semi-conductor logic gates (also known as a microchip), then testing that theory with an experiment called an Operating System, an implementation of the scientific principle?

When developing software, we often say to each other or our clients, “In theory, we should be able to do X?” Then some software is built to prove it’s possible, often that software is peer reviewed to check it’s quality. As software developers, we are very efficient scientists in our own niche scientific area, constantly hypothesising and testing. We’re probably fairly unique in that we end up selling our successful experiments as a product, that proves our hypothesis time and again by saving our clients money, helping them sell more or reach new clients!

Generally, when science makes it’s discoveries and moves on, engineers take over and innovation follows. As software developers, we are using well understood, genuine scientific discoveries in new creative ways.

I am a Computer Science graduate and I’ve argued here that I am a computer scientist. In my heart though, even though we push the boundaries of what’s possible with computers, I know my staff and I are really talented (wannabe scientist) engineers. I also think we’re psychologists!

In the end, it’s people that matter, our clients especially. Client’s and their employees often see significant change when they opt for a new computer system. We need to use all our soft skills to extract the information we need to capture the business processes (or hypothesis in science speak). Then we become psychologists by asking client’s and their staff how they would see a new system working, get them to design screens, suggest ideas, contribute to the development. Then our software experiment becomes their software experiment and that always leads to a successful, peer reviewed, experimentally verified conclusion: good software.

Our clients are the scientists, we’re just the lab technicians that help them design their experiment.

Tags: , , ,

Leave a Reply