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
Ivan Zarea
August 01, 2015
Education
0
44
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
41
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
データで見る赤ちゃんの成長
syuchimu
0
300
ÉTICA, INCLUSIÓN, EDUCACIÓN INTEGRAL Y NEURODERECHOS EN EL CONTEXTO DEL NEUROMANAGEMENT
jvpcubias
0
120
Web Architectures - Lecture 2 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
【Discordアカウント作成ガイド】
ainischool
0
220
チーム開発における責任と感謝の話
ssk1991
0
330
Avoin jakaminen ja Creative Commons -lisenssit
matleenalaakso
0
2k
QR-koodit opetuksessa
matleenalaakso
0
1.7k
【品女100周年企画】Pitch Deck
shinagawajoshigakuin_100th
0
7.4k
GOVERNOR ADDRESS:2025年9月29日合同公式訪問例会:2720 Japan O.K. ロータリーEクラブ、2025年10月6日卓話:藤田 千克由 氏(国際ロータリー第2720地区 2025-2026年度 ガバナー・大分中央ロータリークラブ・大分トキハタクシー(株)顧問)
2720japanoke
0
320
2025年度春学期 統計学 第15回 分布についての仮説を検証する ー 仮説検定(2) (2025. 7. 17)
akiraasano
PRO
0
110
中央教育審議会 教育課程企画特別部会 情報・技術ワーキンググループに向けた提言 ー次期学習指導要領での情報活用能力の抜本的向上に向けてー
codeforeveryone
0
300
DIP_1_Introduction
hachama
0
190
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
How GitHub (no longer) Works
holman
315
140k
Designing for humans not robots
tammielis
254
26k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
What's in a price? How to price your products and services
michaelherold
246
12k
The Language of Interfaces
destraynor
162
25k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Six Lessons from altMBA
skipperchong
28
4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
The Cost Of JavaScript in 2023
addyosmani
53
9k
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