In this series, experts share what has helped them become better programmers.

Mark Bates

Laziness is a virtueif you're programming. Mark Bates, the author of Programming in CoffeeScript and Distributed Programming with Ruby, explains how taking shortcuts can actually help you become a more innovative developer.

Andrew Binstock

Andrew Binstock's programming advice has saved him—and may save you—an incalculable amount of debugging time.

Erik Buck

Erik Buck, author of Learning OpenGL ES FOR iOS, serial entrepreneur, artist, and creator of fuel alternative vehicles, discusses productivity and efficiency in coding.

David Chisnall

David Chisnall, author of The Go Programming Language Phrasebook and Objective-C Phrasebook,explains what it means to be lazy as a programmer: Pick the right tool for the job, and if the right tool doesn't exist, invent it.

Lauren Darcey

Lauren Darcey, co-author of Android Wireless Application Development Volumes I and II, talks about how trying to reinvent the wheel can negatively impact your group's agility — and your app's ratings.

Obie Fernandez

Hashrocket founder and Addison-Wesley Professional Ruby Series Editor Obie Fernandez talks about the importance of error messages.

Michael Hartl

When things don't go as smoothly as you'd hoped, it's easy to let frustration sink in. Even acclaimed Ruby developer Michael Hartl makes mistakes! Inside, he shares some inspiration to keep you on track.

Danny Kalev

Danny Kalev, the author of ANSI/ISO Professional Programmer's Handbook and The Informit C++ Reference Guide: Techniques, Insight, and Practical Advice on C++, shares some advice for programmers who are looking to develop their professional skills.

Jeremy Likness

Leading C# developer Jeremy Likness encourages the use of the "YAGNI" principle, otherwise known as “You Aren’t Gonna Need It.” Instead of working to build a rich and complex architecture, he encourages programmers to begin with the end user in mind.

Eric Lippert

Noted C# developer Eric Lippert shares some advice that has been useful in his careernot to mention his role in developing the first Lord of the Rings fan page back in 1993!

Rand Morimoto

Microsoft MVP and president of Convergent Computing Rand Morimoto writes about the importance of learning PowerShell, even if you're comfortable with using GUIs.

Russ Olsen

Russ Olsen, author of Eloquent Ruby and Clojure developer, spins a tale of an archaic CAD program, politics, and progress that can be summed up with one simple mantra: "Stay the hell out of other people's code!"

Rob Pike

Rob Pike, now a Distinguished Engineer at Google, worked at Bell Labs as a member of the Unix Team and co-created Plan 9 and Inferno. He was central to the creation of the Go and Limbo programming languages. Rob shares an experience at Bell Labs that changed his approach to debugging.

Chris Sells

Chris Sells, author of several books including Programming Windows Presentation Foundation, Windows Forms Programming in C#, and ATL Internals, explains why you should never trust the docs.

Mark Summerfield

Mark Summerfield, the author of Programming in Go: Creating Applications for the 21st Century, shares some of his best advice for improving your own programming.

Kirby Turner

Kirby Turner, founder of White Peak Software and developer extraordinaire, takes on stress with a zen-like approach. The words of one of Kirby's friends still rings true to him"Relax and do only what is important. Speed comes through focus, not stress.”

Bill Wagner

Bill Wagner, co-founder of SRT Solutions and regular contributor to the C# Development Center, tells why it's important to focus on the usability of code.