6 September 2021

Building Blocks
of the Future

DevDays is Infobip's traditional conference by our devs for our devs. As we grew, we felt the need to bring Engineering, Product Development, and Corporate Security members together in one place. The idea is to exchange internal knowledge and experiences and to hang out and spend time together. It's important for preserving our culture and connecting people who work together from different offices all year round.
Infobip Dev Days Conference
Infobip Dev Days Conference 2021
About Infobip Dev Days Conference
OUR STORY
Introduction
In Infobip we work on different products in different countries. Still, together we're all responsible for shaping our future, making sure our products are stable and innovative.
What’s Infobip Dev Days all About?
70+
OFFICES WORLDWIDE
3K+
GREAT EMPLOYEES
600+
DIRECT CONNECTIONS
250K
CUSTOMERS
15+
YEARS OF EXPERIENCE
7BN+
BILLION OF MONTHLY TRANSACTIONS
28
DATA CENTERS
Infobip Dev Days in Numbers
Conference TIMELINE
Schedule
Watch them live or save some sessions for catch-up. More to be announced in the next few weeks. Watch this space!
All times in CET.
Ventus Stage
Quack Stage
Yellow Duck Stage
Glass Stage
Ventus Stage
Quack Stage
Yellow Duck Stage
Glass Stage
9:00 - 10:30
Key note
Izabel Jelenić, Damir Prusac, Adrian Benić
TBA
Agenda item more
10:30 - 10:50
Break
Agenda item more
10:50 - 11:35
How to train your API
Hrvoje Kozačinski
Now, this is a story all about howAn API dev’s life got flipped-turned upside downAnd I’d like to take a minuteJust sit right thereI’ll tell you how I became a new Test Automation EngineerAPIs are just like dragons - wild beasts that need to be carefully observed and trained in order to harness their true potential and not to get burned in the process. Except we observe APIs through monitoring and train them with tests.see what it looks like when an API dev infiltrates into API test automationlisten to how I discovered writing good API tests after almost 5 years in the companylearn about different testing and monitoring methods/tools present in Infobip that API devs can utilise to improve API reliability so you don’t have to switch teams and wait 5 years to do it properly yourselfstay to see will this Fresh Prince vs. Toothless mix just be cringe or epicness*cute Toothless images included, Carlton dance mandatory
Agenda item more
11:35 - 11:50
Break
Agenda item more
11:50 - 12:35
Houston, we have a problem
Renato Klarić, Leda Link
what is an incident? how do we classify them? why IM? why PIR? what is SLA? customer notif, RCArisks/consequences (examples)
Agenda item more
12:35 - 14:00
Lunch
Agenda item more
14:00 - 14:30
Good is better than perfect
Milan Mimica
On building software that is just good enough for the purpose. Will show different examples of services that could have easily turned out to be overly-complicated, expensive to build and maintain if someone else's best practices where followed. How to focus on quality and security and delivery at the same time? What is quality after all?
Agenda item more
14:30 - 14:45
Break
Agenda item more
14:45 - 15:15
Zero Trust Security
Andro Galinović, Davor Šerfez
A fairy tale story about castles and dragons and it protection and evolution of a kingdom into a modern nation that has no city wall. A introduction into a novel security model with great worldwide adoption. The basic elements, implementation and possible implementation road map, plus some case studies including Google. Ending by some already ongoing zero trust platform and enterprise initiatives.
Agenda item more
15:15 - 15:30
Break
Agenda item more
15:30 - 16:00
I don't want to work with people.
Valentina Vidaković
And I don’t want to reveal too much about the topic :) This talk in short is about what I thought design was, what it actually is and what will it be in the future.The goal is to show PMs, devs (anyone in the room) how every design decision is brought out by human behaviour.
Agenda item more
16:00 - 16:15
Break
Agenda item more
16:15 - 17:00
Is LeSS just more stress or can it be a success?
Matija Bašić
It has been more than a year since we introduced LeSS in Telco RA. I feel it has been mostly success but I am probably biased and in a conflict of interest so let's gather feedback from the people that actually practice it every day. We will try to show how we implemented it, what did we focus on, what are our results, what is good and what is not and in general how satisfied we are with it.
Agenda item more
17:00 - 18:00
Innovation Hack Days #2
Pitches and winners announcement
Agenda item more
Agenda item more
10:30 - 10:50
Break
Agenda item more
10:50 - 11:35
The Rust language: Intro and it's possibilities at Infobip
Erick Daniel Corona Garcia
What is Rust?Main features and industry adoptionA quick tour of the languagePlatforms and development toolsCargo and CratesUseful packages and tools for Infobip's businessAdvantagesDisadvantagesResources and local community!
Agenda item more
11:35 - 11:50
Break
Agenda item more
11:50 - 12:35
Kotlin coroutines as a better alternative to non-blocking spring-boot than project reactor
Tomasz Kramarczyk
I'll try to show:what are Kotlin-coroutinesProblems with project reactor:why it is hard (requires a lot of knowledge to use properly)why it is not readableKotlin coroutines as a rescue!
Agenda item more
12:35 - 14:00
Lunch
Agenda item more
14:00 - 14:30
WebAuthn - No passwords, more security and convenience
Matija Matošević
As a result of 1# innovation hack days (2nd place) we have demonstrated what WebAuthn technology is, how it works and how we can integrate it into our portal.infobip.com.Agenda (Draft):What is WebAuthnIntro to public key cryptography and digital signaturesSignup without passwordLog in to portal without passwordAdditional factors (Fingerprint, Face recognition, USB key)Security implications (Why this is more secure than password)Summary and conclustion
Agenda item more
14:30 - 14:45
Break
Agenda item more
14:45 - 15:15
CUP Permissions 101
Tino Petrina
Permissions, features, roles, teams, so many things.Why can't my account see anything, what is different between account and user permissions?How to create new permission?Can I have role with specific permission?We will try to decipher all this pain points.
Agenda item more
15:15 - 15:30
Break
Agenda item more
15:30 - 16:00
Decomposing the Conversation monolith
Frane Jelavić
Challenges that come with organizational scaling and maintaining a monolith. Business decision to opt for service extraction (beware the term microservices is coming) which led to many difficulties along the way:Bounded context extractionEdgy featuresMaking changes on live code without downtimeInitial extraction conclusionsIncremental improvementsMissing stepsThis was the first domain that was extracted and there are many to come, so this was not only a test can it be done but also a blueprint for future extractions.
Agenda item more
16:00 - 16:15
Break
Agenda item more
16:15 - 17:00
Javascript - how to eat it - tips and tricks
Lukasz Malewski
A little showoff of javascript (vanilla so no frameworks etc) how to work with javascript on the fly, how to debug it, how to trick it, what is it, what power opportunities it can give it to u, how to work with console. What will you see:a short explanation what is javascripthow to work with chrome consolevalidation failures - why this is only for ui experiencehttp calls on the fly from your consolewhy escaping js is important while u allow users to put some content to ur web / app - samplejavascript weird stuff
Agenda item more
17:00 - 17:30
The Hunt for the Red October
Andro Galinović, Davor Šerfez, Krešimir Žlepalo
A actual Infobip case study for the hunt for the threat actor that compromised seamlessly random CUP accounts to send large value of traffic in 2020. How tracked, identified and what did we do to protect Infobip platform.
Agenda item more
Agenda item more
10:30 - 10:50
Break
Agenda item more
10:50 - 11:35
Latency Tracker
Krešimir Šimatović
How to measure end to end latency of some request through services and detect internal and external contributors.Endgoal here isto monitor SLA commitment for important clientsget overview of each service for all data paths through it for various request types minimize false positives caused by latencies introduced by external factors to have view of IB platform as black box, how clients see itHands on demonstration how this was achieved for SMS message going through SMPP Balancer, IpCore and GW proxy.Will be described in more details here, still under construction"."
Agenda item more
11:35 - 11:50
Break
Agenda item more
11:50 - 12:35
If at first you don’t succeed, trie, trie again
Josip Antoliš
Docker image layers with jib - 2 years later
Mario Žagar
How voice on IO became reality
Dino Sprečo
<Potential> - Executive Function - Bringing Awareness
Susanne Escher (They/Them)
If at first you don’t succeed, trie, trie again
Imagine rolling out new version of your service, working on compatibility, porting features, migrating clients over. This time you started with documentation first approach, learned from mistakes of the old service, automated everything upfront. All the good stuff!Only to find out, as more and more of your users migrate over, that the new service has terrible scaling characteristics. Once all clients are moved over, new service is over 10 times slower than the old one.This is a story of how we diagnosed the performance problem and used some good old Computer science to fix it!

