Duke’s Corner Java Podcast: Nate Schutta: I Just Love to Learn!
Here’s my interview with Nate Schutta, an author, a teacher, a software architect, and Java Champion. Nate lives in the United States and teaches computer science to university students. He loves teaching and he loves learning, and he specializes in exploring the big picture of complicated systems in his career as a software architect. The conversation covers the Java community, the value for developers if they contribute to Java User Groups (JUGs), the benefits and some possible drawbacks of AI, and the engineering feat that is the Java Virtual Machine (JVM).
Nate has a passion for learning and here’s his advice for young developers and engineering students. “The fundamentals can’t be skipped! And they take time to learn! You just have to put in those hours to understand the basics, and then you can graduate to the more complicated stuff.”
Nate tripped over Java a bit in school and joined his first Java project right in his first job. Once he heard about this new Java project, he said: “Heck, yeah! I want in on that!”
Here’s the full Nate transcript. Here are all the interviews on Duke’s Corner.
Here are some links where the Nate interview appears in full or clipped: Apple | Bluesky | Bluesky | Flickr | Flickr | Libsyn | LinkedIn | LinkedIn | LinkedIn | WordPress | X | X | X | YouTube | YouTube
Quotes from the Interview
Here is a nice selection of quotes from the interview with Nate. When you talk to someone as articulate as Nate, it’s hard to select specific quotes to print in text. It’s best to just listen to all of the interview! Anyway, a quick scan across some text is nice too! Each quote includes a timestamp and some context on software architecture, learning, education, contributing to the Java community, Oracle’s role, and the use of AI in development.
On the Role of a Software Architect and Trade-offs
Quote: “Our job on a software project is to see that bigger picture, to understand what those tradeoffs are, to sort of get out of some of the tribalism and evangelism around real specific technologies and be able to answer, well, why is that something we should use? How is that going to make things better for our business, for our developers, et cetera?”
Timestamp: 00:03:00–00:03:16
Context: Nate explains the essence of software architecture, emphasizing the need to balance trade-offs and maintain a broad perspective on system design to ensure decisions benefit both the business and developers.
On Teaching Soft Skills for Architects
Quote: “A lot of being an architect is people skills and soft skills… I make my grad students read How to Win Friends and Influence People by Dale Carnegie.”
Timestamp: 00:06:54–00:07:23
Context: Nate highlights the critical role of communication and influence in software architecture, incorporating soft skills into his graduate-level curriculum by recommending a classic self-help book to prepare students for real-world human relations.
On the Engineering Mindset and Curiosity
Quote: “The common thread I see through the best engineers that I’ve worked with or that I know, it’s this intense curiosity and it’s this passion to understand what’s going on here. It’s this tinkering mindset.”
Timestamp: 00:11:25–00:11:37
Context: Nate describes the mindset of great engineers, emphasizing curiosity and a desire to tinker as key drivers of learning, which, for some, can transcend formal education and is essential for mastering complex systems.
On Teaching and the Value of Learning the Hard Way
Quote: “I think you maybe appreciate it more when you’ve had to do it the hard way. Like I teach a cloud class to at the [university] and I make my students do things the hard way first to introduce them to why we now have these easier and simpler abstractions.”
Timestamp: 00:15:27–00:15:42
Context: Nate explains his teaching approach, where he has students perform tasks manually (e.g., bare metal setups) before introducing tools like Docker, to help them appreciate the value of modern abstractions.
On the Importance of Fundamentals
Quote: “The fundamentals can’t be skipped and they take time. You know, that’s the other part of this. I think people are in such a hurry to get past. It’s like you just have to put in those hours to understand the basics and then you can graduate to the more complicated stuff.”
Timestamp: 00:16:43–00:16:55
Context: Nate stresses the necessity of mastering foundational concepts before leveraging advanced tools, using photography as an analogy to illustrate that tools alone can’t replace understanding the basics.
On His Love for Learning
Quote: “And I just love to learn stuff. And so for me, that opportunity to just be exposed to brand new things, the web, you know, we’re just starting to play around with that, being able to build an app that you can use on the web and we’re getting a whole new deployment topology and everything is brand new, like, heck yeah!”
Timestamp: 00:21:09–00:21:25
Context: Nate expresses his passion for learning, describing how his excitement for new technologies, like Java and web development early in his career and how that experience drove his career and continues to motivate him today. You can hear it in his voice, can’t you? 🙂
On Java’s Evolution and Stewardship
Quote: “I think one of the things I find remarkable about Java… It has managed to evolve along with the types of programs that we’re writing and the demands that we place upon that. And I think that’s remarkable and speaks an awful lot to the stewardship. And I don’t think we give enough credit to the people behind that. It’s an incredibly complicated thing.”
Timestamp: 00:22:35–00:22:57
Context: Nate praises the stewardship of Java’s evolution, implicitly acknowledging the contributions of Oracle’s engineering team and others, for enabling Java to adapt to modern programming demands without breaking legacy systems.
On the JVM as an Engineering Feat
Quote: “The JVM is amazing. And just the feat of engineering, what that’s enabled over its entire lifespan… the fact that it’s managed to evolve and grow and adapt to new programming styles and new approaches is amazing.”
Timestamp: 00:29:30–00:29:51
Context: Nate praises the Java Virtual Machine (JVM) as a remarkable engineering achievement, noting its adaptability over decades, which supports a wide range of applications and programming styles.
On Simple Contributions to Open Source
Quote: “One of the simplest things you can do is you find a bug in the docs or in a tutorial and report it. Contribute a pull request for, hey, this isn’t right. It should be this instead… If you’ve ever gone through a tutorial and the steps are wrong or this command got changed and you’re spinning your wheels for two hours, well, you just saved a whole bunch of people a lot of time by fixing the docs.”
Timestamp: 00:35:24–00:35:49
Context: Nate encourages new developers to contribute to open source projects, even in small ways like fixing documentation. He emphasizes that these contributions are valuable and help others avoid frustration.
On the Collaborative Nature of Software Development
Quote: “Me helping you doesn’t diminish me. It’s not a zero sum game. It’s not like I now have less because I’ve helped you. It’s better for both of us.”
Timestamp: 00:36:24–00:36:31
Context: Nate emphasizes the collaborative ethic of the Java community, where helping others benefits everyone, which reinforces the value of contributing knowledge and support.
On Personal Passion for Teaching
Quote: “Oh, for sure… When I was probably in high school, I thought, well, I’ll be a teacher of some sort. I just didn’t know what.”
Timestamp: 00:39:42–00:39:53
Context: Nate reflects on his lifelong passion for teaching, which began in high school and led to his current role teaching graduate courses and engaging with the community.
On Mentorship and Giving Back
Quote: “So many people helped me. So many people reached out a hand and helped me up. So my job is to turn around and help somebody else to and help them understand something or put them in a position to succeed.”
Timestamp: 00:41:56–00:42:16
Context: Nate reflects on his duty to mentor others, inspired by the support he received, emphasizing the importance of helping the next generation of developers succeed.
On AI as a Learning Tool, Not a Shortcut
Quote: “You still have to have the expertise. You still have to have the fundamentals. People seem to think they can skip over the fundamentals and somehow AI will be the salve over all of that. And where I think we get in trouble is if you just blindly accept whatever the AI says.”
Timestamp: 00:45:04–00:45:24
Context: Nate discusses the role of AI in learning, cautioning that it should be used to enhance understanding, not to bypass learning core concepts, especially for students.
On Using AI to Support Learning
Quote: “I love it in the sense of, if a student is using this, because actually one of my students did this last spring, he was doing some stuff with Kafka and he couldn’t quite figure out how to get it configured and so he asked you know chat GPT or whatever how do I configure this and like, oh here’s what you do and he’s like that’s awesome.”
Timestamp: 00:52:38–00:52:52
Context: Nate shares an example of a student using AI (ChatGPT) to learn Kafka configuration, illustrating how AI can save time and aid learning for those with foundational knowledge.
On Encouraging Thoughtful Use of AI in Education
Quote: “I think that’s the worst thing you can do, frankly, as a teacher is to pretend it’s not there and all my students aren’t using it. They are. So figure out how to incorporate it, figure out how to give them that advice on how to use it intelligently and not just as a total crutch to avoid learning the concepts that we’re trying to teach you.”
Timestamp: 00:54:18–00:54:33
Context: Nate advocates for integrating AI into education thoughtfully and encourages teachers to guide students to use AI as a learning aid rather than a way to avoid understanding core concepts.
On Encouraging Community Involvement
Quote: “I would just encourage folks to get involved, whether that’s attending your local user group, volunteering to give a talk at your local user group, contribute and be a part of this community. There’s nothing that’s holding you back and don’t let your experience level be an issue.”
Timestamp: 00:54:59–00:55:15
Context: In his closing remarks, Nate urges developers to engage with the Java community through simple actions like attending user groups or giving talks. Contributions at any level are valued in the Java community.











