Gary Pollice

Professor of Practice, Computer Science

Me on Philosopher's Way, Heidelberg, Germany, June 2012
On Philosopher's Way, Heidelberg, Germany

Basic Information


My Current Schedule (C15)

Day Time Activity
Monday 9:00 SP 1523

10:00 MQP GFP1404 (FL B19)

2:00
MQP GFP1403 (FL B19)

3:00
MQP GFP1401 (FL B19)

4:00
CS4533/CS544 (FL320)
Tuesday 9:00 SP 1523

11:00 CS department meeting (FL320)

1:00
Office hour (FLB19)

2:00
Leave for CS525P @ Cisco
Wednesday 11:00
Off campus
Thursday 9:00 SP 1523

10:00 MQP GFP1405 (FL B19)

2:00 MQP GFP1402 (FL B19)

4:00
CS4533/CS544 (FL320)
Friday 9:00 SP 1523

10:00
Office hour (FL B19)

I usually will keep my office door open when I'm in and not in a meeting. If you need to see me, just stop by. The worst thing that will happen is that I will tell you to come back some other time. 

Who am I?

I am a Professor of Practice (PoP) in the WPI Computer Science department. What is a professor of practice? I'm glad you asked. A PoP is someone who has spent a significant period of his or her professional career in industry, or non-academic, organizations and brings that practical experience to the classroom. A PoP is a full time, non-tenure track position that focuses on teaching. I typically teach four courses each year, with my major focus on software engineering themed courses. See my Teaching page for more information about these.

Industrial Experience

I spent more than 37 years working in the computer industry. I began programming in 1966 when I worked at a summer and then part-time job for the U.S. Army. I learned how to program in the ALGOL programming language, creating programs for meteorologic applications. My last job before joining WPI was as the "RUP Curmudgeon" for IBM/Rational, where I helped customers understand software development methodologies and how to customize the Rational Unified Process and effectively use the Rational development tools.

Between these two jobs I honed my skills attending graduate schools and working at interesting companies. Some of the more interesting jobs I've held were with Rational Software, CenterLine Corp., Digital Equipment Corp., Sun Microsystems, and Datapoint Corporation. I was fortunate to work with, and learn from some great practitioners and thought leaders. This helped me shape the way I approach building software systems. It also got me into working with language processing tools and building compilers, which is one of my passions.

Me, Today

The experiences I had in industry were great. I lived through much of the history of software engineering. I found the type of projects that I enjoyed working on (small to moderately sized, short time frame—less than a year—delivery cycle, high customer interactivity). I also got to understand other types of projects and began to see what was common to them and what differed. I bring these insights to the classroom.

I lived through the beginning of the Agile movement. I was a speaker, for Rational Software, at many of the early conferences when Agile was being pushed as the way to be successful with software. It was a time when consultants and others were jumping on the band wagon to try and convince people that they had a better way to do things. It was a time when no one really knew what Agile meant, but they wanted it.

Many good ideas came out of the Agile movement, and many of the things that are attributed to it are things that were around long before 2000. I incorporate many of the ideas into my courses, projects, and professional practice. If there is one thing I want students to learn in my course is how to think rationally about the projects they work on, teams they work with, and identify the best practices and tools for each situation. This is not Agile, but practical software engineering.

I am still a software developer at heart. While new technologies are fun and important, they still require sound software to drive them for useful applications. My focus currently is on these areas:

You can find out more on my Interests page.