Speaker

Bert Jan Schrijver

Bert Jan Schrijver

CTO at OpenValue

Utrecht, The Netherlands

Actions

Bert Jan is CTO at OpenValue and focuses on Java, software architecture, Continuous Delivery and DevOps. Bert Jan is a Java Champion, JavaOne Rock Star speaker, Duke's Choice Award winner and leads NLJUG, the Dutch Java User Group. He loves to share his experience by speaking at conferences, writing for the Dutch Java magazine and helping out Devoxx4Kids with teaching kids how to code. Bert Jan is easily reachable on Twitter at @bjschrijver.

Area of Expertise

  • Information & Communications Technology

Topics

  • Java
  • Software Architecture
  • continuous delivery
  • DevOps
  • Microservice Architecture
  • cloud

The value of learning and sharing

As a developer, two of the best ways for me to progress in my career have been learning from others and sharing with others.
In this talk, I’ll talk about my journey of learning and sharing. I’ll explain how I became active in software communities; first by joining and consuming, later by organizing and
presenting. I’ll share my journey from an aspiring speaker at in-company events to taking the stages of big international conferences. I’ll end with explaining why I believe that deliberate learning and sharing is important and I’ll give you a couple of practical tips to get started.

After this talk, you’ll be ready to boost your career by engaging in learning and sharing too!

Software architecture in a DevOps world

Most modern software teams strive for Continuous Delivery of business impact with a DevOps mindset: you build it, you run it. With short iterations and continuous feedback loops, teams deploy new software to production daily.
But how about the role of a software architect in such a fast-paced world? With daily deployments, is there even time for software architecture? As an architect, how do you prevent being a delaying factor to the pace and success of a team? And how do you keep up?

In this session, I'll share my experiences as a software architect in the DevOps world. I'll talk about "just enough" architecture and moving from up front design to evolving architecture.
After this session, you'll have practical insights and tips in how to work as an architect with a DevOps team.

Mastering the Linux command line

Short version: I'll show you everything you need to know about the Linux command line as a developer.

Long(er) version:

As a developer, you often have to deal with Linux servers. Troubleshooting, digging through logs, editing configuration files, you name it. If you're used to working with Windows or OSX GUI's, the Linux terminal might appear fairly basic and difficult to use.

But, with some basic background knowledge and a small set of terminal commands in your toolbox, it can actually be extremely powerful and loads of fun!

In this session, I'll explain the concepts behind the Linux command line and I'll demo loads of useful stuff. You'll learn how to quickly navigate, find files, examine and search through logs, how to investigate a system under load, a bit of shell scripting, ssh tunneling and more!

At the end of this session, you'll have the chance to throw your own problems and use cases at me - I'll come up with solutions on the spot. Bring your own problems ;-)

This talk takes places entirely in the command line. No slides, no IDE, just a plain terminal window. After this session, you'll be on your way to master the Linux command line yourself!

Generic or Specific? Making sensible software design decisions

In software design and software architecture, we often face the question: should we build this generic or specific?
Usually, this is not an easy question to answer. The answer depends on a lot of different factors, including future factors you may not be aware of - yet.
In this talk, I’ll share my experiences and thought process as a developer and software architect with choosing between generic and specific solutions. I’ll talk about generic vs specific design & architecture, both on a project level and organization level. We’ll look at sharing code/components between teams, inner source culture, monorepo’s, microservices, lifecycle management of generic components and strategic design as a tool to help decide. After this talk, you’ll have practical insights that can help you to choose between generic and specific solutions yourself.

Do we still need architects?

Years ago, when all software projects were doing big up front design, it made perfect sense to have full time architects work on an architecture a couple of months before development would start. The impact of making a wrong choice could have a disastrous impact on the project’s success, after all.

But nowadays, most projects are using agile approaches to software development with quick feedback loops where we can recalibrate our architecture every sprint. Therefore, wrong choices have only limited impact and we don’t need architects anymore - right?

In this talk, we’ll look back at what changed in software development in the past 10-15 years: from waterfall, monoliths and your own servers in your own datacenter to agile, microservices, cloud and DevOps. We’ll look at the impact these changes had on how we approach software architecture and will ask ourselves: do we still need architects?

Debugging distributed systems

Nowadays, most software projects are distributed systems: components are located on different networked computers which communicate and coordinate their actions by passing messages. Debugging distributed systems is not easy. When two components don’t play nice together, the cause could be virtually anything: software, DNS, routing, firewalls, proxies, load balancers, TLS.. and more!

In this talk, I’ll share my experience with debugging distributed systems. We’ll look at typical issues and share ways to debug those issues and find their root causes. We’ll dive into networking, infrastructure, logging/tracing/metrics, testing, remote debugging and more. I’ll share lots of examples and war stories along the way. After this talk, you’ll have practical knowledge on how and where to get started with debugging distributed systems yourself!

