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
Bozhidar Batsov
October 18, 2016
Programming
1
830
Learn to Program in 10+ Years (HackConf 2016)
Bozhidar Batsov
October 18, 2016
Tweet
Share
More Decks by Bozhidar Batsov
See All by Bozhidar Batsov
Clojure: The Bad Parts
bbatsov
0
83
Weird Ruby (RubyDay 2024, Verona)
bbatsov
0
170
Sustainable OSS (Balkan Ruby 2024, Sofia)
bbatsov
0
170
Ruby's Creed (RubyDay 2023, Verona)
bbatsov
0
41
Victims of Complexity
bbatsov
0
330
Ruby 3.0 Redux (Spark Academy, Jan 2021)
bbatsov
1
280
Ruby 3.0 Redux (Pivorak 4.0)
bbatsov
0
490
The Elements of Programming Style (HackConf 2019)
bbatsov
0
210
The Groundhog Day Development Method (HackConf 2019)
bbatsov
0
300
Other Decks in Programming
See All in Programming
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
310
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
110
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
170
OTP を自動で入力する裏技
megabitsenmzq
0
130
AI Assistants for YourAngular Solutions @Angular Graz, March 2026
manfredsteyer
PRO
0
120
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
260
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.4k
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
1.6k
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
370
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
7
3.4k
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
270
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
91
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
84
Odyssey Design
rkendrick25
PRO
2
560
AI: The stuff that nobody shows you
jnunemaker
PRO
4
500
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
310
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Building an army of robots
kneath
306
46k
WCS-LA-2024
lcolladotor
0
500
The Limits of Empathy - UXLibs8
cassininazir
1
280
YesSQL, Process and Tooling at Scale
rocio
174
15k
Being A Developer After 40
akosma
91
590k
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