What I Wish I Had Learned in University: Reflections on 30+ Years as a Software Developer

Bran Selic, IBM

Friday, March 17, 11am
SITE 5084, 800 King Edward Ave

Sponsored  by



Of course, our failures are a consequence of many factors, but possibly one of the most important is the fact that society operates on the theory that specialization is the key to success, not realizing that specialization precludes comprehensive thinking.” – R. Buckminster Fuller

Computer science and software engineering curricula are long established by now in most institutions of higher learning. They evolved from a few utilitarian courses that taught basic programming skills into fully-fledged academic programs reflecting the growing body of knowledge in the field. Yet, it seems that some quite fundamental gaps persist in the education of software experts, rendering many of them ill-prepared for industrial needs. These problems, which are both technical and cultural, can be addressed only if there is a clearer understanding of the unique nature of software technology. Knowing how software differs from traditional technologies will indicate where innovative approaches to teaching are necessary, whereas knowing how it is similar to those technologies will help us understand where classical time-proven methods can be applied. This talk identifies some of the key problem areas in current software-oriented curricula and describes suggestions for dealing with them – from the perspective of a long-term practitioner of industrial software development.

Biography of Bran Selic

Bran Selic is an IBM Distinguished Engineer at IBM and an adjunct professor of computer science at Carleton University in Ottawa, Canada. He has over 30 years of experience in designing and implementing large-scale industrial software, including design and implementation of software for large real-time telecom systems as well as for embedded applications in aerospace and robotics. Bran pioneered the application of model-driven development methods in real-time applications and is the primary author of a reference text on this subject. In 1992 he co-founded a successful hi-tech startup, ObjecTime Limited (subsequently purchased by Rational Software). He is a frequent invited speaker and lecturer at various technical conferences and symposia dealing with real-time software and model-driven development. Bran is presently chair of the OMG team responsible for the UML 2 modeling language standard.

Bran received his Dipl.Ing degree (1972) and Mag.Ing. degree (1974) from the University of Belgrade in Belgrade, Yugoslavia. He has been living and working in Canada since 1977.


This website is maintained by Yongyi Mao, and was last updated on March 1st, 2006