What's all this fuss about Kotlin, anyway?

Kotlin is a relatively young JVM language from JetBrains. Proponents are stoked about the improvements it offers over Java source syntax as well as its potential to target native object code as well as Java bytecodes. Kotlin has already gained traction for Android development, and is also an interesting choice for general application development in organizations that have a significant investment in Java tooling, libraries, and applications. How does Kotlin differ from other JVM languages, including Java, Clojure, and Scala? Is it a flash in the pan or a genuine advance that enhances the value of the Java platform?

 
 

Outline/Structure of the Tutorial

The organizers did not provide an appropriate Session Type in the drop-down list. This is a live code demo with interactive discussion. The facilitator will show side-by-side examples of Java and Kotlin code (and possibly x and Kotlin code where x is another JVM language) showing

  • common idioms such as iteration, lambdas, and collections
  • microtest setup using JUnit5 and kotlin-test

He will also show interoperability between Kotlin and existing Java APIs/packages.

Discussion is encouraged throughout the session.

Learning Outcome

  • A sense of how Kotlin source code compares to Java source code
  • Understanding of some of the key differences between Kotlin and Java
  • Awareness of Kotlin as an option for Java development organizations, and how it can fit in

Target Audience

Software developers who work with one or more JVM languages or similar (e.g., .NET langauges); team leads, project managers, or others with responsibility to select and approve programming languages for their organizations;

Prerequisites for Attendees

Working knowledge of Java or any other JVM language or a broadly similar language such as C# or C++. You can optionally bring a laptop and download the code samples to play with, or you can do that later.

schedule Submitted 2 years ago

  • Rick Austin
    keyboard_arrow_down

    Rick Austin - Portfolio Management In An Agile World

    Rick Austin
    Rick Austin
    Sr. Consultant
    LeadingAgile
    schedule 2 years ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    When organizations move to agile for software delivery, there is often tension with traditional portfolio management. This talk will illustrate how an organization can move from traditional portfolio management approaches to one that embraces agile software delivery. Doing so enables organizations to become predictable, improve the flow of value delivered, and pivot more quickly if necessary.

    We will demonstrate the use of governance that allows a more adaptive portfolio management approach. We will cover topics that enable agile portfolio management including:

    • Lean techniques for managing flow
    • Effective prioritization techniques
    • Long range road-mapping
    • Demand management and planning
    • Progressively elaborated business cases
    • Validation of outcomes
    • Support for audit and compliance needs

    These topics will be illustrated by real-world examples of portfolio management that have been proven over the last five years with a wide range of clients.

  • 45 Mins
    Tutorial
    Intermediate

    Slides: https://www.slideshare.net/Camille_Bell/kata-your-way-to-sw-craftsmanship

    Maybe you are a developer and want yourself and your team to become Software Craftsmen.

    Or perhaps you've a leader and heard about the greater quality and productivity of high functioning agile development teams.

    Or you could be in dev ops and know that you can't implement a CD Pipeline without a solid suite of automated tests. But your developers don't practice Test Driven Development, Refactoring or other agile technical practices, and you don't know how to guide them.

    Whatever your role, you would like your team to become software craftsmen, proficient in agile technical practices.

    Join Camille as she shows you how to Kata Your Way to Software Craftsmanship.

  • Dave Nicolette
    keyboard_arrow_down

    Dave Nicolette - Developer superpowers to effect positive change

    Dave Nicolette
    Dave Nicolette
    Consultant
    Neo Pragma LLC
    schedule 2 years ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Many software developers (especially in larger organizations) are unhappy in their jobs. They are in a never-ending spiral of increasing code cruft, and their management does not allow them time to remediate technical debt or keep the code base clean. They feel helpless, beaten-down, defeated. They can't imagine that improvement is even possible. They respond to any suggestion to improve the status quo with comments like, "In an ideal world, maybe," "That will never work here," "You don't live in the Real World®," etc. They don't know their own power. This session is meant to show them that power.

  • Camille Bell
    keyboard_arrow_down

    Camille Bell - Creating an Environment to Enable Team Engagement & Productivity

    45 Mins
    Talk
    Beginner

    Maybe you are standing up a new agile team or are team member of a proposed team. You know that the team should sit together, but you suspect there is something more.

    Or maybe you are on an existing agile team. You think your environment could be better, but you aren't exactly sure what matters most and certainly don't want to ask facilities to move things more than once or submit multiple procurement requests.

    Or maybe you are still stuck in cubeville. You know you should talk to your teammates more often, but they are down the hall. You'd like to try pair programming, but the desk shape makes that hard. You really need to brainstorm and collaborate more as a whole team, but booking a conference room is a nightmare.

    Camille will share recommendations on your environment setup, why they matter, the knowledge of how to justify the changes you want and how to make some trade offs when necessary.

  • Dave Nicolette
    keyboard_arrow_down

    Dave Nicolette - Value, Quality, and Craft

    Dave Nicolette
    Dave Nicolette
    Consultant
    Neo Pragma LLC
    schedule 2 years ago
    Sold Out!
    45 Mins
    Workshop
    Intermediate

    The concepts of value, quality, and craft are frequently debated in the software community at large and the agile community in particular. Usually, they are debated separately. Does "value" refer strictly to the Lean idea of customer-defined value, or is the concept broader than that? Is it possible to deliver "value" with low quality? What does "quality" even mean? And can we achieve high quality or deliver good value if we don't apply skill to the work? Is that what "craft" means, or does it strictly refer to artisanal crafts? Maybe the lack of consensus stems from the fact we have been treating these as three separate topics, when in reality they are inseparable. Let's find out.