Devfest DACH - the Online 2020 edition, Community Developer conference Sunday the 24th of January 2021 - because we all have to have something to look forward to as well!
DevFest DACH is a cooperation between chapters, and will happen from the safety of your own home!
DevFest 2020 brings together thousands of developers globally for the largest virtual weekend of community-led technical learning and a shared passion for Google technologies. The magic of DevFest has always come from the people involved - developers from all different backgrounds and skill levels. For DevFest 2020, Google Developer Groups are coming together in a whole new way - virtually. This global moment empowers developers to teach, learn, and connect when they may need it the most. Learn more at https://devfestdach.online/
The event main host is our Berlin Chapter, so please follow the instructions on their site for how to join!
And don't miss out our socialising and networking part in the evening! You do need to bring your own drink, though...
Sunday, January 24, 2021 10:00 AM – 5:00 PM UTC
A Multiplatform triathlon: Kotlin through Android, iOS and Web - Track 1
"For several years now, that we’ve been trying to find new solutions on how we could develop a single project and run it on all platforms. We’ve been seeing all types of solutions: some are web-based, others require you to learn a new language, and others even may require that you pay a monthly fee to use. It also comes with the drawback that all your UI depends on the framework implementation. So, if there’s a native update you’ll need to wait until someone rewrites the widgets for you to update your app. Kotlin multiplatform gives us a new solution. It focuses on sharing your business logic across all platforms, leaving the UI to be implemented natively. Since it’s Kotlin, you can take full advantage of its language features - concise, safe, etc. Moreover, if you’re coming from android you might already be familiarised with Kotlin and even if you’re an iOS developer you’ll see that it’s quite similar to Swift. Join me on this triathlon and let’s go through Android, iOS, and Web in under 30 minutes."
With Carlos Molta
Why is Go becoming so popular and how does it handle complexity? - Track 2
An introduction to what sets Go apart from other programming languages and how it simplifies the handling of complexity. The influence of language features, monoliths, microservices and monorepos on complexity is shown and how tools can help to mitigate remaining problems.
with Ole Bulbuk, Ardan Labs
There is 1 broken API among us - Track 1
As a library user, you probably know that versions don't always tell the truth. Have you ever experienced a broken build after doing a minor bump of a library? As a library author, maintaining a clean API is a challenge. There is always the risk that a breaking change sneaks in by accident. Wouldn't it be nice to get notified if you're accidentally breaking your users' code? A tool to inspect the binary API of your Kotlin/Java code can help you exactly with that. In this talk, we will see some of those tools and how that simplifies the life of library & SDK developers.
Nicola Corti, Spotify
Go Pipelines: Dangerous Beauty of Go - Track 2
There are many kinds of concurrent programs out there, a Go pipeline being one of them. Fundamentally, a pipeline is a series of stages connected by channels, where each stage is a Goroutine or a group of Goroutines running the same function. My talk is aimed at enthusiastic Go beginners. It introduces threads/processes, briefly mentions deadlocks, explains the major differences between a thread and a Goroutine, goes over channels and demonstrates a working Go pipeline. (Note to you: I can include code snippets or do a live demo for the pipeline portion; there will be code snippets for channels/Goroutines).
With Anna Rosentahl
Code Like a Child - Track 1
Playful office spaces with video games and ping pong tables are a trend in startups and big tech companies alike. Sarah believes there are more situations than just recreation where we can benefit from sending our adult self on a break. Thinking more like children, we might come up with new ways to look at problems and find unique solutions to overcome technical challenges.
What the heck are generators and coroutines? - Track 2
Generators and coroutines have become the buzz words now a days. In this talk I want to take some time out to unfold these concepts and make them simple to understand. So that, we can really use their power in our day to day programming activities.
Shishir Bondre - Snapengage
We all need a bit of lunch, don't we? Grab your snack and meet you back soon!
And' Libraries, Stop Starting up! - Track 1
A lot of Android libraries are being built/shipped by indie devs and companies alike. Everyone wants to start working inside the host application as quickly as possible. This competition has led to many of these Android libraries to implement various possible hack/tricks in order to get up and running inside host Android application as quickly as possible. Eventually leading to bad side effects introduced on the host application side. In this session, you will get to learn about the various ways Android Library developers use to init their code inside the host application. You will also get to understand how these mechanisms work, what pitfalls they bring and where are these employed within an existing Android application. Towards the end of this session, the new and shiny Jetpack Startup AndroidX library will be introduced along with information on how to use it and what it brings to the table to solve the startup mess the Android Library ecosystem is in currently. By the end of this session, you will be all set to build Android libraries that scale and have API which doesn't mess up with the startup of your Android application.
Security in serverless compute on Google Cloud: take over the control of the infrastructure - Track 2
Security is a common challenge for everyone. Standard and robust patterns exist and are known in traditional infrastructure. However, the serverless change the game and imply a false feeling of losing control, especially in the security part. This session is focused on all the ways to secure the communication to and from serverless compute products on Google Cloud. The OAuth2 token generation and the difference of usage between access token and identity token, IAM service and the service/user accounts, VPC access and private networks access, load balancers, ingress and egress control will no longer have mysteries for you at the end of the session!
Guillaume Blaquiere, Sfeir
Cloud Native Analytics Infrastructure
Data engineers and data analysts have a huge toolset at their disposal today. Identifying the building blocks that match your data needs can be challenging. In this talk, I will give you an actionable guide on how to assemble your own cloud-native data architecture for 2021 and beyond.
Christian Soujon - DoiT
Composables under the hood - Track 2
Building declarative user interfaces with Jetpack Compose is easy and fun. But if you come from imperative frameworks, you are used to certain ways of doing things. For example, custom components can be implemented using drawing primitives. How is this achieved with composables? Also, what about the main thread. Do we still need to take care of this? In this talk I will map imperative best practices to the declarative world. You'll see plenty of examples and running code.
How we learn to code together remotely
Uprooting our coding study group to a remote, online format has had its challenges. Coming to terms with the fact that we behave and interact in a fundamentally different way on video (or other!) chat has motivated me to explore other methods of continuing to foster a community with an emphasis on curiosity. This talk aims to detail the journey taken in moving our coding study group to a remote format, what we've learned from others trying the same, and how you can create (or participate in!) your own!
Fueled Reactive apps with Asynchronous Flow
Reactive Extensions are widely used on large scale successful Android applications, and for this, the most popular library is an adaptation of these Reactive Extensions, the very well known RxJava. What if we could use the existing Kotlin suspending functions asynchronously to return more than a single value? How could we return multiple asynchronously backed results in Kotlin? Kotlin Flows to the rescue! Would Kotlin Flows replace RxJava in the long term on the Android platform? How could we start migrating smoothly to Flow on hybrid (Java & Kotlin) languages apps? Can we fully avoid using callbacks now? StateFlow to the rescue!
Raul Hernandez Lopez, Twitter
Get your CI / CD up and running in less then an hour in GCP
We set up a completely automated deployment process that starts with your code repository, builds automated images, and get them running in a Kubernetes Engine, all in Google Cloud. No more server management, just focus on what you like doing most: building great stuff. We will use Docker, the Container Builder Kubernetes Engine, Code Repository and Cloud Code. Bonus round: also include tests in your build process.
If you a developer you can probably can relate to the empty toilets near the IT departments. Once I got so used to it that when I found another fellow human in there, I flinched. Over the years, I went on to change multiple jobs in Berlin but the problem still existed in most workplaces. These days I mentor women and other underrepresented folks with their problems and teach programming with a hope that the diversity improves with time. To succeed we need more mentors, advocates and role models who can be there and help lift each other up. In my talk will be sharing what it means to promote diversity, some everyday problems and why diversity is an important topic for everyone.
SOCIAL and mingling with the crowd - bring your own drink!
Bring your drink, snacks and join us for a social event - after all, that is to many of us the most important part of a normal conference - and we want to make it part of this one as well!