Decades ago, IT started as a single engineering practice, but over the years it grew increasingly fragmented. The overspecialization we face today, in the context of a management-first agile transformation leads to a lack of responsibility, blaming games, repeated patching, painful communication overhead, and fulminating costs. The software craftsmanship movement is rising in this post-agile world with professionals that take control of their careers and continuously learn in the pursuit of mastery. But changing mindset requires determined team efforts and communities, especially when working remotely. What techniques and tricks can you use to grow such a culture of learning in your team? Find out from the founder and lead of one of the largest software craftsmanship communities in the world.
This talk is about technical culture and attitude.
2. Hi, I'm Victor Rentea
Java Champion – drinking since 2006
Trainer – 3000+ devs in 80+ companies
Speaker – Conferences & Meetups
Hibernate
Spring FP
Java Performance Secure Coding
Reactive
Architecture Clean Code Unit Testing
3. (paid stuff)
Hibernate
Spring Advanced FP
Architecture Clean Code Unit Testing
Masterclass
Company
Training
Video
Lessons
@victorrentea
VictorRentea.ro
victorrentea@gmail.com
Java Performance Secure Coding
Reactive
victorrentea.ro/community
Join My
Community
Bucharest Software Craftsmanship Community (4000+ devs)
YouTube
Channel
youtube.com/user/vrentea
11. VictorRentea.ro
12
Admins vs Devs
Admins
hate change
Developer’s job is
to change things
Developers without admin rights on their machines
Restricted software, email blocking
😶 Zip>Encrypt>Base64encode>Email
Aberrations
13. VictorRentea.ro
14
DBA vs Dev
DBA = profession invented in 2000s by Oracle
“Keep everything IN DB” “DB is a detail”
Conservative A (worse) Extreme:
Let's rewrite it all in noSQL
39. VictorRentea.ro
40
Full-Stack Life
You fix the real problem, not patch over it
You keep the code simple (KISS)
You pick the right tools for the job
You become pragmatic
But you have to learn
41. VictorRentea.ro
42
“What to Learn next?”
Master technologies of your current project
Deepest learning happens on the job
Study hard the bugs🐜 you find
Keep looking for alternative designs
60. VictorRentea.ro
67
Skills of a Craftsperson
● Talk to customers directly
● Understand the real business problem
● Propose solutions (not only coding)
● Break the problem into small user-centric stories
● Design UI flow
● Write working code
● Write automated tests to avoid regressions
● Evolve the system architecture by refactoring
● Deploy the system to the end users (“DevOps”)
Classic software developer
73. VictorRentea.ro
81
81
Coding Kata
No Rush
No Risks
Aim for Perfection
Reflect on
HOW you work
= Practice
Not Production Code
Refactoring
Test-Driven Development
Testing Legacy Code
76. VictorRentea.ro
90
Challenge Yourself
Coding Katas: Refactoring, Testable Design
New Language: TypeScript, Java, Kotlin, SQL, C#, Clojure, Swift, ...
Communication: Explain stuff to [non-technical] others
Reasoning: Start a pet project, contribute to Open-Source
Economics: Think about starting a business
78. VictorRentea.ro
92
Growing a Culture of Learning
Start a book📚 club : debate 1 chapter / week
Brown-bag session 🍔 – present your problem
Rotate Project ↔
Hackathons 🌙 – technical or business
Group Code Reviews 👨🦰👨🦱🧔🧔
Establish Communities of Practice (eg React ⚛ Guild)
Motivate people to share/teach others
Join a Craftsmanship Community http://victorrentea.ro/community
🌟Pair-Programming: planned or ad-hoc
As a senior/lead/head/manager/CTO:
85. VictorRentea.ro
106
Thank you!
Let's keep in touch
Training for you: victorrentea.teachable.com ♦ For your company: VictorRentea.ro
Join the largest
Software Craftsmanship Community
in Eastern Europe
victorrentea.ro/community