Quando estava escrevendo os últimos capítulos deste livro, no verão de 2009, percebi que a engenharia de software havia completado 40 anos. O nome ‘engenharia de software’ foi proposto em 1969, na conferência da OTAN, para a discussão de problemas relacionados com desenvolvimento de software — grandes softwares atrasavam, não entregavam a funcionalidade de que os usuários necessitavam, custavam mais do que o esperado e não eram confiáveis. Eu não estava presente na conferência, porém, um ano depois, escrevi o meu primeiro programa e iniciei a minha carreira profissional em software.
O progresso da engenharia de software foi excepcional durante a minha carreira. Nossas sociedades não poderiam funcionar sem os grandes e profissionais sistemas de software. Para construir sistemas corporativos, existe uma sopa de letrinhas de tecnologias — J2EE, .NET, SaaS, SAP, BPEL4WS, SOAP, CBSE etc. — que suportam o desenvolvimento e a implantação de grandes aplicações corporativas. Os serviços e a infraestrutura nacionais — energia, comunicações e transporte — dependem de sistemas computacionais complexos e bastante confiáveis.
O software nos permitiu explorar o espaço e criar a World Wide Web, o mais importante sistema de informação na história da humanidade. Enfrentamos agora um conjunto novo de desafios: mudança climática e tempo extremo, diminuição de recursos naturais, uma população mundial que não para de crescer e que precisa ser alimentada e abrigada, terrorismo internacional e a necessidade de ajudar pessoas mais idosas a terem uma vida mais satisfatória e com mais qualidade. Precisamos de novas tecnologias para nos ajudar a resolver esses problemas, e o software certamente terá um papel fundamental nessas tecnologias.