Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
54
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Passing down the pain. (eurucamp 2015)
The talk I gave at Eurucamp 2015.
http://2015.eurucamp.org/
Ivan Zarea
August 01, 2015
More Decks by Ivan Zarea
See All by Ivan Zarea
History of Computer Science 2015 Lecture 2
minivan
0
51
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
批判的応用言語学ワークショップ(2026-08-12 お茶の⽔⼥⼦⼤学)
terasawat
0
210
El Geoparque Mundial UNESCO Volcanes de Calatrava de la Investigación Científica a la Transposición Didáctica en el aula
juanmartin2026
1
13k
セキュリティ担当がいない中小医療機関を院外のRISSはどう支えるべきか / How External RISS Can Help Small Medical Institutions
eller86
1
220
Sekolah Sabat - Triwulan 3 2026 - Pelajaran 13
hiola
0
11k
Sanapilvet opetuksessa
matleenalaakso
1
36k
Introduction to M&A
bvr7352
0
230
実践プレゼンテーション・デザイン
dragon2
1
400
2026年度秋学期 統計学 第2回 統計資料の収集と読み方 (2026. 10. 6)
akiraasano
PRO
0
260
HCI and Interaction Design - Lecture 2 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
2k
Railsチュートリアル × 反転学習の事例紹介
yasslab
PRO
3
190k
MICROSOFT WORD ΚΑΙ ΕΙΚΟΝΕΣ
elfstone77
0
100
[2026後期火5] 論理学(京都大学文学部 後期 第1回)「名前はあるのに、誰なのかわからない」
yatabe
0
140
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
A Soul's Torment
seathinner
8
3.7k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
How STYLIGHT went responsive
nonsquared
100
6.3k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
The Invisible Side of Design
smashingmag
301
52k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
560
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Code Review Best Practice
trishagee
74
20k
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