Episode 92 – Understanding Your Tools & Communicating Effectively with Eric Lippert
Phil’s guest on today’s show is Eric Lippert. His career has been a long and varied one. He was a Principal Developer at Microsoft and a member of the C# language design team. Eric was also involved in the design and implementation of VBScript, JScript, Windows Script Host and Visual Studio Tools for Office. Over the years, Eric has published and edited numerous programming books and is now working at Facebook.
(01.00) – Phil asks Eric to expand on his brief introduction. Eric said that he studied computer science and maths at the University of Waterloo. There they run a co-operative education system where you study for 4 months and work for 4. He was an intern at Wacom and Microsoft. When he left Microsoft he went to work at Coverity. He is now working on developer tools at Facebook.
(5.54) – Can you tell us about your worst IT career moment and what you learned from the experience? Eric says it was probably the morning he woke up to the headline “Worst Security Flaw Ever Found in Internet Explorer”. Eric had worked on the piece of code that was involved in the issue. At first, he thought that he may have made the error. It turned out that his code had been changed and that change had not been properly reviewed, so the potential weakness was not found. The security flaw was nowhere near as serious as reported by the press. It would have required a virtually impossible hack to be executed in order to take advantage of the flaw. After that, a much stronger culture of code reviews was put into place.
(9.17) – Phil says to Eric – Can you maybe take us through your career highlights or greatest success? Eric says there were two. The first was his work on a new version of VisualStudio. They met the completion target date and every single planned feature was included in the release. His other highlight was being involved in the “from scratch” C sharp rewrite. That massive project was also successfully completed and shipped. C sharp now has over 5 million lines of code, it is truly huge.
(14.42) – Looking to the future Phil wants to know what excites Eric about the IT industry. Eric says it is the fact that we have still only really scratched the surface. There are so many features that can still be added to the various languages. For example, we can take features from programming languages and add them to production languages which would immediately raise the bar. We want to be able to write programs that can reason naturally about all kinds of probabilistic things and we are getting there. There is still a ton of stuff to do in the programming languages and tools space.
(17.43) – What first attracted you to a career in IT? Eric started programming before he owned a computer. He would write them out on paper and type them into the school’s Commodore PET. He had intended to study either mathematics or physics. But, he soon realized that he was not good at physics. He was much better at computer programming and enjoyed it, plus he could work while studying IT.
(19.22) – What is the best career advice you have been given? Eric reiterated the advice to find a source of questions and answer them. But, he added that it was important to learn how to write well. Learn how to be concise and convince people that you’ve written correct code. To do that you need to write convincingly.
(20.29) if you were to begin your IT career again, right now, what would you do? Eric says he would study statistics. Much of the machine learning and probabilistic programming is about understanding statistics. With differential programming there is even calculus involved, something Eric never expected to see.
(21.27) – What objectives are you focusing on now Eric? He responded by saying, “Building cutting-edge tools and helping real developers to get real stuff done”. The same focus he had at the start of his career.
(21.30) – What would you consider to be your most important non-technical skill? Being able to communicate effectively, it is crucial.
(22.57) – Eric, can you share a parting piece of career advice with the IT Career Energizer audience. Know your tools. I get pitched features for tools and programming languages that already exist. It shows that a lot of people do not know their tools well. It also indicates that the tools are not as discoverable as they should be. Users need to dig in and understand them better and tool providers need to make their tools more discoverable.
(2.18) ERIC – “I have a keyboard on my desk that is older than my intern.”
(4.09) ERIC – “Find a source of questions and learn to answer them”
(9.27) ERIC – “I want to ship actual code that solves actual developer’s problems”
(14.34) ERIC – “It’s immensely satisfying to build something really, really big that actually works.”
(17.25) ERIC – “Every time you build a tool, you magnify your impact across the entire industry.”
(20.54) ERIC – “So much of machine learning and probabilistic programming is about understanding statistical concepts.”
CONTACT ERIC LIPPET:
Twitter: https://twitter.com/ericlippert @ericlippert