Developer Advocate
Minnesota
Expertise: Architecture, Domain-Driven Design, Microservices, Usability, Refactoring, Spring, Kubernetes, Cloud Native Computing, Architect as a Service
Nathaniel T. Schutta is a software architect focused on cloud computing and building usable applications. A proponent of polyglot programming, Nate has written multiple books and appeared in various videos. He is a seasoned speaker, regularly presenting at conferences worldwide, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota where he teaches students to embrace (and evaluate) technical change. Driven to rid the world of bad presentations, Nate co-authored the book Presentation Patterns (O’Reilly Media, 2016) with Neal Ford and Matthew McCullough. He also recently published Thinking Architecturally (O’Reilly Media, 2018), available as a free download from VMware.
Nate’s presentations cover a variety of topics, ranging from architecture fundamentals to mobile design, usability, cloud computing, JavaScript, and everything in between. His current slate of talks can be found in Talk Abstracts, however additional presentations can also be found at his NFJS Speaker Page. If you are interested in having Nate speak at your event, please reach out.
Nate has a variety of talks and workshops on the following topics:
Nate can also lead architectural reviews as well as provide guidance on the cloud native journey.
These days, you can’t swing a dry erase marker without hitting someone talking about microservices. Developers are studying Eric Evan’s prescient book, Domain Driven Design (Addison-Wesley Professional, 2003). Teams are refactoring monolithic apps, looking for bounded contexts and defining a ubiquitous language. And while there have been countless articles, videos, and talks to help you convert to microservices, few have spent any appreciable time asking if a given application should be a microservice. In this talk, I will show you a set of factors you can apply to help you decide if something deserves to be a microservice or not. We’ll also look at what we need to do to maintain a healthy micro(services)biome.
There are many good reasons to use a microservices architecture. But there are no free lunches; the positives of microservices come with added complexity. Teams should happily take on that complexity…provided the application in question benefits from the upside of microservices. This talk will cut through the hype to help you make the right choice for your unique situation.
Responsible Microservices is based on my blog series Should That Be a Microservice? Keep These Six Factors in Mind found on the VMware Tanzu blog.
As we migrate towards distributed applications, it is more than just our architectures that are changing; so, too, are the structures of our teams. The Inverse Conway Maneuver tells us that small, autonomous teams are needed to produce small, autonomous services. Architects are spread thin and can’t be involved with every decision. Today, we must empower our teams, but we need to ensure they are making good choices. How do we do that? How do you put together a cohesive architecture around distributed teams? This talk will discuss creating “paved roads,” well-worn paths that we know work and can support. We will also explore the importance of fitness functions to help our teams adopt appropriate designs.
By now your organization has planted a flag in “the cloud” and it is up to you to figure out just what that means to your application portfolio. Should everything be a microservice? Wait, what is a microservice anyway? How do you deal with massively distributed applications? What do you do with your legacy portfolio? In this presentation, we will walk through how the cloud impacts our applications and what we can do to successfully move our organizations forward.
Topics for this talk include:
Please note that Architecting Cloud Native Applications can also be delivered as a workshop from three hours to two days.
Becoming a software architect is a longed-for career upgrade for many software developers. While the job title suggests a work day focused on technical decision-making, the reality is quite different. In this workshop, software architect Nathaniel Schutta constructs a real-world job description in which communication trumps coding.
Discover the skill sets needed to juggle multiple priorities, meetings, and time demands. Learn why your best team leadership tool is not a hammer, but a shared cup of coffee. Hear the best ways to give and take criticism. Understand the necessity of writing effective email and formal architecture documents. Get tips for delivering confident, career-building presentations to any audience. Review essential techniques for stakeholder management and relationship-building. Explore the critical needs for architecture reviews and an effective process for conducting them. Through lectures and small group exercises, Nathaniel will help you understand what it means to be a successful architect. By working through various problems, attendees will have opportunities to think through architectural decisions and patterns, and discuss the importance of non-functional requirements and why architects cannot afford to practice resume-driven design.
In this workshop, you will: