It depends on the kind of software. I work on programs for big numerical calculations, so I need to break a problem into pieces that a computer can deal with using simple maths, and then combine all the small pieces back into the overall solution. A lot of my time is spent writing code to do simple jobs quickly. A program might do these simple jobs thousands or millions of times, so I have to make the code efficient even if they seem very simple.
The other side of the work is in making a program useable so that engineers can connect it to the other programs they use. Ideally, an engineer should be able to link up a sequence of programs to solve a design problem without having to retype work to move it from one program to another.
Comments