Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Invited Talk at TU Dortmund
Search
Martin Lippert
June 05, 2023
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Invited Talk at TU Dortmund
Martin Lippert
June 05, 2023
More Decks by Martin Lippert
See All by Martin Lippert
Model Context Protocol - Game Changer for AI Applications
martinlippert
1
150
OCX / EclipseCon 2024: GitHub Copilot + Spring: Making AI-Assisted Coding Spring Aware
martinlippert
2
150
OCX / EclipseCon 2024: Spring Tools Live - All the Great New Things
martinlippert
0
130
JUG Saxony Day 2023: Upgrade to Spring Boot 3? Spring Tools to the Rescue!
martinlippert
1
170
code.talks 2023: The Sustainability Mythbuster
martinlippert
0
180
The Sustainability Mythbuster
martinlippert
0
130
JCON_ONLINE_2022__From_Zero_to_Spring_Boot_Hero_using_GitHub_Codespaces.pdf
martinlippert
0
140
Devoxx UK 2022: Sustainability in Software Engineering - Today and Tomorrow
martinlippert
0
210
Java Cro 2022: Bootiful Spring Tooling for the Masses
martinlippert
0
210
Other Decks in Programming
See All in Programming
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
200
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
110
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
110
速習iPhone Duo対応
yuukiw00w
1
510
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
350
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
170
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
120
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
120
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1k
Java 27新機能 / Java 27 new features
kishida
2
140
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
280
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
110
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
The browser strikes back
jonoalderson
0
1.7k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Designing Powerful Visuals for Engaging Learning
tmiket
1
550
Optimising Largest Contentful Paint
csswizardry
37
4k
Automating Front-end Workflow
addyosmani
1369
210k
Being A Developer After 40
akosma
91
590k
Abbi's Birthday
coloredviolet
4
10k
Transcript
Martin Lippert, Spring Tools Lead & Sustainability Ambassador @ VMware
June 2023 Invited Talk TU Dortmund
Why are you here?
Who am I ?
Software Engineer
Spring Tools Lead
None
VMware Apple Google Xerox PARC Stanford University Meta Intel Tesla
How I started
Schneider CPC 664 Z80 processor @ 4Mhz, 64 KB RAM
https://de.wikipedia.org/wiki/Amstrad_CPC#/media/Datei:Schneider_664_en.jpg 1985
Atari 1040 ST Motorola 68000 processor @ 8Mhz, 1024 KB
RAM @ Bill Bertram, 2006, https://de.wikipedia.org/wiki/Atari_ST#/media/Datei:Atari_1040STf.jpg
Atari TT 030 Motorola 68030 processor @ 32Mhz, 4 MB
RAM https://de.wikipedia.org/wiki/Atari_TT#/media/Datei:Atari_TT030.JPG
Apple Power Macintosh 6100 PowerPC 601 @ 60Mhz, max 72
MB RAM MIKI Yoshihito - https://www. fl ickr.com/photos/mujitra/13981566927/
On the software side?
None
Today
Software is everywhere
Software changes the world
How to develop truly great software?
Structure
Design Patterns Elements of Reusable Object-Oriented Software by Erich Gamma,
Richard Helm, Ralph Johnson, John Vlissides
Refactoring Improving the Design of Existing Code by Martin Fowler
Feedback Cycles
JUnit
Test-Driven Development
Test Driven Development By Example by Kent Beck
User Feedback
"Real Artists Ship" Steve Jobs
Agile Software Development
Extreme Programming Explained by Kent Beck
Distributed Systems
APIs and Evolution
Eat Your Own Dogfood
Test at scale
"Hello World" always work
Massive amounts of data
public long calculate(List<Order> orders) { long sum = 0; for(int
i = 0; i < orders.size(); i++) { sum += orders.get(i).getPrice(); } return sum; } What is the problem here?
Complexity Matters
t(n) = n6 vs. t(n) = 2n 103 machines in
parallel 109 operations per second n = 100 1s universe doesn’t exist long enough
"software is getting slower more rapidly than hardware is becoming
faster" Wirth’s Law
Back to the beginning
Running on Motorola 68030 processor @ 32Mhz, 4 MB RAM
What comes next?
Vulnerabilities CVEs are now part of your daily life
GenAI (probably more ML + LLM than intelligence)
Decarbonization super important
"The best way to predict the future is to invent
it" Alan Kay
Thank You for listening Martin Lippert @martinlippert