As I am a computer science student who meandered into telecom as an application area (more due to circumstance than intent), I plan to refresh my basic principles once in a while. One of the seminal articles on sound principles for system programming has been published by ACM as far back as 1969. I think that systems engineers should re-read this article every few years to remind themselves of what should be vs what is. As I re-read it currently, the applicability to telecom systems – whether they be networks, services, OSS/BSS systems – clearly surfaces.
In brief, the article lists the fundamental principles of good systems programming (includes aspects like forgivingness and monitorability in addition to the well-known ones like modularity and availability) and defines all of them. It then goes on to discuss the problems that come in the way of adhering to the principles followed by cost metrics for systems. I think the cost metrics concept is something very important for software deployment, more so for telecom systems deployment. The article then discusses higher level implementation languages (remember that this was written in 1969 when handcoding in machine language was the order of the day. The parallel to modern day systems would be usage of meta-systems like application middleware or service delivery platforms in the telco world).
The article includes some good external quotes as well as creates its own quote-worthy statements like:
There is no substitute for intelligent forethought and coordinated planning using the principles of good engineering and development management. (T. J. Watson)
We don’t read. Very few system developers are familiar with work done outside of their own project.
PS Thanks to the NANOG poster who quoted from this and reminded me to re-read this gem.