“I can’t stress enough the importance of being really good at software in one form or another, whether it’s managing, running projects or sponsoring projects.”
Rolf Andersson of Goldman Sachs is a software architect, and he says that software is taking over the world. But all the competition out there is making it much harder to innovate than it was a number of years ago. You have to have a good idea, plus the stamina and expertise and experience. And a good team.
Although there are a number of factors one has to take into account when designing software, such as robustness, correctness, and speed, you can’t leave “fast” for last. You have to make it fast from the outset, because that’s not something you can bolt on later, he said.
Another thing developers need to do is, as Isaac Newton put it, to “stand on the shoulders of giants.” You cannot reinvent the wheel every time, so Andersson’s advice is to learn from others and use their work to improve upon your own.
It’s also important to understand the technology you’re using. Even if you don’t actually build computers, know how they work. But realize that you don’t know everything – and don’t assume anything. Base everything on data.
Finally, in order to build really good, robust applications with few bugs and high performance, especially with scalability, good throughput and low latency – you have to go for simplicity. If you build a system that is so complex you can barely get it together, debugging it is twice as hard as writing the code.