Tune in to learn about the advantages and challenges of splitting our more complex applications with microservices. Right after that, we will jump into a live coding session comparing Java and Kotlin (and showing the simplicity of using Kotlin over Java to do some daily tasks). We will also revisit the paradigm of object-oriented programming and discover why it’s so important to organize the construction of our software. And last but not least let’s not forget about some testing and how to clean those anti-patterns up! As always, we selected a bunch of relevant topics to give you some insights into what’s going on in modern Java programming. So, sign up and join us on the WeAreDevelopers Live Java Day!
Save Your SpotTogether with BOSCH we invite you to a full day of learning more about the intersection of mobility and code. Get to know more about how modern mobility is defined by an intricate interplay of hardware and software and how cars are not only connected to the road, but also to the cloud.
Coding the Future of Mobility features a variety of talks and a workshop, that give you valuable insights into the world of mobility - wether you join in-person or online.
Together with Bosch we invite you to a full day of learning more about the intersection of mobility and code. Get to know more about how modern mobility is defined by an intricate interplay of hardware and software and how cars are not only connected to the road, but also to the cloud.
Coding the Future of Mobility features a variety of talks and a workshop, that give you valuable insights into the world of mobility - wether you join in-person or online.
The core principle of a microservice architecture - or simply microservices - is to split an application into small services that can be developed, deployed and operated independently from each other. Individual services may be assigned to separate teams and budgets. While decomposing an application into smaller pieces is a promising approach for complex applications, microservices also introduce some challenges, affecting technical aspects as well as organizational ones.In our Spring Boot projects, we have been using microservices for over two years now. For our teams, adopting a microservice architecture was completely new. We trapped into pitfalls and faced a lot of complexities we didn't expect. However, during the last two years, we gained many new insights. In this session, we want to share our learnings, talk about our architecture's evolvement and shed light on technical as well as organizational challenges.
Michael Eder is working since 2013 at the Austrian Federal Computing Centre and he currently holds the position as a Senior Full-Stack Software Engineer. Before he joins the team working for the Austrian Public Employment Service (AMS), he works on different projects in the public administration, especially for the Ministry of Education. In addition to his work at the Austrian Federal Computing Center, he completed a master's degree in Software and Internet Computing at the TU Wien in 2020.
Philipp Frauenthaler is a Senior Full-Stack Software Engineer at the Austrian Federal Computing Centre. Currently, he is working on projects for the Austrian Public Employment Service (AMS), e.g., on one of Austria's biggest job platforms. Before joining the Austrian Federal Computing Centre in October 2020, he was a project assistant at TU Wien, contributing to research on blockchain interoperability. For almost six years, Philipp developed enterprise software for insurances. In 2018, he received the master’s degree in software engineering and Internet computing from TU Wien.
This talk is an introduction to Kotlin for Java Developers of any experience level done by only live coding. There is no code on slides. The following topics are shown by live coding:
- Types and Type inference
- String templates
- Expressions overstatements
- Functions
- Pattern matching
- Null safety
- Functional Programming
- Extension Functions
In the talk, I will compare the Java- and Kotlin ways of doing things and show the simplicity of using Kotlin instead of Java to do daily tasks that developers have to do. For example default arguments in Kotlin instead of method-overloading in Java etc.
Christian is a freelance fullstack developer with over 10 years of experience in writing software. He enjoys writing code in languages like Java, Kotlin, Typescript and Javascript and enjoys learning new languages and frameworks.
There are many programming paradigms. One of them is the object oriented programming. But... Do you really take advantage of it? Are you brave enough to say that you have real "objects" in your project? Having classes and creating something from them is not enough... Have you heard about SOLID or GRASP principles? Do you know what DRY mean? Let's investigate those and some other rules to make your code really object oriented, not just pack of public getters and setters tangled as spaghetti in classes and packages.
Dominik is a software developer in TouK, committer in Apache Aries and contributor in some open source projects. He writes code using generally the JVM languages, occasionally also makes some scripts in python and shell or even creates some applications with ReactJS. Dominik loves testing (especially written in Spock) and any automation in the software development process. He takes care of the clean code (his or someone's else) through frequent code review.
The notion of developer productivity is a key subject in our increasingly computerized society. It seems consistent to apply the same software engineering practices to the build as for your applications and libraries.
The recent evolutions of Gradle cover the technical aspect of the build but also the ways to implement.
We will see how developments for JVM projects and dependency management allow you to model your projects and publish your libraries with richer metadata. Some examples:
* modeling test suites,
*Java compatibility of your library,
* securing your dependencies
You will learn how to organize the construction of your software, whether a mono repository or several repos. Build logic will be reusable, convention-based, and with code quality and testing.
We'll also see how Configuration Cache helps speed up local development by starting tasks running immediately. You will learn how it works and what constraints it imposes, in alignment with idiomatic recommendations.
Teaching technical concepts since 2005, Amanda Martin has embraced the Open Source spirit with Gradle. Receiving a Doctorate in Computer Science Amanda teaches Java, Python using open source platforms. Amanda knows that programming is only part of the problem; generally, the results need to be processed for others to interpret and that is when the true work begins with documentation, and maintenance. Amanda takes pride in the clean, scalable, readable, and maintainable code and teaches around these values.
We write tests and code for other people. Tests are code too, and both should be clean. As a clean code fanatic, I see it as a personal mission to go around preaching how powerful clean code is. But unfortunately, it seems that test code is not considered "real code", and therefore is not considered "dirty".In this session, we'll talk about concrete examples of anti-patterns in tests, and how to clean them up. We'll see how clean code principles apply directly to tests. And that's true for all tests - from unit to end-to-end, and regardless of who writes them - developers and testers. We'll see those in action."Clean code looks like it was written by someone who cares.", said Michael Feathers. Test code may even be more important to write cleanly for that reason.
Gil Zilberfeld (TestinGil) has been in software since childhood, writing BASIC programs on his trusty Sinclair ZX81.
With more than 25 years of developing commercial software, he has vast experience in software methodology and practices.
Gil speaks frequently at international conferences about unit testing, TDD, agile practices, and product management. He is the author of "Everyday Unit Testing" and “Everyday Spring Testing”, blogs and posts videos, co-organizer of the Agile Practitioners conference and in his spare time, he shoots zombies, for fun.