In the last decade, software engineering has emerged as a discipline very useful for computer application programmers in various engineering fields. In this paper the author considers the programming and management techniques for developing useful and commercially viable engineering software that may be used in the analysis and design of civil engineering projects. The issue of utilizing existing software effectively and efficiently is also discussed. At the conclusion of the presentation, several recommendations are made to encourage engineering software development in Canada.Key words: engineering, software engineering, software, computers, computer service bureaus, software directories.