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
Passing down the pain. (eurucamp 2015)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ivan Zarea
August 01, 2015
Education
0
48
Passing down the pain. (eurucamp 2015)
The talk I gave at Eurucamp 2015.
http://2015.eurucamp.org/
Ivan Zarea
August 01, 2015
Tweet
Share
More Decks by Ivan Zarea
See All by Ivan Zarea
History of Computer Science 2015 Lecture 2
minivan
0
45
History of Computer Science 2015 Lecture 1
minivan
2
150
JS Meetup Chișinău #1
minivan
1
120
Useless Programming
minivan
3
160
Other Decks in Education
See All in Education
AIでキミの未来はどう変わる?
behomazn
0
120
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
signer
PRO
0
5.3k
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
signer
PRO
1
2.9k
Activité_5_-_Les_indicateurs_du_climat_global.pdf
bernhardsvt
0
200
多様なメンター、多様な基準
yasulab
6
19k
この講義について / 00-setup
kaityo256
PRO
0
230
Data Presentation - Lecture 5 - Information Visualisation (4019538FNR)
signer
PRO
0
3k
環境・社会理工学院(建築学系)大学院説明会 2026|東京科学大学(Science Tokyo)
sciencetokyo
PRO
0
590
心理学を学び活用することで偉大なスクラムマスターを目指す − 大学とコミュニティを組み合わせた学びの循環 / Becoming a great Scrum Master by learning and using psychology
psj59129
1
2.1k
Gesture-based Interaction - Lecture 6 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
2k
Introduction - Lecture 1 - Next Generation User Interfaces (4018166FNR)
signer
PRO
2
4.5k
高校数学とJulia言語
shimizudan
0
140
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Color Theory Basics | Prateek | Gurzu
gurzu
0
250
Thoughts on Productivity
jonyablonski
75
5.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
The SEO identity crisis: Don't let AI make you average
varn
0
420
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Are puppies a ranking factor?
jonoalderson
1
3.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Designing for humans not robots
tammielis
254
26k
[SF Ruby Conf 2025] Rails X
palkan
2
840
Accessibility Awareness
sabderemane
0
82
Transcript
Passing down the pain Difficulties in teaching software development Ivan
Zarea Technical University of Moldova @minivaaan 2015
0. Context Maxim Chumash / chumash.us
Outsourcing • Good salaries • Low barrier to entry •
Studying for the wrong purpose • Students don’t come to classes
Switch the focus • Do not punish bad performers •
Provide incentive to study • Immediately applicable • Identify what’s important for the industry
Things to teach • Skills • Values • Fun }
important for the industry
1. Skills
What skills do I want my future teammate to have?
• Read source code • Debug • Choose tools
1.1. Reading source code • Live code in classes •
Engage everyone • Give source code with assignments • Show actual code to illustrate a concept
None
1.1. Example: youtube-dl • Read the documentation • See how
to extend youtube-dl • See the Strategy Pattern in action!
1.2. Debugging 9,223,372,036,854,776,000
1.2. Debugging • A relatable & engaging context • Debugging
as a whole • Googling skill is a byproduct
1.3. Tool choice • Help students choose a tool •
Remove the risk from the choice process • Make sure the arguments are sound
None
Skills I want my future teammate to have • Read
source code • Debug and google • Choose tools
2. Values
What values do I want my future teammate to have?
• Appreciate constant progress • Concepts over code • Own the code (design for change)
2.1. Constant progress • Value of TDD • Program with
existing code and tests • Program without code, but with tests • Write tests, too!
2.1. Example: Query Builder
2.2. Concepts over code public class Logger { private static
Logger instance = new Logger(); private Logger(){} public static SingleObject getInstance(){ return instance; } } require "singleton" class Logger include Singleton end
2.2. Concepts over code • Prefer concepts and discussions to
implementations • Be frank about the fact that it’s hard • Try not to introduce concepts to everyone • Restrict choice to unfamiliar platforms
2.3. Own your code • Design for change • Build
bigger projects during the course • Maintenance is reward • Feel the pain
2.3. Example: Markdown • Write a Markdown (subset) parser •
Know that there will be changes to the requirements • Receive changes, update your code
Values I want my future teammate to have • Appreciate
constant progress • Concepts over code • Own the code (design for change)
3. Fun
3. Add Silliness & Humor • Integrate a chinchilla in
the teaching process • The chinchilla wrote a bad dating app • You have to optimize it • That means looking at a lot of chinchillas
None
None
None
None
Things to teach • Skills • Values • Fun •
The spirit
spirit hacker • Take things apart, put them back •
Display curiosity • Encounter issues • Hack teaching The
Teach hacking & Hack teaching @minivaaan 2015