"Whatever happened to drawing flowcharts?" asks Paula Lieberman, a systems engineer who's also been a software test engineer, tech writer and market researcher. "One of the most common failings of software engineers and coders I've seen over my entire career in high tech is a lack of exception handling. Most developers outside of computer security specialists seem rarely to consider, 'What if the user makes a mistake, what if someone is intentionally trying to break or break into the system, what if someone is clueless and doesn't do things the way the developer automatically assumes users do things?'" Also, says Lieberman, "Flowcharts help with the "just what is it that you're trying do?" view. Lists of requirements don't show interdependencies and how things fit together. Flowcharts are a visual systematic approach, in a world where particularization seems to have eclipsed looking at software from a systems perspective."
Working within network and performance constraints
Ben Summers, Technical Director at ONEIS, a U.K-based information management platform provider, points out that "habits learned when writing web applications for 14.4kbps dial-up telephone modems come in rather handy when dealing with modern day mobile connections. When you only had couple of Kbytes per second, and latencies of a few hundred milliseconds, you were very careful to minimize the size of the pages you sent, and just as importantly, minimize the amount of back and forth with the server."
With today's mobile connections, says Summers, "the latency is much worse than using a telephone modem connection, and that's compounded by error rates in congested areas like city centers. The fast 'broadband' headline speeds are pretty irrelevant to web applications. It's the latency which determines how fast the response time will feel, and tricks learned when phone modems ruled the world come in awfully handy. As a bonus, when someone uses your app on a fixed connection, it'll feel as fast as desktop software!"
The sounds of failure
Today's techies have a tin ear for failure. "I'm not seeing an understanding or awareness of the sounds computer systems and electronic equipment tend to make and how that relates to failure risks, like people being able to hear or otherwise sense when the engine oil in a car needs to be changed," says Bernard Hayes. "I can hear and am sensitive to the sounds of arm motion within my hard drive and can tell when it needs to be defragged. About six months ago, I could hear that my four-year-old disk drive on my seven-year-old laptop was about to fail, so I took care to duplicate everything and have copies about. I was thus not at all surprised when the disk failed about two weeks after I become aware of the risk."