1 of 41

Konferenzbesuch

Code Days

& Infobip Shift

Rader, Hörnemann

2 of 41

Inhalt

  • Konferenz 1: Code Days München
    • Continuous Quality
    • In einem Sprint zum MVP - ein Horror für alle Entwickler

  • Konferenz 2: Infobip Shift Zadar
    • AI Engineering Today and Tomorrow
    • Coding in TypeScript without understanding it

3 of 41

Code Days

Jan. 2024

München

  • Moderne Software- & Webentwicklung
  • Software Craft
  • Social Skills
  • Artificial Intelligence
  • Machine Learning
  • Data Engineering
  • Cloud & Containerisierung
  • Developer Tools
  • User Experience
  • Besser testen
  • Secure Coding
  • Low Code

4 of 41

Code Days – Talk 1

Continuous Quality by Kathrin Potzahr

Die Fähigkeit, schnell auf neue Erkenntnisse oder Veränderungen reagieren zu können, wird mit fortschreitender Digitalisierung immer wichtiger. Wer von schnellen Änderungen an Softwaresystemen spricht, meint implizit schnell und in passender Qualität. Einige Teams erreichen dies scheinbar mit Leichtigkeit. Bei anderen sinkt die Qualität mit der Zeit und sie können Features nicht mehr schnell genug liefern. Die Probleme liegen selten allein in Tools und Technik. Der Vortrag erklärt Ursachen und zeigt, wie man zu Continuous Quality und damit erfolgreichen Teams kommen kann.

Hörnemann

5 of 41

Code Days – Talk 1

Continuous Quality

Quality is continuously good enough to deliver features into production

Traditional Quality

Quality goes done during development and is reestablished in dedicated phases

Hörnemann

6 of 41

Code Days – Talk 1

Product

Everything as code

Evolving architecture

Process

Teams with E2E responsibility

Short distance between BizDevOps

Avoid mental overload

People

People who care and act

Quality mindset

Continuous Quality

Hörnemann

7 of 41

Code Days – Talk 1

How to get to Continuous Quality? - Setup

  • Use sprint 0 to setup foundations
  • Setup an initial environment
  • Test driven development (TDD) / Behaviour driven development (BDD)
  • Start monitoring
  • Setup an MVP pipeline
  • Accept and respect Definition of Done

Hörnemann

8 of 41

Code Days – Talk 1

How to get to Continuous Quality? - Team

  • Collaborate BizDevOps
  • Setup an enabling organisation
  • Designated roles for each team member
  • Ensure transparency
  • Use metrics
  • Visualise
  • Show quality mindset, say No if you have to

Hörnemann

9 of 41

Code Days – Talk 1

How to get to Continuous Quality? – Going Live

  • Go live early
  • Smaller MVPs
  • Automate everything (as code)
  • Live continouos improvements
  • Constantly reduce technical debt

Hörnemann

10 of 41

Code Days – Talk 1

Takeaways:

  • It‘s like climate change: problems will be only seen when it‘s already too late

    • Start early, keep going
    • Teamwork

Hörnemann

11 of 41

Code Days – Talk 1

In einem Sprint zum MVP - ein Horror für alle Entwickler von Tobias Morauf

  • Nützlich bei Zeitdruck
  • Anforderungen ausliefern - Qualität angemessen
  • Präsentation anhand eines realen Projektes - Schadensmelder

Rader

12 of 41

Code Days – Talk 1

Definition MVP (Minimum Valuable Product):

  • bringt dem Nutzer Mehrwert
  • ist technisch sauber gebaut
  • ist eine Grundlage für die Weiterentwicklung
  • hat einen minimalen Funktionsumfang

Rader

13 of 41

Code Days – Talk 1

Ablauf Umsetzung:

  1. User Story Map
  2. User Story in Features und große Themen aufteilen
  3. MVP definieren
  4. Was wird gebraucht um MVP zu erreichen - minimale Featureanzahl um Ziel zu erreichen
  5. jeder Sprint bringt zusätzliche Funktionalität

Rader

14 of 41

