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
450
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
75
GraphQL
skanev
0
360
Automated Testing: Getting it Right
skanev
1
49
From Novice to Expert
skanev
0
420
Inbetween Code and Profession
skanev
0
370
Clojure & ClojureScript
skanev
2
100
Extreme Programming
skanev
0
600
За смъртта на TDD
skanev
0
500
Python 0 2014
skanev
1
1.6k
Other Decks in Programming
See All in Programming
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
910
Outline View in SwiftUI
1024jp
1
340
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
110
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
距離関数を極める! / SESSIONS 2024
gam0022
0
290
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
3
1.2k
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
950
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
5
330
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.8k
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How to train your dragon (web standard)
notwaldorf
88
5.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Producing Creativity
orderedlist
PRO
341
39k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Being A Developer After 40
akosma
87
590k
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