The Joy of Coding Competitions

It's been a while since I've worked on a full time development project. But I love coding.. so how do I stay in touch with my inner developer? By participating in coding competitions!
These types of events typically challenge you by solving a difficult problem or delivering a solution in the least amount of time - or even in the least amount of characters of code.
In this fast-paced talk, I'll introduce you into the world of coding competitions. I'll talk about challenge types, approaches, strategy, the community aspect and I'll share a couple of examples from competitions and challenges I participated in. Join me and learn about the Joy of Coding Competitions!

Getting started with speaking

Have you wondered what it takes to be a successful speaker? Where to start, which topic to pick, and how to deliver? You'll find answers to these questions in this session, delivered by two experienced speakers. Come learn why speaking is both fun and important. We'll give you tips on getting started, writing proposals, preparing for the talks, and to deliver a great presentation. We'll share our experiences, what has worked, what has not, and provide some key take-aways. After this session, you'll be ready to start on your own journey to speak at technical events.

Better software, faster: principles of Continuous Delivery and DevOps

The Wall Street Journal already mentioned it in 2011: "Software is eating the world." Nowadays, every company is an IT company. Product owners and other business representatives seeing their competitors release new features to end users every day are demanding the same from their own software teams. How do you measure up to this heavy pressure
as an IT organization? How do you quickly make changes to software systems in fast-paced environments without losing your grip on quality? How do you build and test software in such a way that it's always in a releasable state?
This session explains the principles of Continuous Delivery and DevOps. You'll leave with enough insights into how and where to get started yourself.

Angular for Java developers

Front-end development has evolved massively. New tools, libraries and frameworks are released every day. But how do you keep up with this as a Java developer? Which frameworks should you learn, and where do you get started?

Angular is without doubt one of the most popular frameworks for building modern web front-ends. And one of the good things about Angular is: most of its concepts are not that far off from everything we now from the Java world. Take TypeScript for example - you now can write proper typed code in the browser!

In the past years, I've spent a fair amount of my time at work developing front-ends with Angular, starting with the early 2.x betas to the current 12.x release. In this session, I'm sharing my experience as a Java developer with developing Angular applications.

I'll explain all about tools like npm, rxjs, sass, karma, protractor and compare them to their counterparts in the Java ecosystem. I'll start with an empty IDE and live code my way to a working Angular application connected to a Spring Boot backend, sharing lots of tips, insights and gotcha's.

At the end of this session, you'll know enough about Angular to get started yourself right away!

The DevOps disaster: 15 ways to fail at DevOps

Getting DevOps right isn't easy. It's downright hard. In this talk, I'm not going to explain how to 'do' DevOps in your organisation, since there is not just one 'right' way to do it. What I can show you however, is how NOT to do DevOps. This session shares 15 common misconceptions, call them anti-patterns, of DevOps. I'll talk from my own experiences in getting things wrong, explain why they are wrong and prevent you from making the same mistakes. You'll leave this session with a basic understanding of how (not) to fail at DevOps and hopefully, a smile on your face ;-)

Continuous performance: load testing for developers with Gatling

Performance testing is traditionally a task for specialists that takes place at the very end of the software delivery life cycle. But how does this fit in with a DevOps way of working, where continuous feedback is one of the key points? It doesn't. In a world where scalability and performance are just as important as delivering new features, you need to embed performance testing in your daily development workflow: it needs to become a natural part of development. And this is where Gatling comes in: an open source load testing framework based on Scala, Akka and Netty. In this session, you will learn how to use Gatling to incorporate performance testing in development and how to provide your team with continuous feedback on your application's performance. Subjects include an introduction to Gatling, automated recording and processing of performance tests with the Gatling Scala DSL and integration with Jenkins for automated execution, bench marking and reporting of load tests.

Going serverless with Quarkus, GraalVM native images and AWS Lambda

Short version: In this talk, I'll show how I migrated the backend for the NLJUG conference app (used for J-Fall, J-Spring and more events) from Spring running on Linux virtual machines to Quarkus running as GraalVM native image on AWS lambda.

Long(er) version:

A conference app backend makes the ideal candidate for a serverless architecture: almost no traffic during the year, and peak traffic during conference days.

In this talk, I'll show how I migrated the backend for the NLJUG conference app (used to rate talks for conferences with 1500+ attendees) from a traditional approach with Java and Spring running on Linux VM's to a fully serverless architecture with Quarkus, GraalVM native images, AWS lambda, API gateway and DynamoDB.

I'll talk about (and demo) the Quarkus development experience, migrating code to Quarkus, creating native images and the caveats involved, testing, deploying to AWS with the SAM CLI, monitoring, costs and more.

After this talk, you'll know enough to get started with building and deploying Quarkus native images on AWS Lambda yourself!

Bert Jan Schrijver

CTO at OpenValue

Utrecht, The Netherlands

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top