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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Martin Lippert
January 12, 2012
Technology
0
91
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
Model Context Protocol - Game Changer for AI Applications
martinlippert
1
110
OCX / EclipseCon 2024: GitHub Copilot + Spring: Making AI-Assisted Coding Spring Aware
martinlippert
2
100
OCX / EclipseCon 2024: Spring Tools Live - All the Great New Things
martinlippert
0
84
JUG Saxony Day 2023: Upgrade to Spring Boot 3? Spring Tools to the Rescue!
martinlippert
1
140
code.talks 2023: The Sustainability Mythbuster
martinlippert
0
140
Invited Talk at TU Dortmund
martinlippert
0
130
The Sustainability Mythbuster
martinlippert
0
110
JCON_ONLINE_2022__From_Zero_to_Spring_Boot_Hero_using_GitHub_Codespaces.pdf
martinlippert
0
120
Devoxx UK 2022: Sustainability in Software Engineering - Today and Tomorrow
martinlippert
0
180
Other Decks in Technology
See All in Technology
AWS DevOps Agent x ECS on Fargate検証 / AWS DevOps Agent x ECS on Fargate
kinunori
2
230
Tebiki Engineering Team Deck
tebiki
0
24k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
250
Agent Skils
dip_tech
PRO
0
140
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
Claude Code for NOT Programming
kawaguti
PRO
1
110
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
150
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
22nd ACRi Webinar - ChipTip Technology Eric-san's slide
nao_sumikawa
0
100
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
GraphQLとの向き合い方2022年版
quramy
50
14k
Automating Front-end Workflow
addyosmani
1371
200k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Designing Powerful Visuals for Engaging Learning
tmiket
0
240
Code Review Best Practice
trishagee
74
20k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
440
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
230
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
400
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