Code Days – Talk 1

Beispiel Schadensmelder Sprintziel:

"Peter kann per App eine Schadensmeldung an die Stadtverwaltung schicken."

Rader

15 of 41

Code Days – Talk 1

Beispiel Schadensmelder Meilenstein:

Peter soll mit Gemeindeverwaltung in Kontakt treten können

Rader

16 of 41

Code Days – Talk 1

Beispiel Schadensmelder Meilenstein:

Sprint 1: eigene Email öffnen

Sprint 2: ein einzelnes Textfeld

Sprint 3: Foto hochladen

Sprint 4: Schadensformular mit mehreren Elementen

Rader

17 of 41

Code Days – Talk 1

Vorteile:

  • Vertrauen für Erfolg wird mit Kunden aufgebaut
  • Produkt kann bald ausgeliefert werden
  • aktives Risikomanagement wird betrieben
  • maximaler Fokus des Teams auf das Ziel

Rader

18 of 41

Code Days – Talk 1

Takeaways:

  • User Story Map → besserer Überblick des Prozesses
  • Überlegung, welcher Wert soll den Usern zur Verfügung gestellt werden?
  • Wann soll welcher Wert zur Verfügung stehen?
  • Sprintziele von Meilensteinen ableiten

Rader

19 of 41

Code Days – Reflexion

  • A lot of AI and testing topics
  • Sometimes it was hard to follow, sometimes it was easy
  • Working next to studying helped understanding some topics
  • Definitely relations to our study program (testing, setting up projects)

  • Cheap (for free)
  • No food included
  • Munich is easy to reach
  • Nested into OOP conference (-> limited access to talks)

20 of 41

Code Days – Fun Times

21 of 41

Infobip Shift

Sep. 2024 Zadar

127 speakers

  • Dev
  • AI & Data
  • Startup & Growth

8000 Coffees given out

770 Companies present

4000+ attendees

  • Innovation & Business
  • People & Leadership
  • Security

22 of 41

Infobip Shift – Talk 2

AI Engineering Today and Tomorrow by Tejas Kumar

This talk aims to take a balanced look at AI engineering without needless hype. Together, we will explore what AI engineering truly is, popular techniques to actualize value from AI engineering and reduce costs, removing hallucinations (RAG vs. fine-tuning), and working with AI in a privacy-sensitive manner by running large language models locally.

Hörnemann

23 of 41

Infobip Shift – Talk 2

What is AI Engineering?

ML Researcher / Research Scientist

ML Engineer / Data Scientist / Research Engineer

AI Engineer

Fullstack Engineer

  • training
  • evals
  • inference
  • data
  • chains / agents
  • tooling / infra
  • product
  • platform

Data / Research constrained

Product / User constrained

API

Hörnemann

24 of 41

Infobip Shift – Talk 2

What is AI Engineering?

  • Speak to an API, that is in front of some ML
  • Use JS -> do fetch Request -> AI Engineering

  • “In numbers, there's probably going to be significantly more AI Engineers than there are ML engineers / LLM engineers. One can be quite successful in this role without ever training anything.” - Andrej Karpathy
  • “This will likely be the highest-demand engineering job of the decade.” – Shawn Wang

Hörnemann

25 of 41

Infobip Shift – Talk 2

What is AI? - History

  • In the past: rulebased (e.g. Pacman)
  • Predictive AI (statistical models, use probability)
  • Today: Gen AI (models attention, understands context / human brain)

  • Created a lot of problems:
    • Hallucinations
    • Finite context length (fixed amount of tokens / words)
    • Knowledge cutoff (no realtime data)

Hörnemann

26 of 41

Infobip Shift – Talk 2

What is AI? - RAG

  • Retrieval Augmented Generation
  • Retrieve data -> change generated text
  • Use APIs / fetch requests

  • „How will today‘s weather be?“

Hörnemann

27 of 41

Infobip Shift – Talk 2

What is AI? - RAG

  • Ask question -> no answer (limited knowledge)
  • use AI Embedding Model (encode tokens with numbers / probability to compare)
  • take a website as input
  • break it into text pieces and store them in DB to search for most fitting answer
  • search again with context

