Back to article
Bjarne Stroustrup on Educating Software DevelopersBy James Maguire, James Maguire, James Maguire
December 9, 2008
Bjarne Stroustrup is a leading figure in modern software development. As the designer of the C++ language used in everything from the Google search engine to the iPhone his contribution has impacted countless development projects.
After 24 years as a researcher at Bell Labs, in 2002 Stroustrup became a professor at Texas A&M University, where he holds the College of Engineering Chair in Computer Science. The experience has given him insight into the all-important task of educating tomorrows software developers.
In this interview he speaks frankly about the challenges and problems and improvements being made in computer science programs. Among issues like perceptions of offshoring and the need to balance the theoretical with the practical, he addresses complaints by tech companies about the lack of fully qualified CS graduates.
He notes that The US industry could absorb more good developers than there are currently students enrolled in IT-related programs but not all of those programs and all of those students would qualify as good in this context.
He also talks about CS programs overemphasis on Java, echoing an earlier Datamation interview of Robert Dewar, a CS professor at New York University. Yet while Stroustrup agrees that Java has been used to dumb down CS programs, ultimately, the problem is one of attitude, more than an issue of programming language.
Despite these concerns, Stroustrup brings a degree of optimism to the process of improving CS programs. He notes that hes not alone in wanting change, that many people and organizations are working to revise and upgrade CS studies. It will take time to know the optimal mix of techniques and subjects, yet great energy is going into the effort all over academia a vital process if the US is to continue to be competitive in software development.
Bell Labs was broken up into Lucent Bell Labs and AT&T Labs. The old Bell Labs (AT&T Bell Labs) was indeed remarkably close to the ideal for practical research aimed at changing the world for the better and Im often homesick for it. Unfortunately, it no longer exists.
Its successor organizations especially AT&T Labs, with which Im still associated as an AT&T Fellow tried hard to live up to the high standard set by Bell labs, but that was not easy. Part of the secret of Bell labs was a unique mix of practicality and a stable long time horizon for promising ideas often 10 years.
As far as I know, no current industrial research organization has that. They are under the gun from business people and Wall St. to deliver now; many think that two years is long term. Im sure my managers at Bell labs had a much better idea how long it would take AT&T to benefit from C++ than I did when I started, and how. They probably also had a better idea how much good it could do, yet they encouraged me, supported me through difficult years when results were sparse, and most interestingly from todays perspective encouraged me to spend more time to get more things right.
And that work was done in an organization that had the greatest density of smart, well-educated, hard-working, creative computer scientists I have ever seen. Our interactions were more collegiate than I have seen elsewhere without those great colleagues, I could not have done the work I did. For a list of names, see this page. Another essential aspect was the range of areas that AT&T was involved in and that Bell Labs consequently received practical challenges from. In particular, I talked with people involved in switching, networking, network management, VLSI design, board layout, billing, satellite communication, speech analysis, routing, graphics, databases, and much much more.
The old Bell Labs doesnt exist anymore though I will certainly encourage young ambitious researchers to look at AT&T Labs; it has much to offer. I could have stayed in AT&T Labs research center in Florham Park, NJ forever, but the interesting problems from the engineering and development areas werent coming the way they used to do. Also, after 24 years in one place, I felt the need for something new.
Academia was and is a challenge for me. Academic research is far more different from industrial research than I had imagined and teaching itself poses a new whole new set of interesting problems for me. When I first graduated, I had a positive dread of becoming a teacher/professor because I had seen too many professors for whom academia was their whole world they had never seriously experienced the world outside school. I did not want to become such a teacher/professor. 24 years after, I felt I had something to contribute based on my experience.
I also had some rather naïve ideas of perusing noble goals with a group of likeminded professors and students, coming closer to the ideals of Bell Labs than was possible in todays economic climate in industry.
Do you feel that university CS programs are properly preparing students for the demands of the marketplace? When I interviewed Robert Dewar, professor at NYU, he claimed that companies are complaining about the lack of skills among computer science graduates. Have you heard these complaints? If so, why do you think these companies are dissatisfied?
I have heard many complaints. Some from large corporations, such as Adobe, Apple, AT&T, IBM, Intel, and Microsoft, and many from companies that are less known for their software. Basically every company I visit has a shortage of qualified software developers. I have even had questions from strangers in airplanes: Youre a professor? In software? Have you got any students? Heres my card.