Friday November 8th


Salary Negotiations & Professional Development

Keynote 11/8/19 1pm

How to get paid what you’re worth and be worth what you’re paid. Whether you’re discussing salary for a new role, or trying to get a raise for your current role we’ll go over what you can do to show your employer you’re worth every dollar.

Eva Sofianos

CS Lecturer & Deputy Chair @ Lehman College, CUNY

Eva is passionate about technology, loves teaching and believes in community giving back. She is currently a Faculty Member and Deputy Chair of Computer Science at Lehman College, CUNY with almost 20 years in IT. Over half of those years were at IBM, although she has also developed software solutions for Weill Medical Center of Cornell University, and some startups, in addition to having done research and taught at the American Museum of Natural History in NY. Some career highlights include co-authoring an IBM Redbook for Private Clouds, co-founding a technical training program, and acquiring 2 grants last year for curriculum redesign and project-based learning.

Kotlin in the web? Piece of 🎂-tor

Alicia Pérez 11/8/19 2pm

We all know Kotlin is mainly used for Android development but are you curious about how it can be used to build a web application?

In this brief talk, I will introduce you to JetBrain's Ktor framework and walk you through the creation of a small web app that has different endpoints and uses template files for the frontend.

Coroutines in Kotlin Web

Mike Campbell 11/8/19 2pm

Learn the basics of Kotlin coroutines in web backends to improve the performance of your applications. I'll show you the basics of why asynchronous programming can be so beneficial and handy Kotlin coroutine patterns.

Mike is a Software Engineer with a passion for the outdoors. I currently live in Denver, CO, but grew up in the Boston area for my entire life. Aside from writing code, I'm a part-time water ski/wake board instructor (for fun!), skier, mountain biker, and raspberry pi enthusiast. Ask me about my latest ridiculous pi project!!!

Coroutines Case Study - Clean Async API

Tom Hanley 11/8/19 3pm

Asynchronous code can get really messy really quickly. Callback hell was named callback hell for a reason. Kotlin Coroutines are a fantastic way to clean up async APIs. In this session I'm going to show you how I took an asynchronous API for interacting with external hardware on Android, and wrote a Kotlin extension on top of it using coroutines and channels to make it super clean and easy to use wiht some lessons learned about error handling, debugging, and clean and testable code.

Kotlin DI Frameworks

Ken Yee 11/8/19 3pm

We'll cover why you should consider using a DI framework, compare a few frameworks, and learn how to migrate between frameworks in case you made the wrong decision 😉

Ken mostly does Android development nowadays but has done full-stack and CI/CD stuff in the past and is always interested in making things more efficient for everyone and exploring new technologies.

MvRx in Action

Eder Bastos 11/8/19 4:30pm

MvRx is a powerful and simple Kotlin-only framework for writing Android apps. It is not only easy to use, but also flexible enough to scale to the largest of use cases. In this talk we'll go beyond basic Hello-World examples by looking at a fully-featured app designed around MvRx. We will examine how its various features accelerate the implementation of new screens, encourage best practices, and eliminate common classes of bugs.

Putting the FUN in functional programming

Mike Ravert 11/8/19 4:30pm

Take a walk through an example Android application that takes concepts from functional programming to remove reliability on app state, making unit testing and reproducing user issues less of a headache and quicker to catch.

Software engineer by day, American Ninja Warrior by night. Mike is passionate about mobile development, obstacles, board games, rock climbing, handstands and anything else computer or fitness related.

Consistently Eventful: Kotlin makes Event Sourcing Fun and Easy

Drew Trafton 11/8/19 5:30pm

In a world where micro-services are increasingly prevalent and software is becoming ever more interconnected, how can we develop systems which interact with external applications in a way that preserves traceability, scalability, and our collective sanity? For the Kotlin ecosystem, Event Sourcing patterns, including concepts such as Domain Driven Design (DDD) and Command Query Responsibility Segregation (CQRS). Gain a deeper understanding of the challenges event-based patterns can address, learn best practices, and discover how Kotlin language features can create systems backed by Event Sourcing patterns.

Transformation from Java Kotlin to Pure Kotlin Style

Nithin Putchakayala 11/8/19 5:30pm

A beginners understanding of the language coming from a Java world, trying to take the in-depth advantage of the language in writing smaller and efficient code, in the most faster and expressive way, whilst at the same time interoperating with your existing application and Java libraries.

Covering the Differences between Java and Kotlin classes, constructors, different extension functions available in Kotlin.