A couple weeks ago I kicked off a series of written interviews with our .NET Foundation Advisory Council members. The Advisory Council is composed of OSS project leaders that care deeply about .NET and the success of the foundation. They drive key initiatives in the foundation and guide the board. Learn more about what the Advisory Council is all about and participate in public discussions with them on our forums.
For this next post, I interviewed Bill Wagner. Bill has spent his entire career in the software industry, spanning both technical and business roles. A Microsoft regional director, Bill’s technical areas of focus are C#, .NET, and TypeScript. His other, non-coding passion is to help organizations build effective, high-functioning developer teams.
An active blogger and author, Bill has written hundreds of technical articles and two books. Bill regularly speaks at conferences as well as developer groups throughout the world on topics ranging from C# to TypeScript to Software Engineering practices.
In addition to his business and technical accomplishments, Bill works with the Humanitarian Toolbox to create software that supports disaster relief efforts in times of natural disasters.
Tell us a little bit about yourself. What's your background? When did you start getting interested in programming?
I had a great math teacher in high school that encouraged me. He allowed me to get credit for homework if I wrote a program to do the problems. He thought that if I understand the concepts well enough to write a program for it, I must not need to repeat 30 other problems. From there, I went to University of Illinois, and majored in Computer Science. I still love programming, and write code as often as I can.
What initiatives are you working on (or passionate about) within the .NET Foundation?
I'm working with Shaun, Advisory Council chairman and Martin, Executive Director, on a process for the .NET Foundation to accept new projects. I think that is very significant: A rich project ecosystem will mean the .NET Foundation is succeeding in its mission to be the home of .NET open source. We need to make it easy for project leaders and developers with new projects to bring those to the .NET Foundation. And, from our side, we need to provide value and guidance to those project leaders.
Can you tell us some of the first open source projects you worked on as a contributor? Why did you get involved? How did you get started?
I am probably the anomaly on the Advisory Council. I’ve done less open source than the other council members. However, I’ve been involved in .NET since before its first release. In some ways, that makes me the voice of that .NET developer that is new to OSS and wonders how to get involved. I could be that developer Phil references in his interview about having to answer the same question more than 100 times.
In the last two years, I’ve been president of Humanitarian Toolbox (http://htbox.org), where we build open source applications that support humanitarian disaster relief efforts. It’s a chance to build software that can have a very real positive impact on people all over the world. It feels great to build software that makes developers more productive. It's so much more rewarding to build software that has the potential to save lives.
Looking back, what bug are you most proud of fixing in an open source project?
That’s a hard question. I always feel bad because I'm probably the one that wrote the bug in the first place. It would probably be some optimizations I made to a LINQ-based library a few years ago. It sped up performance in quite a few important ways.
What project(s) do you spend most of your time on now?
That would be Crisis Checkin, one of the Humanitarian Toolbox projects. I’m even more excited that we've got some corporate partners working on some incubator projects that will go live later this summer.
Can you tell us one thing you have learned about running an open source project?
It’s really hard to manage volunteers. You know that they want to help, and they are excited by the prospects. But you also know that they have so many other commitments on their time. You have to be encouraging and welcoming to anyone and everyone that wants to help.
Why is open source software important to you?
I think it’s a great learning tool. Do you want to learn how something is built? Look at the source. Read code. You’ll learn more than you will from almost any other source. As a developer, the fact that the source is published means you should take more care in how it communicates. Overall, this means we get better, higher-quality code.
What is it about .NET that you like most?
What does the future of .NET look like in your dreams?
Wow. .NET becomes a major platform for open source development, both inside and outside Microsoft. And, C# 8 becomes the most popular programming language on the planet.
Feel free to ask more interview questions in the comments below.
-Beth Massi, .NET Foundation Technical Evangelist