Hörnemann

28 of 41

Infobip Shift – Talk 2

What is AI? - Future

  • More than Chatbots -> e.g. generating whole UIs
  • use other tools, if knowledge is not enough (RAG)
  • Get responsible & transparent
  • SmallSpecialisedModels > LLM (finetune over massive)
  • Example Apple Intelligence: SSM on phone, performs RAG, runs without internet if not needed

Hörnemann

29 of 41

Infobip Shift – Talk 2

Coding in TypeScript without understanding it von Mrina Sugosh

Typescript Reise für viele:

  • unbekannt was es alles genau kann
  • wie werden Types genau verwendet → Kenntnisse in Objekt orientierter Programmierung von Vorteil
  • bugs treten auf ohne zu wissen wie Types funktionieren

Rader

30 of 41

Infobip Shift – Talk 2

Was ist Typescript?

  • Definition: Superset von JavaScript
  • JavaScript mit Types
  • wird kompiliert zu JavaScript
    • für Browser oder Node.js

Rader

31 of 41

Infobip Shift – Talk 2

Warum Typescript verwenden?

  • Fehler vor der Laufzeit erkennen
  • Verbesserte Codequalität
  • Bessere Entwickler-Tools
    • Vorschläge
    • Fehlererkennung
    • Autovervollständigung
    • leichte Integration

Rader

32 of 41

Infobip Shift – Talk 2

Typen und Grundlagen der Kompilierung

  • JavaScript:
    • Zeilenweisen
    • Bsp: Zuweisen → Berechnen → Ausgeben

  • TypeScript:
    • wird kompiliert zu JavaScript
    • Browser führt JavaScript aus

Rader

33 of 41

Infobip Shift – Talk 2

Was sind Typen?

  • um Daten zu kategorisieren

  • nützlich um:
    • Fehler zu vermeiden → Tippfehler, falsche Daten, unerwartete Daten

Rader

34 of 41

Infobip Shift – Talk 2

Was ist "satisfies"?

  • stellt sicher, dass Objekt bestimmtem Typen entspricht
  • verhindert fehlende oder überflüssige Eigenschaften und Tippfehler

Rader

type Feedback = { name: string, age: number, description: string };

const feedback1 = { name: "Alice", age: 25 } satisfies Feedback;

35 of 41

Infobip Shift – Talk 2

Probleme die "satisfies" löst

  • Klarheit für Editor
    • Methoden falsch interpretierbar
  • Tippfehler vermeiden
    • falsch geschriebene Variablen sofort erkannt
  • Überflüssige Eigenschaften
    • verhindert unabsichtliche Zusatzfelder

Rader

36 of 41

Infobip Shift – Talk 2

Warum ist das wichtig?

  • Fehler frühzeitig vermeiden
  • Code-Qualität in großen Projekten verbessern
  • Vertrauen in Code verstärken

Rader

37 of 41

Infobip Shift – Talk 2

Fazit

  • Fehlervermeidung
  • Teamarbeit verbessern
  • Debuggen vereinfachen

Rader

TypeScript ist nicht schwierig - es ist einfach JavaScript mit Typen

38 of 41

Infobip Shift – Reflexion

  • A lot of AI topics
  • Many companies just show off
  • Well organized, good timetable
  • Location very nice - no good parking if traveling with car
  • Afterparties

  • Cheap (25-60€ student ticket)
  • food and drinks included
  • combine with vacation

39 of 41

Infobip Shift – Fun Times

Conference

Zadar

40 of 41

Infobip Shift – Fun Times

HOLIDAY!

Ljubljana

Plitvicer Seen

Karlobag

Biograd

Croatia

41 of 41

Quellen

  • https://www.code-days.de/code-days-2024
  • Grafiken von Folien / Vorträgen nachgebaut
  • https://shift.infobip.com/europe/zadar-2024/
  • Infobip Shift Main Stage day 1 (youtube.com)
  • https://www.latent.space/