Mark Heckler

Information & Communications Technology

Business & Management

Finance & Banking

Environment and Cleantech

Media & Information

Mark Heckler

Sultan of Spring

Mark Heckler is a software developer & Principal Cloud Developer Advocate for Java/JVM Languages at Microsoft, conference speaker, Java Champion, and Kotlin Developer Expert focused on developing innovative production-ready software at velocity for cloud and edge computing platforms. He has worked with key players in numerous industries and public sector organizations to develop and deliver critical capabilities on time and on budget. Mark is an open source contributor and author of Spring Boot: Up and Running (https://bit.ly/springbootbook) and can be found on Twitter @mkheck.

Current sessions

Event Streams & Data Rapids 🌊: Harnessing the Full Power of Messaging Platforms

Most mission-critical systems have distributed elements or are entirely distributed, resulting in a number of challenges: performance, scalability, reliability, resilience...the eight fallacies of distributed computing are alive and well!

Messaging platforms are often used to solve these problems and increase the "ilities", but they don't come without a few complexities of their own. Come to this session to learn not just how to use open source and best-of-breed solutions like Spring Cloud Stream, RabbitMQ, Apache Kafka, & Event Hubs to maximize your distributed systems' capabilities while minimizing complexity...but how to *really* use them! Messaging platforms offer numerous challenges and opportunities for developers; the presenter will show you powerful ways to navigate and harness them for maximum throughput, maximum flexibility. All examples will be coded *live and in real time*!


This stuff is cool, but HOW CAN I GET MY COMPANY TO DO IT??!

Cloud Native, containers, Kubernetes, microservices, and more: we go to conferences and get excited about the potential of so many things that could revolutionize our development and change our organizational and professional lives! And then, we go home…​and hit the wall. If you’ve ever asked yourself, "This stuff is cool, but HOW CAN I GET MY COMPANY TO DO IT??!", this is the session for you.

Learn from an experienced software developer (who also happens to have an MBA) how to make your case to leadership, presenting management-ready justifications for changes in "your world" that will positively impact the business as a whole. Topics include:

* How would this change affect your organization’s/group’s/team’s work?

* How would this change impact (positively and negatively) your tech stack (internal considerations)?

* How would this change contribute to recruitment/retention (external considerations)?

* Seeing beyond your borders: how could this change positively - and negatively - affect the business?

* Putting numbers with it: pros, cons, and caveats

Come to this session to dramatically boost your chances of making an actual, positive change to your organization!


Let's get functional! Pull off a trifecta with Spring Cloud Function, Azure Functions, and Neo4j

So-called "serverless" may be the least accurate tech name in history, although there are countless worthy contenders for that (dis)honor. And while functions may not have a perfectly precise definition in terms of size or scope, we're far more likely to reach general agreement on functions - their purpose, scope, pros/cons, and utility - than we are to ever locate those missing servers. :)

In this session, the presenter examines what makes a capability or set of capabilities ideal candidate(s) for development and deployment as one or more functions. The presenter will then lead attendees in a Live Coding Adventure(TM) to demonstrate how to create candidate functions using the power of Spring Boot and Spring Cloud Function. Next, we'll incorporate the power of the graph, connecting our functions to a cloud-based, global-scale Neo4j database. Finally, we will deploy these open source functions via Azure Functions to demonstrate how to integrate everything in the cloud and reveal some potentially very welcome discoveries. Come to this session to learn how to incorporate functions into your critical systems. With great power...


Let's get Functional: The fast path to smart serverless with Spring Cloud Function & Azure Functions

So-called "serverless" may be the least accurate tech name in history, although there are countless worthy contenders for that (dis)honor. And while functions may not have a perfectly precise definition in terms of size or scope, we're far more likely to reach general agreement on functions - their purpose, scope, pros/cons, and utility - than we are to ever locate those missing servers. :)

In this session, the presenter examines what makes a capability or set of capabilities ideal candidate(s) for development and deployment as one or more functions. The presenter will then lead attendees in a Live Coding Adventure(TM) to demonstrate how to create candidate functions using the power of Spring Boot and Spring Cloud Function. Finally, we will deploy these open source functions via Azure Functions to demonstrate how to integrate everything in the cloud and reveal some potentially very welcome discoveries. Come to this session to learn how to incorporate functions into your critical systems. With great power...


All Paths Lead to Production: A Fast Paced Guide to delivering Spring Boot Apps to PROD!

Production is where the full value of our Spring Boot apps is realized, and Spring Boot is just as versatile in deployment as it is in development.

Spring Boot offers developer-first means of creating various deployable artifacts including, but not limited to:

* JARs
* Executable JARs
* Fully executable JARs
* Native images
* Container images

Additionally, target environments can include:

* Physical deployment targets (IaaS or no)
* Machines, virtual machines (IaaS)
* Container runtimes/orchestrators (CaaS)
* Application environments (PaaS)

In this session, the presenter discusses and *demonstrates with real Spring Boot applications* how to optimize your deployment choices for best results, tailored to your unique circumstances. Dev tools that force a "one size fits all" approach onto developers offer more problems than solutions; Spring Boot provides great options that place the power in your hands. Come to this session to learn more!


Das Boot: Diving into Debugging Spring Boot Applications

Spring Boot streamlines Java and Kotlin development with its developer-first focus. By simplifying dependency management and deployment, providing unmatched autoconfiguration capabilities, and leveraging convention over configuration at every opportunity, developers can focus nearly all of their efforts on designing, developing, and delivering amazing software. This is the happy path, and it is wide.

Good developers write good code, but great developers can diagnose the inevitable issues that arise in complex software systems. When your code takes the road less traveled, how can you quickly identify, isolate, and resolve the problem, not the symptoms? How can you move from good to great?

In this session, the presenter will take you on a live-coding adventure(TM) into the hidden passageways of your Spring Boot application. Topics covered may include (but are not limited to) the following, depending upon time available:

* Application startup, including autoconfiguration steps/process
* Bean initialization and configuration
* Debugging local apps via IDE
* Remote debugging container applications
* Tracing distributed apps
* Debugging reactive code

Come to this session to get a deeper understanding of your Spring Boot apps and level up your debugging skills!


RSocket + Spring : A Full Throttle Introduction

You've evolved from monolith to microservices, from blocking code to reactive, all in pursuit of better scaling and resource maximization. And you're _so close_! How do you cross the final frontier - the network boundary - and wring out the ultimate in system performance, flexibility, and resilience...and _system-wide_ scalability?

Enter RSocket, a transport-independent binary protocol. Building upon the reactive streams paradigm and Project Reactor, RSocket knocks down the (network) walls separating your microservices and enables you to truly treat them as a fully-interconnected system while providing mechanisms that increase flexibility and resilience instead of reducing it.

RSocket has four interaction models to support all the use cases:

* request/response
* request/stream
* fire & forget
* channel (bi-directional stream)

Combining Spring Boot with RSocket gives you the fastest, most developer-friendly way to explore and exploit your reactive superpowers. Come to this session for a full throttle, live-coding adventure introducing Spring Boot RSocket mechanisms & models and showing how to put them to work for you. All examples will be coded *live & in real-time*!