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
Learn to Program in 10+ Years (HackConf 2016)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Bozhidar Batsov
October 18, 2016
Programming
840
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Learn to Program in 10+ Years (HackConf 2016)
Bozhidar Batsov
October 18, 2016
More Decks by Bozhidar Batsov
See All by Bozhidar Batsov
RuboCop 2.0: Where do we go now?
bbatsov
0
83
Clojure: The Bad Parts
bbatsov
0
120
Weird Ruby (RubyDay 2024, Verona)
bbatsov
0
190
Sustainable OSS (Balkan Ruby 2024, Sofia)
bbatsov
0
210
Ruby's Creed (RubyDay 2023, Verona)
bbatsov
0
78
Victims of Complexity
bbatsov
0
350
Ruby 3.0 Redux (Spark Academy, Jan 2021)
bbatsov
1
290
Ruby 3.0 Redux (Pivorak 4.0)
bbatsov
0
520
The Elements of Programming Style (HackConf 2019)
bbatsov
0
220
Other Decks in Programming
See All in Programming
XHTMLが残したもの
yosuke_furukawa
PRO
1
380
ALB ログから Trace を気合で繋げる技術
fohte
7
860
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
810
Building an Out-of-Order CPU
latte72
0
620
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
660
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
130
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
990
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
120
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
Flow は今どうなっているか
mizdra
PRO
0
880
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
260
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.5k
GitHub's CSS Performance
jonrohan
1033
470k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
sira's awesome portfolio website redesign presentation
elsirapls
0
390
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Designing Experiences People Love
moore
143
24k
Transcript
None
ЙО!
None
Hack
Conf
Hack
Conf
Hack
Conf
Божидар
@bbatsov
None
None
None
2^5
None
None
Как да се научим да програмираме за 21 дни Божидар
Бацов
None
Научете за променливи, константи, масиви, низове, изрази, твърдения, функции,… Ден
1 - 10
Научете за потока на изпълнение на една програма, основи на
ООП,… Ден 11 - 21
Програмирайте ударно за кеф. Забавлявайте се в процеса, но не
забравяйте да се учите от грешките си. Ден 22 - 697
Общувайте с други програмисти. Работете по проекти с тях. Учете
от тях. Ден 698 - 3648
Научете висша теоретична физика и формулирайте консистента теория на квантовата
гравитация. Ден 3649 - 7781
Научете биохимия, молекулярна биология, генетика,… Ден 7782 - 14611
Използвайте познанията си по биология, за да направите елексир на
младостта. Ден 14611
Използвайте познанията си по физика, за да направите машина на
времето и да се върнете в ден 21. Ден 14611
Убийте младото си “аз” и заемете мястото му. Ден 21
Все още не е открит по- прост начин да се
научите да програмирате за 21 дни…
Как да се научим да програмираме за 10 години Божидар
Бацов
9 години Emacs
1 година всичко останало
None
Как да се научим да програмираме за 10+ години Божидар
Бацов
Защо се занимаваме с програмиране?
None
None
None
Софтуера управлява живота ни
Програмистите решават проблеми посредством софтуер
Ние създаваме софтуер
Ние сме модерните богове
None
Правете нещо, което обичате
Аз обичам да програмирам!
None
Apprentice Journeyman Master
Чирак Калфа Майстор
None
A long time ago in a galaxy not far away….
1997
None
None
1998
None
None
None
None
None
Убеден бях че не знам почти нищо за програмирането
3 lvl Dev Knight
3/100
Плафон и половина
None
None
Слаба учебна програма отказва всеки
Сега всички имате достъп до страхотни образователни ресурси онлайн
Khan Academy
Coursera
edX
2003
None
None
None
None
None
2004
None
None
None
Technical support
Средата е супер важна
Повечето книги за програмиране издадени в България не стават
None
None
None
None
None
None
Уиндоус не е единствената операционна система
Системното програмиране под Unix е забавно
FreeBSD е най-великата операционна система
None
None
Тунинговането на операционната ти система е супер забавно
Компилирането на ядро е мега яко
vim е странен, но готин редактор
None
Не ограничавайте процеса на учене до рамките на работния ден
less is more
more is more
Поддръжката е една супер неблагодарна работа
Не отивай пиян на работа
10 lvl Dev Knight
2005
Systems Programmer
Средата е важна
FTP не става за version control
Правилните инструменти те правят по-продуктивен
None
Emacs
GNU/Linux
Gentoo
Необходима е стратегия за развитие
None
Развивай се в много посоки
Виж какво те кефи най-много
23 lvl Dev Knight
2006
C++ Programmer
Средата е важна
Emacs е велик
None
None
None
Трябва да можеш да дебъгваш ефективно
Огромните С++ приложения се компилират бавноооооо
None
Трябва да можеш сам да се ориентираш в кода
Това, за което са те наели, не значи нищо
Понякога просто се налага да правиш нещата, които са важни
None
Постоянното тунинговане на операционна система е загуба на време
None
В голямата фирма нещата се случват бавно
Пренаписванията на проекти са опасни…
…и обикновено не свършват
Ефективното планиране е важно
Екипите, в които има само тесни специалисти, са неефективни
Programming is thinking, not typing. —Casey Patton
Но не е лошо и да можете да пишете като
хората…
None
Механичните клавиатури са велики
None
Leopold FC 660C
Караокето е най- висшата форма на team building
None
Да ходиш с колежка е лоша идея
32 lvl Dev Knight
Професионална криза
None
All programming and no play make Bozhidar a dull boy.
Стара народна мъдрост
None
2008
Java Programmer
Средата е важна
Прагматично програмиране
Pair programming кърти, чисти и извозва
Базови добри практики • Прилична документация • Автоматизирани тестове •
Continuous integration • Code review • Планиране на работата • Ретроспективи
Трябва да се инвестира в хората
Java програмистите са Джедаи
C програмистите са Сити
Широк спектър задачи - от десктоп приложения до Java Enterprise
Swing > HTML + CSS
Различни проблеми, различна оптимална технология
Groovy, Scala, Ruby
За да израстваш трябва да поемаш отговорности
Консултантската работа не става
51 lvl Dev Knight
Преподавател
None
Уменията да презентираш са важни
Не разбираш нещо, ако не можеш да го обясниш
Научаваш повече отколкото хората, на които преподаваш
Индивидуалният подход дава много добри резултати
Голяма част от студентите не знаят защо са на курса
ти
Партитата на курсовете са топ забавни
None
OSS Developer
0 -> 1
None
None
Emacs… отново
Когато един проект ти е присърце мотивацията ти е епична
Разпределените екипи работят
Винаги има някой по-умен от теб, от който да учиш
Четенето на добър код е един от най-добрите начини да
се учиш
Чувството някой да ползва твой проект е невероятно
Да комитваш в Emacs е по-яко от да правиш секс
Абсолятно!
2011
Technical Lead
Средата е важна
Ти си голям фактор в изграждането и
Средата в start-up-ите е уникална
Продуктова компания > Ишлеме софт
Трябва да научиш това- онова за мениджънт на хора и
проекти
Трябва ти да се научиш да разпознаваш добри попълнения за
екипа ти
Трябва да имаш стратегия за развитие на тима
По-голям фокус върху архитектурни решения
Повече време отделено на проучване
Не трябва да си гъз
None
67 lvl Dev Knight
2013
CTO
Средата е важна
Ти създаваш средата
Ти избираш технологиите
Най-добрата технология не винаги е технология, която познаваш
Познато != Просто
Познато != Оптимално
Занимаваш се с всичко…
…освен с програмиране
81 lvl Dev Knight
Равносметката
Програмирам от 18 години
Програмирам професионално от 12 години
В период на около 5 години регистрирах огромни темпове на
развитие
Бат Божо, колко зле беше миналата година… — Бат Божо
None
Продължавам да научавам нови неща почти всеки ден
Технологиите са развиват стремглаво
Ако не се развиваш в крак с тях ще гледаш
прогреса им само отстрани
Рецептата за успеха
500 мл хъс
800 гр добра среда
5 кг практика
20 Разнообразни и разнородни проекти
3 с.л. забавления
Пече се на бавен огън 10 години
None
Felina twitter: @bbatsov github: @bbatsov http//batsov.com http://emacsredux.com HackConf 2016 София
Сити, България 16.10.2016