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
Reflections on the Craft
Search
Stefan Kanev
July 20, 2013
Programming
0
510
Reflections on the Craft
My talk form VarnaConf 2013
Stefan Kanev
July 20, 2013
Tweet
Share
More Decks by Stefan Kanev
See All by Stefan Kanev
Въведение в (Machine|Deep) Learning
skanev
0
87
GraphQL
skanev
0
410
Automated Testing: Getting it Right
skanev
1
64
From Novice to Expert
skanev
0
430
Inbetween Code and Profession
skanev
0
430
Clojure & ClojureScript
skanev
2
120
Extreme Programming
skanev
0
740
За смъртта на TDD
skanev
0
590
Python 0 2014
skanev
1
1.7k
Other Decks in Programming
See All in Programming
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
120
フロントエンド開発に役立つクライアントプログラム共通のノウハウ / Universal client-side programming best practices for frontend development
nrslib
7
3.9k
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
2.9k
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
320
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
490
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
140
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
150
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
320
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.2k
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
160
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
A designer walks into a library…
pauljervisheath
209
24k
How to Ace a Technical Interview
jacobian
280
23k
Code Reviewing Like a Champion
maltzj
525
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building an army of robots
kneath
306
46k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Typedesign – Prime Four
hannesfritz
42
2.8k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Transcript
Размисли за занаята Стефан Кънев http://skanev.com/ @skanev VarnaConf 20 юли
2013 Варна
Стефан
Every time
“Разчупен лед”
смях на чужд гръб
Мариян
None
Васил
Митьо
Радо
удрям ниско
None
монади
лимонади
David Chelimsky
None
None
None
Programmer
⽃⽄ Ruby, Ruby, Ruby ̆̇㽈
None
❤Programming Languages
Ruby & Python
twitter: @skanev github: skanev blog: http://skanev.com/
ЗА КАКВО ИДЕ РЕЧ?
Размисли Наблюдения
без особен ред
ВЪЗМОЖНОСТ ПРИЛОЖИМОСТ
Възможност
Приложимост
Common Lisp
Java
Fortran възможност спрямо assembly
Structured Programming приложимост спрямо GOTO
Relational Model приложимост спрямо файлове
C++ възможност спрямо C
Java приложимост спрямо C++
Разширяване Свиване
“твърде бавно”
“твърде ограничаващо”
Повечето нови технологии и подходи са реакция към съществуващи технологии
и подходи
Реакциите са стандартни: скептичност и консерватизъм
Няма значение, че сега това са едни от най-утвърдените и
най-сигурни технологии
Като индустрия, ние сме ужасно скептични към всяка нова технология
“Скептичен” е лоша дума, понеже предполага съмнение, а не отричане.
Съответно, ...
Ние сме страхливи
КРАСИВА ТЕОРИЯ ГРОЗНА РЕАЛНОСТ
Имаме страхотна теория как се правят нещата - езици, бази,
компилатори, архитектури, операционни системи
На практика, всяка стабилна система е назадничава, серия от компромиси
или просто каша
“Чукча писател, чукча не читател”
малко примери
HTML & HTTP
JavaScript DOM
None
x86
None
повечето програмни езици
None
Може би това е нормалният цикъл за най-използвания софтуер и
няма друг начин
Можем да се справим по-добре за софтуера, който ние пишем
а дано, ама надали
Ние мислим краткосрочно
ИНДУСТРИЯ НА МЕТАФОРИТЕ
Използваме много метафори да говорим за софтуер помежду си
Заемаме фрази от други сфери, понеже нямаме собствени
None
None
None
None
Метафорите са опасни - могат да ни поведат по грешен
път
В строителството, нещата трябва да стават в определен ред. Метър
грешка струва много. Планът и спецификацията са критични.
Имаме copy/paste. Ако метафоричния мост се срути, може да вдигнем
хиляда нови за секунди.
Agile не е революция - просто ни откъсва от грешната
метафора
Ние сме объркани
ПРАГМАТИЦИ VS. МЕЧТАТЕЛИ
прагматици мечтатели
Прагматиците искат предимно да свършат работата
Мечтателите искат да направят нещо красиво
Рядко някой е в крайност, но често сме близо до
тях
Не е черно-бяло - има “добри” прагматици и “лоши” мечтатели
Прагматиците рискуват да си затворят очите за новото
None
Не е лошо да си прагматик, но трябва да внимаваш
да не се затвориш за новото
Трудно е да бъдеш единия в екип от другите
Когато прагматиците надделеят, това често потиска развитието в дадена среда
Ние сме склонни към регрес
КАКВО ЗНАЧИ ВСИЧКО ТОВА?
1.Ние сме страхливи 2.Ние мислим краткосрочно 3.Ние сме объркани 4.Ние
сме склонни към регрес
None
1.Ние сме страхливи 2.Ние мислим краткосрочно 3.Ние сме объркани 4.Ние
сме склонни към регрес
☹
None
Не сме обречени. Винаги ще има хора, които да ни
дърпат напред.
Къде сме? С тях или в авангарда?
Къде е нашето community?
Какво да възпитаваме?
Страст
Смелост
Hardcore умения
Работещ софтуер
None
fin
None