Docker image layers with jib - 2 years later
Two years ago we started using google jib maven plugin to package our infobip java service docker images. How does it look after 2 years? Did we get what we aimed for? Is it useful and how?

How voice on IO became reality
For a log time, voice services like text to speech messages, IVR, number masking, etc. were not possible on IO environment. Join me in this session to find out what it took to make it possible and how we are simulating Mobile Network Operator.

Executive Function - Bringing Awareness
Focusing on disability surrounding Executive Function, and how it affects me with cognitive flexibility, working memory, and inhibitory control
Agenda item more
12:35 - 14:00
Lunch
Agenda item more
14:00 - 14:30
You've Been a Bad, Bad Service
Ante Perić
Imagine a scenario where reliable Service you've been calling for quite some time decides to go for a nap. Or vacation. Or both.What happens to your service? Do you need to protect it from sudden outages? And how?In this presentation, I'm going to share experiences with Circuit Breakers by trying to answer the most common questions: What? Why? How? Where?
Agenda item more
14:30 - 14:45
Break
Agenda item more
14:45 - 15:15
Down the Rabbit Hole - migration from Redis HA to RabbitMQ HA
Valery Markov
Lessons learned" talk about migration of Pushko service from Redis high availability (HA) to RabbitMQ HA solution. Showcasing some issues we encountered and solutions for them we will reiterate on the importance of:- learning about all configuration options for particular HA solution before making design decisions- doing a proper proof-of-concept, stress testing it and evaluating its performance/availability in as much production-like environment as possible- preparing to deal with the fact that complexity grows exponentially for distributed systems"
Agenda item more
15:15 - 15:30
Break
Agenda item more
15:30 - 16:00
The value of good nights sleep
Anja Hula, Javor Marošević
EP-2: Overtime, Readiness and Interventions (10 min)Showcase Opsgenie setup (10 min)ScheduleRotationsNotifications
Agenda item more
16:00 - 16:15
Break
Agenda item more
16:15 - 17:00
Bitcoin
Igor Demin
Blockchain 101 and stuff. Technical and social aspects.
Agenda item more
17:00 - 17:45
Show me the Data!
Steve Blum, Nathan Rose
The OpenMarket Data team would like to show some of the tools and systems we've been using in our newest platform to solve the age old question of how do we generate value for our customers from all this data we have. Topics to include:

