Interview with Andy Hunt, Coauthor of The Pragmatic Programmer: From Journeyman to Master
Programming is an inspirational activity best learned from reading books written by great authors. Authors who have the best skills in writing and coding programs. Authors of this kind of books catered their skills and experiences for the readers while continuing writing more books to help everyone who has the same passion as them.
Today’s featured author is a programmer, a consultant, an author and a publisher who coauthored The Pragmatic Programmer: From Journeyman to Master. His name is Andrew “Andy” Hunt and he has published lots of books including Learn to Program with Minecraft Plugins: Create Flaming Cows in Java Using CanaryMod, Pragmatic Thinking and Learning: Refactor Your Wetware and more.
His book (our featured book), The Pragmatic Programmer: From Journeyman to Master, is a classic but a very informative, very interesting, very useful and very easy to understand programming book. The Pragmatic Programmer: From Journeyman to Master is a book for everyone, may you be a newbie/beginner or professional.
He is currently doing a lot of things now and it is a great honour to be given time to have this interview despite his busy schedule, and because of that, we would like to thank you, Mr. Andy Hunt, for the opportunity you gave us to feature you in our featured authors.
Get to know the Author
Name: Andy Hunt
Book: The Pragmatic Programmer: From Journeyman to Master
Background: Programmer, Consultant, Author, Publisher, Lecturer, Thinker.
Favourite gadget: FiiO Hi-res music player
Hobbies: Music, woodworking, fiction writing
How much code do you still write on a daily basis?
I tend to do more experimenting and engineering than pure code writing, so there’s occasionally some soldering involved ;). Code is just one tool of many. I do a little experimenting with new languages, and a little ongoing maintenance to existing bits.
2. What is your favorite programming language today?
3. What would you recommend to a high school student who programs but has not yet had any formal training?
There are a handful of important theoretical fundamentals that you really need to learn, regardless of whether it’s from a formal institution or some guy on YouTube. I think it’s important to understand transistors, gates, assembly language, C, and Lisp. Finite state machines, basic data structures, Big O concepts, perhaps some information theory. After that, nothing is mysterious anymore. You can look at Java, or Ruby, or Elixir, or Rust or Elm and have a good idea what’s happening under the covers. There is no magic.
But software construction—coding—is just one aspect of software development. Knowing how to use a hammer is just one part of building a house. You need to understand how to work with other people, both with teammates and with those pesky users. That’s what a software methodology (such as Agile) is for: a way for people to work together effectively. Understanding at least a little about basic human psychology can be a real asset because people are crazy. All them. You especially. It’s worth knowing that, and how to cope with it.
Finally, you need to keep learning. It’s a lifelong process. You’ll never know everything, in fact, you’ll never even learn enough. But you keep at it. Everything that pops up that you haven’t heard of before, that you don’t know about, Google it. Look it up. Dig in.
The only defence against constant change is constant learning.
4. What was the most challenging project that you had to take on and why?
It’s hard to single one out in particular, every project sucks in its own, unique and special way 😉 Of the challenges that were successes, of course, I go back to that first project where Dave Thomas and I met. Hard deadline, lots of code, just the two of us. But we had a secret weapon: Judy. Judy was the customer and subject matter expert, and she made herself available to us 24×7. Any question that came up, no matter how low-level in the code we were, she could explain how their world worked so we could make the correct decision. Later on, that became a major tenet of Extreme Programming and Agile methodologies; that close interaction with the customer. But to us at the time, it was just one more secret weapon in our growing arsenal.
The were other challenges that were not successful, of course. Torpedoed by clueless or openly antagonistic stakeholders, internal political conflict, that sort of thing. In every case, you had dedicated technology folks trying their hardest to do the right thing, but without the support of the rest of the organization, and from the executives and leaders especially, failure isn’t just an option, it’s a certainty.
5. What do you think has been the biggest advancement in programming?
Hands down winner: the open source movement. With closed source, there is no learning, there is no community. Imagine trying to get an English degree, but not being able to read or study any of the classics that were published by another publisher. Or trying to study chemistry, but the first half of the elements were patent-protected by a major pharma company and you couldn’t use them.
With open source, I can stand can on the shoulders of giants, and then you can stand on my shoulders, and on and on it goes. With open source, we can all participate, contribute, learn and experiment to continually push the boundaries and adapt to the changing world around us. From a lowly router to the largest media companies, the internet itself and the world run on an open source base.
6. What would you like to be your legacy?
To leave behind a body of pointed questions that cut through the bullshit. I don’t think I’m good enough to actually discover The Truth, if there even is such a thing that could be captured. But I’d like to try and get as close as I can.
Mr. Andy Hunt is a very nice author. He’s very kind and a humble person too. We are very happy and grateful that we had this opportunity to know more about him and share it with you, our dear readers!
A full-length biography of Andy Hunt is available at http://www.toolshed.com/about.html
His short bio and publication-sized photo(s) are at http://www.toolshed.com/bio.html.
Check what he’s up to at http://www.toolshed.com/now.html.