A view of 20th and 21st century software engineering | Synapse