Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Invited Talk (at the University of Warwick): Th...
Search
Martin Lippert
January 12, 2012
Technology
0
88
Invited Talk (at the University of Warwick): The daily software engineering life - How to be prepared
Martin Lippert
January 12, 2012
Tweet
Share
More Decks by Martin Lippert
See All by Martin Lippert
OCX / EclipseCon 2024: GitHub Copilot + Spring: Making AI-Assisted Coding Spring Aware
martinlippert
2
68
OCX / EclipseCon 2024: Spring Tools Live - All the Great New Things
martinlippert
0
54
JUG Saxony Day 2023: Upgrade to Spring Boot 3? Spring Tools to the Rescue!
martinlippert
1
90
code.talks 2023: The Sustainability Mythbuster
martinlippert
0
97
Invited Talk at TU Dortmund
martinlippert
0
110
The Sustainability Mythbuster
martinlippert
0
81
JCON_ONLINE_2022__From_Zero_to_Spring_Boot_Hero_using_GitHub_Codespaces.pdf
martinlippert
0
80
Devoxx UK 2022: Sustainability in Software Engineering - Today and Tomorrow
martinlippert
0
150
Java Cro 2022: Bootiful Spring Tooling for the Masses
martinlippert
0
150
Other Decks in Technology
See All in Technology
赤煉瓦倉庫勉強会「Databricksを選んだ理由と、絶賛真っ只中のデータ基盤移行体験記」
ivry_presentationmaterials
2
230
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
400
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
120
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
150
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
250
ドメイン特化なCLIPモデルとデータセットの紹介
tattaka
2
560
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
敢えて生成AIを使わないマネジメント業務
kzkmaeda
0
110
CursorによるPMO業務の代替 / Automating PMO Tasks with Cursor
motoyoshi_kakaku
2
880
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
2
300
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
400
Flutter向けPDFビューア、pdfrxのpdfium WASM対応について
espresso3389
0
120
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
How to train your dragon (web standard)
notwaldorf
94
6.1k
Code Reviewing Like a Champion
maltzj
524
40k
How STYLIGHT went responsive
nonsquared
100
5.6k
4 Signs Your Business is Dying
shpigford
184
22k
GitHub's CSS Performance
jonrohan
1031
460k
Documentation Writing (for coders)
carmenintech
72
4.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Site-Speed That Sticks
csswizardry
10
680
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Embracing the Ebb and Flow
colly
86
4.7k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Transcript
The daily software engineering life - How to be prepared
- Martin Lippert, VMware
[email protected]
@martinlippert
Martin Lippert Lead of Spring Developer Tools at VMware Founder
of it-agile GmbH Developer, Architect, Coach, Technical Lead
- 1 - Software Engineering Fundamentals
Writing something that runs is easy Writing good software is
hard
Essential: Programming Languages Algorithms Data Structures
The „old“ parts: the difference between ArrayList and LinkedList? how
does a HashMap work? how does a relational database look like? The „new“ parts: how does MapReduce works? what about distributed and messaging systems? what are key/value stores, document and graph dbs?
O(n)
Concurrency is becoming more and more important
Deep understanding necessary e.g. Who knows how the Java Memory
Model works? What does „notify()“ mean? What is garbage collection? How does it affect my programming?
Parallelism is becoming more and more important
Different thinking necessary e.g. parallel vs. optimized non-parallel algorithms distribution
- latency - redundancy - fault tolerance
„comments lie - code doesn‘t“
Modularity Dependency Management remember? don‘t let your code look like
this...
SOLID principles Single responsibility principle Open/closed principle Liskov substitution principle
Interface segregation principle Dependency inversion principle http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
- 2 - Domain Driven Engineering
! Knowing the technology is essential - but it is
not enough
Is the software correct? But what does it mean? Correct?
You need to understand the domain, the problem, and the
context (the „why“)
Agile Software Development Extreme Programming Scrum Kanban - Inspect and
adapt -
- 3 - Daily Engineering
Working with existing code reading and understanding refactoring code regression
testing
Test-Driven Development Red - Green - Refactor
Programming in small steps for all kinds of problems
„What you don‘t ship doesn‘t exist“
Continuous... Integration Delivery Deployment
DevOps
must read...
Thank you very much! QA Martin Lippert
[email protected]
@martinlippert