View Slide
ЙО!
Hack
Conf
Божидар
@bbatsov
2^5
Как да се научим дапрограмираме за 21 дниБожидар Бацов
Научете за променливи,константи, масиви, низове,изрази, твърдения,функции,…Ден 1 - 10
Научете за потока наизпълнение на еднапрограма, основи на ООП,…Ден 11 - 21
Програмирайте ударно закеф. Забавлявайте се впроцеса, но не забравяйте дасе учите от грешките си.Ден 22 - 697
Общувайте с другипрограмисти. Работете попроекти с тях. Учете от тях.Ден 698 - 3648
Научете висша теоретичнафизика и формулирайтеконсистента теория наквантовата гравитация.Ден 3649 - 7781
Научете биохимия,молекулярнабиология, генетика,…Ден 7782 - 14611
Използвайте познанията сипо биология, за да направитеелексир на младостта.Ден 14611
Използвайте познанията сипо физика, за да направитемашина на времето и да севърнете в ден 21.Ден 14611
Убийте младото си“аз” и заеметемястото му.Ден 21
Все още не е открит по-прост начин да се научитеда програмирате за 21 дни…
Как да се научим дапрограмираме за 10годиниБожидар Бацов
9 години Emacs
1 година всичкоостанало
Как да се научим дапрограмираме за 10+годиниБожидар Бацов
Защо се занимавамес програмиране?
Софтуера управляваживота ни
Програмиститерешават проблемипосредством софтуер
Ние създавамесофтуер
Ние сме модернитебогове
Правете нещо,което обичате
Аз обичам дапрограмирам!
ApprenticeJourneymanMaster
ЧиракКалфаМайстор
A long time ago in agalaxy not far away….
1997
1998
Убеден бях че незнам почти нищо запрограмирането
3 lvlDev Knight
3/100
Плафон и половина
Слаба учебнапрограма отказвавсеки
Сега всички имате достъпдо страхотни образователниресурси онлайн
Khan Academy
Coursera
edX
2003
2004
Technical support
Средата е суперважна
Повечето книги запрограмиране издаденив България не стават
Уиндоус не еединственатаоперационна система
Системнотопрограмиране подUnix е забавно
FreeBSD енай-великатаоперационна система
Тунинговането наоперационната тисистема е супер забавно
Компилирането наядро е мега яко
vim е странен,но готин редактор
Не ограничавайтепроцеса на учене дорамките на работния ден
less is more
more is more
Поддръжката е еднасупер неблагодарнаработа
Не отивай пиян наработа
10 lvlDev Knight
2005
SystemsProgrammer
Средата е важна
FTP не става заversion control
Правилнитеинструменти те правятпо-продуктивен
Emacs
GNU/Linux
Gentoo
Необходима естратегия заразвитие
Развивай се в многопосоки
Виж какво те кефинай-много
23 lvlDev Knight
2006
C++ Programmer
Emacs е велик
Трябва да можеш дадебъгваш ефективно
Огромните С++приложения секомпилират бавноооооо
Трябва да можеш самда се ориентираш вкода
Това, за което са тенаели, не значи нищо
Понякога просто сеналага да правишнещата, които са важни
Постоянното тунингованена операционна система езагуба на време
В голямата фирманещата се случватбавно
Пренаписванията напроекти са опасни…
…и обикновено несвършват
Ефективнотопланиране е важно
Екипите, в които имасамо тесни специалисти,са неефективни
Programming isthinking, not typing.—Casey Patton
Но не е лошо и даможете да пишетекато хората…
Механичнитеклавиатури савелики
Leopold FC 660C
Караокето е най-висшата форма наteam building
Да ходиш с колежкае лоша идея
32 lvlDev Knight
Професионалнакриза
All programming andno play make Bozhidara dull boy.Стара народна мъдрост
2008
Java Programmer
Прагматичнопрограмиране
Pair programmingкърти, чисти иизвозва
Базови добри практики• Прилична документация• Автоматизирани тестове• Continuous integration• Code review• Планиране на работата• Ретроспективи
Трябва да сеинвестира в хората
Java програмиститеса Джедаи
C програмистите саСити
Широк спектър задачи -от десктоп приложениядо Java Enterprise
Swing > HTML + CSS
Различни проблеми,различна оптималнатехнология
Groovy, Scala, Ruby
За да израстваштрябва да поемашотговорности
Консултантскатаработа не става
51 lvlDev Knight
Преподавател
Уменията дапрезентираш саважни
Не разбираш нещо,ако не можеш да гообясниш
Научаваш повечеотколкото хората, накоито преподаваш
Индивидуалниятподход дава многодобри резултати
Голяма част отстудентите не знаятзащо са на курса ти
Партитата накурсовете са топзабавни
OSS Developer
0 -> 1
Emacs… отново
Когато един проект ти еприсърце мотивациятати е епична
Разпределенитеекипи работят
Винаги има някойпо-умен от теб, откойто да учиш
Четенето на добър коде един от най-добритеначини да се учиш
Чувството някой даползва твой проект еневероятно
Да комитваш в Emacsе по-яко от да правишсекс
Абсолятно!
2011
Technical Lead
Ти си голям факторв изграждането и
Средата вstart-up-итее уникална
Продуктова компания>Ишлеме софт
Трябва да научиш това-онова за мениджънт нахора и проекти
Трябва ти да се научишда разпознаваш добрипопълнения за екипа ти
Трябва да имашстратегия заразвитие на тима
По-голям фокусвърху архитектурнирешения
Повече времеотделено напроучване
Не трябва да си гъз
67 lvlDev Knight
2013
CTO
Ти създавашсредата
Ти избираштехнологиите
Най-добрата технологияне винаги е технология,която познаваш
Познато != Просто
Познато != Оптимално
Занимаваш се свсичко…
…освен спрограмиране
81 lvlDev Knight
Равносметката
Програмирам от 18години
Програмирампрофесионално от 12години
В период на около 5години регистрирахогромни темпове наразвитие
Бат Божо, колко злебеше миналатагодина…— Бат Божо
Продължавам данаучавам нови нещапочти всеки ден
Технологиите саразвиват стремглаво
Ако не се развивашв крак с тях щегледаш прогреса имсамо отстрани
Рецептата за успеха
500 мл хъс
800 гр добра среда
5 кг практика
20 Разнообразни иразнородни проекти
3 с.л. забавления
Пече се на бавеногън 10 години
Felinatwitter: @bbatsovgithub: @bbatsovhttp//batsov.comhttp://emacsredux.comHackConf 2016София Сити,България16.10.2016