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
780
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
Victims of Complexity
bbatsov
0
270
Ruby 3.0 Redux (Spark Academy, Jan 2021)
bbatsov
1
230
Ruby 3.0 Redux (Pivorak 4.0)
bbatsov
0
410
The Elements of Programming Style (HackConf 2019)
bbatsov
0
160
The Groundhog Day Development Method (HackConf 2019)
bbatsov
0
240
CIDER Distilled: A Common Foundation for Clojure Tooling
bbatsov
0
190
Ruby 3.0: Redux (Saint P RubyConf 2019)
bbatsov
0
220
Ruby 3 Redux
bbatsov
0
320
nREPL Redux (DCD 2019)
bbatsov
1
470
Other Decks in Programming
See All in Programming
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
1
160
IntelliJ IDEA を知らなかった 自分に教えたい小ネタ集 / IntelliJ IDEA Hints for My Past Self
mackey0225
3
180
Data Contracts In Practice With Debezium and Apache Flink (Kafka Summit London)
gunnarmorling
2
280
オブジェクト指向は必要なのか / Is object-oriented needed?
kishida
27
19k
Deep Dive 大規模システムアーキテクチャ/開発組織エンジニアリング / Deep Dive Large-Scale System Architecture, Development Organization Engineering
nrslib
15
2.9k
Introduction for Open Source Swift Workshop
giginet
PRO
0
290
AppDeveloperCon 2024 EU: Building polyglot developer experiences in 2024
salaboy
0
380
WinUI 3デモ - "CommunityToolkit.Mvvm"NuGetパッケージ編
andrewkeepcoding
0
130
デザインシステムで Tailwind CSSとCSS in JSに分散投資をしたら良かった話
fsubal
14
3.4k
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.5k
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.4k
孤独のCTOグルメという やや奇抜な企画をやった目的と効果
shoheimitani
3
1k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
73
5.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
111
35k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
242
20k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
Statistics for Hackers
jakevdp
789
220k
The Mythical Team-Month
searls
214
42k
Design by the Numbers
sachag
274
18k
Thoughts on Productivity
jonyablonski
57
3.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
12k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
1.9k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
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