Creating horizontally scalable data solutions
Creating compelling customer reports
Giving internal customers powerful tools to do data analytics, data mining, and comprehensive reporting, to serve our customers well
Agenda item more
Agenda item more
10:30 - 10:50
Break
Agenda item more
10:50 - 11:50
Product Development Session 1
Agenda item more
11:50 - 12:05
Break
Agenda item more
12:05 - 12:35
Product Development Session 2
Agenda item more
12:35 - 14:00
Lunch
Agenda item more
14:00 - 14:30
UX in life and work
Ana Cristina Valdes Marcos
UX values and concepts applied to life and work. Metaphors + examples and more.
Agenda item more
14:30 - 14:45
Break
Agenda item more
14:45 - 15:15
10 simple mistakes that will break your app's UX
Amel Halilović
In the era of SaaS products, having a great UI/UX design is a must. But also not making mistakes while implementing that design... In this session, I will show some simple things that if not implemented correctly can turn a great product into a poor one.
Agenda item more
15:15 - 15:30
Break
Agenda item more
Agenda item more
16:00 - 16:15
Break
Agenda item more
16:15 - 17:00
CUP Horror Stories in Seven Spooky Steps
Ante Tomić
Everything today has room for improvements, but what do we need to think about when working on the projects? We need to make sure that our projects are stable and resilient! The important thing is that all issues and problems we stumble across can help us learn something for the future and give us the possibility to improve our products. Join your jaran/munja around the campfire as in this session I am gonna tell you seven CUP/Infobip Portal (horror) stories about the issues we have faced, how we solved them, and what we have learned from this.
Agenda item more
17:00 - 17:45
Multidc (ADR7) solution patterns 101
Mario Žagar
Why do we have ADR7 and what does it mean 'building crossdc/regional' services? How does it complicate development and operation of our products? What do we need to know before writing any code? What to do with existing services? What should and what actually happens when we switch traffic to another datacenter? Is switching traffic same as switching customer datacenter location? How to survive disaster recovery testing? Hopefully some possible solution patterns will be presented that we can discuss.
Agenda item more
Ventus Stage
Quack Stage
Yellow Duck Stage
Glass Stage
Infobip Dev Days