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
86
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
41
OCX / EclipseCon 2024: Spring Tools Live - All the Great New Things
martinlippert
0
34
JUG Saxony Day 2023: Upgrade to Spring Boot 3? Spring Tools to the Rescue!
martinlippert
1
68
code.talks 2023: The Sustainability Mythbuster
martinlippert
0
74
Invited Talk at TU Dortmund
martinlippert
0
90
The Sustainability Mythbuster
martinlippert
0
61
JCON_ONLINE_2022__From_Zero_to_Spring_Boot_Hero_using_GitHub_Codespaces.pdf
martinlippert
0
56
Devoxx UK 2022: Sustainability in Software Engineering - Today and Tomorrow
martinlippert
0
140
Java Cro 2022: Bootiful Spring Tooling for the Masses
martinlippert
0
120
Other Decks in Technology
See All in Technology
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
9
1.9k
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
220
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
240
クラウド食堂とは?
hiyanger
0
130
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
1.1k
JavaにおけるNull非許容性
skrb
2
2.7k
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
380
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
260
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
300
OPENLOGI Company Profile for engineer
hr01
1
20k
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
810
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Unsuck your backbone
ammeep
669
57k
Gamification - CAS2011
davidbonilla
80
5.2k
A Tale of Four Properties
chriscoyier
158
23k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Navigating Team Friction
lara
183
15k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Automating Front-end Workflow
addyosmani
1369
200k
BBQ
matthewcrist
87
9.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
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