Programming Mentor
3.49K subscribers
165 photos
1 video
13 files
357 links
Ти живеш, поки вчишся
Download Telegram
Просто звичайна робоча переписка (друзі скинули, не моє :)
Сьогодні святкуємо День Незалежності. Як і очікувалося весь день лунає повітряна тривога. Ворог хоче залякати терором, але дійсно геть погано нас розуміє, якщо вважає що такий сценарій пройде. Віримо в ЗСУ і підтримуємо всім чим можемо.

Проте на думку спадає, що вже за тиждень перше вересня, а Україна вперто готується до того, щоб відправляти дітей та підлітків на навчання офлайн, незважаючи на купу руйнувань шкіл та університетів.

Як би це не цинічно звучало, але ніщо так не сприяло переходу до життя в онлайн, як коронавірус та карантин. Але навіть після його відміни багато компаній продовжують працювати повністю дистанційно або запропонували якісь змішані формати, коли відвідування офісів стає чимось опційним, а не обов’язковим.

Особисто я був активним прихильником віддаленої роботи ще до того як воно “стало трендом”. Дійсно, якщо тобі треба попрацювати за комп’ютером, то ти можеш це зробити з дому, десь з острова в Середземному морі (як на постері з мого каналу в ютубі), чи взагалі звідки завгодно ще. Мало того, робота з дому для мене особливо продуктивна, бо дає змогу максимально зосередитися, не втрачати час і енергію на дорогу та й значно більш передбачувано розпоряджатися власним часом взагалі.

Проблема хіба була в тому, що віддалений режим роботи погано розуміли колеги - не дуже вміли вирішувати питання дистанційно, ще багато хто хворів стереотипом, що якщо тебе немає на робочому місці, то значить що ти й не працюєш. Але подякуємо коронавірусу, що таке мислення він для більшості “полікував”.

Похвально, що українські IT компанії зрозуміли, що ніякого “повернення в офіс” не буде, особливо в умовах війни, і дуже швидко адаптувалися, надаючи можливість людям працювати не лише з гнучкого робочого місця, а ще й за гнучким графіком, перетворивши офіси на щось типу коворкінгу, куди можеш прийти за бажанням, а можеш і не показуватися взагалі, просто виконуй свою роботу і будь на зв’язку.

Однак виглядає так, що “полікував” не всіх. І навіть Ілон Маск намагається загнати своїх співробітників назад в офіс, хоча й виходить не дуже добре. Люди просто почали масово йти з Тесли. Наприклад, нещодавно навіть пішов один з ключових співробітників Андрей Карпати, який займався автопілотом. Хоч він причину й не озвучив, але бажання звільнитися співпало з примусовим поверненням в офіс. Тут важливо зрозуміти, що він далеко не один, хто вирішив покинути компанію саме в цей час - можна говорити що співпадіння перетворюються на закономірність.

Але в штатах війни немає, і я дивуюся від того, що наше міносвіти не спромоглося налаштувати дистанційну освіту, наче війна не така страшна як коронавірус, та й ніякого досвіду онлайн-навчання не було зовсім.

Не складно передбачити, що крім повітряних тривог нас з вересня будуть чекати масові замінування, ще й не факт, що завжди будуть фейковими. Як тут можна говорити про якийсь навчальний процес, коли постійно треба буде відміняти заняття та бігати в укриття? А що робити в гуртожитках університетів, чи дійсно вдастся серед ночі всіх евакуювати в безпечне місце? Якось погано собі це уявляю взагалі. То питання жертв серед наших дітей тут буде стояти в ракурсі не “якщо”, а “коли”.

Крім того зараз за кордоном багато не лише дітей з батьками, а й вчителів. Одні готові навчатися онлайн, а інші - навчати. Якщо намагатися повертати їх примусово, не пропонуючи альтернативи дистанційного навчання, то нічого з того не вийде - ми просто втратимо і одних, і інших.

То власне про що тут говорити - робота вже перейшла в онлайн і “як було” вже не буде. І навчання вже треба було б перевести в онлайн, тим паче в умовах війни. Не бачу жодних аргументів щоб зараз в офлайн всіх заганяти, на думку приходить хіба те що в онлайні на фіранки збирати проблематично.
“Do… or do not. There is no try” - Про вік, мотивацію та вашого найбільшого ворога в навчанні.

Сьогодні День Знань, з чим я вас і вітаю. Маю щось дуже корисне для вас розказати про навчання.

Власне одна зі складових моєї роботи полягає в тому щоб виконувати роль свого роду персонального психолога тих людей, хто намагаються навчитися. Це дуже непросто, навіть значно складніше, ніж пояснювати якісь технічні питання. Іноді це вдається зробити, іноді ні, але загалом накопичилося достатньо досвіду щоб робити якісь узагальнення і дати поради. Можливо хтось впізнає себе, призадумається, і мої поради допоможуть.

Вік

Почнемо з питання віку. Дуже часто трапляється, щось типу такого “Мені вже X, чи мені не пізно в програмісти?”. Замість X може бути що завгодно, і 30, і 40, і 50, і навіть 20+ буває нерідко. :)

Чому таке питання виникає взагалі? Зазвичай це просто власна невпевненість і спроба знайти виправдання чому ні. Але моя відповідь не всім подобається, бо вона - “завжди не пізно”.

Дійсно, що це взагалі за така проблема виправдовуватися віком? Для інтелектуальної роботи вік не має значення, науково доведено, що мізки - це той орган, який з часом деградує найбільш повільно, а тому багато інших занять можуть стати недоступними з віком, але не розробка і програмування.

Є безліч прикладів, коли люди передпенсійного чи навіть пенсійного віку приходили в цю галузь і цілком успішно досягали висот. І для цього не треба бути професором математики, достатньо вивчити якісь достатній мінімум технічних знань, щоб бути здатним закривати практичні таски. І цей “мінімум технічних знань” реально опанувати за лічені місяці, не треба думати, що “боги коди пишуть” - по великому рахунку ця професія нічим особливим не відрізняється з точки зору складності навчання, якщо говорити саме про мінімальний достатній для роботи рівень знань і навичок.

Інше питання, що з працевлаштуванням може бути складніше, бо дійсно, команді з двадцятип’ятирічних сіньйорів не дуже зрозуміло як поводитися з п’ятидесятилітнім джуном, але тут просто треба найти команду, якій це буде ок, і далеко не всі з них складаються з двадцятип’ятирічних сіньйорів.

Мало того, саме зараз, коли багато хто працює в онлайні, вік учасників дуже сильно втрачає значення навіть у порівнянні з тим, що було лише два роки тому. До відома: зазвичай в резюме взагалі заборонено зазначати дату народження/вік, за цим особливо слідкують в розвинених країнах.

Ну і нарешті можна спокійно піти собі фрілансити, просто робиш проекти, навіть сам, без команди - клієнту без різниці який твій вік.

Власне у людей що трохи старші за “молодь” основна проблема буває не в тому, що вони на щось не здатні чи їм пізно, а просто знаходяться в таких обставинах, що навчатися складно (сім’я, діти, робота, яку не можна кинути і тому подібне), але тут вже треба якось визначатися з тим, чого ти хочеш по-справжньому, можливо тебе все влаштовує, просто не готовий це визнати.

Мотивація

Наступна проблема - це коли людина просто не хоче напружуватися в навчанні. Часто трапляється думка, що твоя справа обмежується тим, щоб заплатити за курс, а далі то вже їх проблеми, хай вчать, як не навчили, то значить курс поганий. :) Але тут є нюанс, його важливо усвідомити: насправді, навчити примусово не можна, можна лише добровільно навчитися. І якщо ти не будеш працювати, виконувати завдання, і взагалі по-справжньому напружуватися інвестувати в це час, а не так, для вигляду, під відосик з ютубу - то це все даремно.

Часто цей випадок відразу видно по такій фразі “мені нічого незрозуміло”. Справа в тому, що “нічого незрозуміло” не буває, завжди незрозуміло щось конкретне. І коли ти можеш виокремити це щось конкретне, тоді ти можеш поставити про нього питання, а коли ти ставиш питання, ти вже можеш задати його комусь, хоча б гуглу для початку. І так від питання до питання ти можеш просуватися вперед. А якщо ситуація виглядає наче “нічого незрозуміло”, то тут і питання поставити ніяк, і просуватися ніяк також. Але зазвичай це просто тому, що людина лінується хоч елементарно напрягти свої мізки, от і все.
Про питання теж є нюанс - часто люди задають питання, які гугляться за 10 секунд. От просто вставив питання в гугл, і перше посилання вже має відповідь. Але чому ж так не зробити? Насправді тут є теж демонстрація власних лінощів - просто задав питання, перекинув відповідальність з себе, і вже ніби не ти винен в тому ще можеш просуватися в навчанні.

Однак звісно питання задавати потрібно, просто треба спочатку хоч трохи подумати самому, погуглити, ну а коли вже зрозумів, що сам ніяк - тоді задаєш. Бо є інша крайність - це коли взагалі нуль питань, а завдання при цьому не зроблено. Коли починаєш розбиратися чому - виявляється, що людина боїться запитати, бо хтось може подумати, що вона якась недостатньо розумна, чи щось в подібне. Звісно, що це повна маячня, і навіть коли ти вже ніби все вивчив і пішов працювати, ніхто не розраховує, що ти будеш робити все сам без жодних питань - спілкуватися з людьми, задавати питання, просити допомогу - це нормально, ніхто тебе за осуджувати не буде, якщо ти звичайно не будеш зловживати як у ситуації з попереднього абзацу.

Окремий випадок небажання напружуватися, це коли хтось починає говорити, що “ви неправильно навчаєте”. З цим взагалі тяжко щось робити. Людина має якесь власне уявлення про те як має виглядати навчання, і зазвичай це так, щоб дійсно нічим “зайвим” не напружувати - типу дайте теорію, але “не забагато і не замало”, далі дайте практичне завдання виключно по цій теорії, так, щоб не треба було ходити в гугл, просто повторив те що було в теорії, але вже з іншими даними і все. Власне в чому тут проблема? Проблема в тому, що такий “лайтовий” варіант навчання, коли ти ніби йдеш протореною доріжкою і просто повторюєш те що було в теорії без достатніх зусиль на самостійне опрацювання - це не є справжнє, навчання, це його імітація.

Цим особливо сильно страждають виші, коли ніби і теми закриті, і оцінки на “відмінно”, а на роботу чомусь не беруть. Бо тут ти не здобуваєш навички, оскільки навички - це саме здатність вирішувати практичне завдання, яке може охоплювати багато теоретичних складових, не лише, те, що “щойно пройшли”. Крім того, вміння шукати інформацію, працювати з документацією, дебажити код, намагаючись розібратися у незрозумілому - це і є ключові навички розробника, які не здобуваються у лайтовому режимі, їх треба постійно відточувати саме напружуючи свої мізки.

Також ще є люди, з категорії “я хочу спробувати, чи мені піде”. Це такі, що постійно вагаються, в пошуках якогось магічного “найкращого курсу”, “найкращої книжки” чи “найкращого вчителя”. Вони вважають, що є якийсь секрет, якийсь десь хтось приховує, але якщо на нього натрапиш, то тоді “піде”. Реальність така, що ніякого секрету немає, крім інтенсивної праці, і постійна робота над собою та страждання від того, що не все виходить - то нормальна складова навчання. Причому якась конкретна книжка, конкретний курс чи вчитель - не настільки принципово, як твоє власне до цього відношення. Якщо вагатися, постійно думати, що десь там позаду відкриті двері, і якщо щось не піде, то я відразу в них втечу - то це дуже сильно перешкоджає, власне стає основною причиною, чому нічого не вдається. Часто такі люди реєструються на купу різних безкоштовних курсів, пробують, кидають, нічого не завершуючи до кінця. А коли йдуть на платні, то їх постійно бентежить питання, а чи не кинути їх щоб повернути гроші, бо ніби воно якось не йде. Звичайно, що так нічого й не вийде, коли ти замість того щоб віддатися навчанню тільки й думаєш про те чи не наступив той момент, щоб його кинути. Треба вміти психологічно закривати за собою двері і доводити до кінця те що почав. І немає ніякої проблеми в тому що ти відстав - завжди можна наздогнати, головне дійсно йти цим шляхом, а не повертатися назад. Власне, ти або навчаєшся, а бо ні, ти не “пробуєш”.
Ворог

Отже ми нарешті дійшли і до вашого головного ворога в навчанні, і це - ви самі, ваші упередження, лінощі, якісь відмазки і тому подібне. Якщо ти дійсно вирішив навчитися, то тебе ніщо не має зупинити. Айтішка не вимагає якихось надлюдських здібностей, мало того, є багато професій, які більш вимогливі стосовно навчання. Звичайно в IT є багато талановитих людей зі світлими головами, які зі сторони виглядають ніби створіння з іншого світу, але насправді їх меншість, у своїй більшості айтішники, розробники - це звичайні люди, яких ти в загальній масі не відрізниш за якимись особливими здібностями. Просто в якийсь момент вони серйозно взялися за навчання, не шукали відмазки чи виправдовування, не пробували, а взяли і зробили.

І саме зараз навчитися на айтішника стало легко як ніколи. Тобі треба просто комп’ютер, інтернет і достатньо мотивації. Іноді говорять, що в тебе має бути якесь особливе покликання, і ти його маєш відчути, а йти, наприклад, за грошима - то неправильно. То звісно добре, якщо в тебе є якийсь особливий талант і покликання, але насправді не важливо яка в тебе мотивація, головне, щоб вона була. Щоб це твоє бажання конвертувалося в конкретні дії, щоб ти розумів, що кожну хвилину свого часу ти можеш або присвятити навчанню, або ні, і відповідно від нього віддалитися, бо в цій галузі коли не вчишся чи не працюєш, то починаєш забувати, навіть той мінімуму, що знаєш, по-іншому не буває. І якщо ти не можеш себе примусити навчатися, якщо тобі воно дається через силу, якщо ти шукаєш якісь причини чому тобі щось заважає, то краще й не намагайся йти цим шляхом, бо на постійні страждання скеруєш себе.

Є безліч можливостей навчатися безкоштовно, хоча звісно під керівництвом гарного вчителя це буде значно ефективніше. Бо питання зовсім не в контенті - його можна знайти повно і без жодних витрат, основне питання в тому, що гарний вчитель, це не просто лектор, чи репетитор, щоб видати інформацію, це ментор, наставник, що має створити такі умови, в яких ти мав би напружуватися в своєму навчанні, в ідеалі зануритися настільки сильно, що думати постійно про завдання, засинати з ними в голові, прокидатися з ними в голові, а вночі вони мають ще снитися. Знання тобі не мають запихувати силою в твою голову, ти повинен вигризати їх сам, знати “де вони лежать” - конкретно документація, якісь стандарти, куди будеш заглядати навіть тоді, як пройде час і щось оновиться/зміниться. І звісно боротися з тарганами у своїй голові, і пам’яти, що темна сторона - вона не десь зовні, вона в самому тобі.
IT Generation: чи млинець нанівець?

Коли вперше дізнався про програму IT Generation, то деякі речі мені не дуже сподобалися, але вирішив заздалегідь не критикувати, тим більше що ідея сприяти IT-освіті насправді гарна, бо в умовах війни IT - то чи не єдина галузь, яка може виживати і живити економіку.

Однак зараз пішла хвиля негативчику пишуть про “гру кальмара” і тому подібне, конкретні лінки давати не буду, кому цікаво, то нагуглите. Але вирішив написати, бо багато людей мене особисто питає про програму, і чому там немає найкращих курсів :)

Отже, про програму. Наприкінці червня з великою помпою Мінцифри анонсував (далі цитата з офсайту): “Проєкт Міністерства цифрової трансформації разом із партнерами, блокчейн-екосистемою Binance та Львівським ІТ Кластером. В рамках проєкту таланти з будь-якого куточку України зможуть безоплатно отримати професію у сфері IT.” (цитата з офсайту https://it-generation.gov.ua/)

Хто платить?

На перший погляд все класно, але нюанси в деталях. Програма виглядає безкоштовною, однак ми прекрасно знаємо, що безкоштовного нічого не існує - за все завжди хтось платить. Якщо програма державна, то вона оплачується платниками податків. Якщо оплачує якась компанія, то це її гроші. Багатьох в оману ввело саме залучення Мінцифри і склалося враження, що програма державна, однак насправді гроші дає криптобіржа з вельми підмоченою репутацією (https://www.reuters.com/investigates/special-report/fintech-crypto-binance-dirtymoney/). Особливо дико на мій погляд виглядає співпраця у розрізі того, що були серйозні звинувачення у зливі інфи користувачів платформи російському ФСБ (https://www.reuters.com/technology/how-crypto-giant-binance-built-ties-russian-fsb-linked-agency-2022-04-22/).

Вже цього було достатньо щоб ні про яку співпрацю не говорити взагалі. Але якщо в наших держструктурах вже якось і вирішили прийняти не зовсім чисті гроші в тяжкий час, то варто було зробити це без додаткових умов.

Однак в програмі IT Generation була прописана умова обов’язкової реєстрації кандидатів на самій біржі, тобто: хочеш подати заявку - реєструйся на біржі з подачею персональних документів ще й з відеоідетнифікацією особистості. Це взагалі капець-капець на мою думку - такого не можна допускати було взагалі, враховуючи інфу про злив даних ФСБ.

І якщо говорити про те що криптобіржа виділила аж мільйон доларів на навчання, то в результаті вийшо, що з піаром на рівні держави вона отримала десятки якщо не сотні тисяч нових користувачів. Швидке збільшення кількості користувачів в таких кількостях автоматично збільшує вартість проекту на десятки чи навіть сотні мільйонів доларів. Просто аплодую стоячи геніям маркетингу в тій криптобіржі - вклали мільйон, отримали набагато більше, ми навіть не можемо уявити наскільки, бо не знаємо, чи ті дані ще комусь передадуть, можливо за них дехто ще й заплатить не один мільйон :)

Відбір

Наступний нюанс з відбором. Оригінально очікувалося що той мільйон доларів розділять між школами з середньої вартістю курсів в районі 1 тис. дол, відповідно кількість таких людей - всього одна тисяча, але оскільки середня вартість курсів була менше 1 тис. дол, то кількість тих, кому зможуть надати послуги буде вищою, порядка 1800 осіб.

Насправді це мізерна величина в загальній кількості бажаючих стати айтішниками у нашій країні. Відповідно, по різним оцінкам на програму було подано до 300 тис. заявок, однак дехто реєструвався на кілька шкіл одночасно, кількість унікальних учасників оцінюється приблизно в 50 тис. осіб.
Власне серйозний факап в тому щоб допустити множинні реєстрації взагалі. Якщо хтось “особливо розумний” подав заявку умовно 10 разів, то його шанси зростають відповідно в 10 раз по відношенню до інших, що створює нерівні умови, є несправедливим і шкодить самій ідеї такого безоплатного навчання.

Оскільки багато людей поклали свої надії на цю програму, то питання відбору мало було б пропрацьоване в деталях. Тут важливий принцип - якщо щось робиш, то роби добре, або взагалі не роби ніяк.
Продовжуємо про IT Generation, говоримо про відбір учасників.

Відбір не можна було просто спустити на рівень шкіл, бо вони не обмінюються інформацією одна з одною та й взагалі не мають експертизи проводити відбір людей, оскільки коли проводять платні курси, то питання відбору серйозно не стоїть - сам факт оплати вже є показником того, що людина підтверджує свою мотивацію до навчання, бо просто викинути на вітер свої кровні може далеко не кожен.

Однак якщо платити не треба, то виникає серйозне питання, кому тоді ж дати цей шанс? Чи мають його отримати ті хто постраждав від війни, чи ті, хто вже щось знає/вміє, але з іншого боку, якщо знає/вміє, то навіщо йому те навчання, він можливо займе місце того, кому це більш потрібно?

Я тут не дам готові відповіді, бо все залежить від конкретних цілей, які ми хочемо досягти, але те, що це мало бути пропрацьовано в деталях - це факт. Зараз вийшло так, що заявок купа, в окремих популярних школах в буквальному сенсі тисячі на одне місце. Чи зможуть їх опрацювати взагалі, якось прочитати кожну заявку? Це риторичне питання, просто прикиньте, що на одну заявку треба витратити хоча б 10 хвилин (це самий мінімум, бо насправді часу треба більше, бо треба і документи прочитати, зокрема лист, і з людино зв’язатися, позвонити чи листа написати), то щоб опрацювати тисячу заявок потрібно мінімум 167 годин часу - це місяць безперервної роботи по вісім годин на день, зрозуміло, що ніхто тим займатися в таких масштабах не буде. А якщо 10 тисяч, то це треба щоб з ними працювала одна людина майже рік, чи аж 10 людей має працювати місяць? А якщо робити по совісті, то на заявку треба значно більше ніж 10 хвилин, просто подумайте про це і зрозумієте масштаби факапу :)

Що тут можна було зробити? Та хоч звичайну лотерею, чому б ні? Лише гарантувати щоб заявку могла подати одна людина один раз. Варіант аналогічний тестуванню ЗНО теж прийнятний. Способи є, варто подумати було наперед.
Продовжуємо про IT Generation - якість

Питання якості - основне, на мою думку. Взагалі, у більшості IT-шкіл з цим постійно складнощі. І головна проблема не в тому, що навчатися беруть без відбору, треба лише заплатити - з цим якраз у нормально поставленому навчанні особливих складнощів немає, бо студенти, що відстають, не мають заважати тим, хто навчається добре. Проблема в першу чергу в кадрах самих шкіл.

І тут все просто - роздуті витрати маркетинг, адміністративні, необхідність давати прибуток і тому подібне залишають дуже мало можливості платити гарні зарплати людям, які будуть навчати. По рекламі скажу окремо - вливати колосальні гроші в рекламу, то демонструвати неспроможність робити більш продвинутий маркетинг, займатися розвитком спільнот, подій контенті у тому подібне. Але у нас школи часто вливають просто неймовірні гроші в рекламу - мають роздуті штати рекламщиків, крутять дорогі адси на фейсбуці/інстаграмі, заносять блогерам і т.д. У вартості курсу це може доходити до його половини ціни, лише вдумайтеся в це - людина оплачує курс за тис. дол., з них лише половина залишається школі на курс, половину вже витратили на рекламу (!).

Але якість навчання чи не на всі 100% визначається не брендом школи, а саме конкретним вчителем, який працює зі студентами, його професійними навичками та вмінням навчати інших. І якщо для оплати праці цієї людини школа не здатна виділити достойні кошти, то і людей вона гарних для цієї роботи не знайде. Бо якщо ти дійсно справжній професіонал, то зможеш легко отримувати достойну оплату просто займаючись своїм ремеслом, а робити дауншифтінг та йти на суттєво нижчий рівень оплати щоб навчати інших - це не є природно, і плинність кадрів в подібних школах відбувається зазвичай не від досвідчених професіоналів до вчителів, а навпаки - від вчителів до професіоналів. А на їх місце знову приходять “молоді і зелені”, зазвичай ті що ці курси закінчували, виходить такий собі “типовий кар’єрний шлях”, де недонавчені випускники навчають собі подібних :)

Взагалі на ринку праці в IT виходить так, що знайти гарного розробника - то звичайна справа, а знайти класного фахівця, хто буде навчати студентів - то вже задача особливої складності, навіть за великі гроші - незважаючи на всю багато тисячну армію розробників, гарних менторів-вчителів насправді зовсім небагато. Причому просто бути гарним розробником недостатньо, треба ще об’єднати це все з навичками роботи з людьми. Навіть якщо на таку роботу знаходять гарного розробника, то він рідко має вміння і бажання працювати зі студентами, бо з кодом працювати насправді простіше, ніж з людьми.

Тому важливо зрозуміти, що якісна освіта - це завжди дорого, оскільки якість може дати лише та людина, що сама здатна гарно заробити як професіонал, будь-які спроби зекономити тут конвертуються у зниження якості результата.

А тепер підходимо до концепта оплати послуг в IT Generation, коли гроші отримують не студенти і потім вирішують на яку школу їх потратити, а самі школи по якихось квотах. Оскільки бажаючих все одно з надлишком, то нескладно зрозуміти, що з метою максимізації прибутку школи їй треба якомога більше взяти від проекту і якомога менше витратити на оплату праці вчителів. До чого це призведе в результаті можна здогадатися.

Що можна було на мою думку зробити по-іншому? Це видавати гранти саме потенційним студентам і давати вже їм можливість обирати де навчатися, тоді б школи конкурували за студентів, і якість би в цьому питанні не була б на останньому місці. А так школи впевнені, що студенти по програмі все одно прийдуть, навіщо тут ще робити якісь зусилля?
IT Generation - то що з млинцем?

То власне які з цього робимо висновки? Мабуть не помилюсь, якщо скажу, що “перший млинець нанівець”. Оскільки на програму потрапить менше 2 тис людей, з 50 тис. кандидатів, то 48+ тис. опиняться за бортом. Обіцяють через якийсь час нову ітерацію, але якщо не зробити кардинальних змін в підході, то самі розумієте, що це принципово нічого не змінить. Але потрапити в програму, то ще не означає, що вас автоматично “візьмуть в айтішники” - то насправді від самої людини залежить в першу чергу, значно більше ніж від школи.

То що робити тим, хто не пройшов - чи дійсно ви багато втратили? Не переживайте, багато не втратили :)

У навчанні дуже важливо працювати регулярно, тримати темп і пам’ятати, що ви маєте навчитися, а не вас мають навчити. Якщо у вас немає можливості оплачувати навчання, то можливості для самонавчання зараз такі великі, якими вони не були ніколи раніше. Ви можете знайти повністю легально високоякісні навчальні матеріали від того ж Гарварду на EDX чи навіть краще - від якогось відомого інструктора, приклад Kent C. Dodds (пишу англійською щоб легко нагуглити). Головне розумійте, що не можна перекладати на школу, курс чи когось іншого когось відповідальність за те, що ви маєте навчитися - вона повністю на вас. І тому навіть краще вчитися самому, ніж потрапити на поганий курс, бо на поганому курсі вас можуть не постро демотивувати, а ще й “зіпсувати” неправильними підходами - недаремно магістр Йода говорив “you must unlearn what you have learned”.

Для тих, хто заплатити можливість має - то не треба чогось чекати і сподіватися що якимось дивом якісна освіта стане безкоштовною - це навряд. Освіта це завжди дорого і недаремно на Заході нормою є багаторічні кредити на навчання, бо інвестиції в себе - це найбільш правильні інвестиції. Картинка з графіком - це сумарні студентські кредити в США, - 1,75 трлн. дол. на кінець 2021 року, цю суму навіть уявити складно. Але в штатах ця розкручена машина працює багато років, і люди витрачають на навчання величезні кошти, відпрацьовують потім десятиліттями.

У нас поки що залишається можливість повчитися не за всі гроші світу, і це насправді прекрасна можливість, треба нею користуватися, бо з наближенням до цивілізованого світу вартість освіти теж буде рухатися в тому ж напрямку.

PS. Щоб вас трохи підбадьорити, для тих, хто не пройшов на IT Generation дам - купон на знижку на оновленому джедайському курсі JavaScript, який стартує у жовтні (деталі про оновлення зроблю пізніше окремим постом) - купон JSFORCE
Для тих, хто на програму пройшов, але має бажання добре вивчити JavaScript і дійсно навчитися програмувати, то купон той же самий :)
Купон буде діяти обмежений час, бо я й так з початку війни знизив вартість курсу і тримаю його на максимально доступному рівні.
Лінк на курс https://sj42.programmingmentor.com/
Сьогодні мав би бути День Програміста.

Але є нюанс - цю дату як 256-й день в році придумали в країні-агресорі, то йде вона за кораблем

Не завадило б подумати про якусь альтернативу.

Наприклад, в Китаї давно святкують цю дату як 24-те жовтня, оскільки її можна записати як 10.24 чи 1024 - вийде один кібібайт дуже непогано як на мене, навіть креативніше ніж 256, та й зручніше, бо завжди одна дата, від високосності року не залежить.

Однак, якщо ми говоримо саме про професійне свято, то мабуть не завадило б віддати належне першій людині в професії, і нею вважається Ада Лавлейс, донька Джорджа Байрона. То її день народження - це 10 грудня, дехто святкує як професійне свято програміста. Як на мене, то доречно віддати належне першій людині, яку можна назвати програмістом.

Ну і чисто від мене ще є пропозиція - можна святкувати нульовий день в році. А тоді це буде 31-е грудня :)

Чекаю на коменти :)
Запрошую на подію
Сьогодні о 18:00 проводжу вебінар про стажування для початківців в умовах війни, приходьте, буде цікаво і корисно.
Кидаю лінк на ютуб-трансляцію, там же буде і запис.
Для учасників вебінару тут можете задавати питання в коментарях, буду відповідати навіть після його завершення.
https://www.youtube.com/watch?v=om4kRc9NUYw
Сьогодні мене запросили на ДОУ поговорити про роадмепи для вивчення фронтенду.
Насправді для початківців це дуже важливе питання, бо якщо поглянути на те, скільки всього у тому сучасному фронтенді, то бажання вчитися може швидко зникнути. Насправді то звичайно не є так страшно, важливо рухатися правильною дорогою.
Але є ще один нюанс - зазвичай в роадмепах нікто не показує вагу і важливість окремих компонентів. А вона є. Є речі, які значно важливіші за інших, є такі, що вчаться швидко, буквально за кілька годин, а є такі, що вивчати доведеться значно довше, формування тої ж навички програмування у найкращому випадку займе тижні, а на її відточування підуть взагалі роки.
Ну і ще залишаються такі важливі питання - з якою швидкістю то все треба вчити і коли взагалі зрозуміти, що вивчив.
Запрошую послухати о 19:00, можна буде задати свої питання.
Деталі тут https://t.me/junior_dou_ua/3945
Минулого тижня мав нагоду вчергове відвідати голосовий чат ДОУ і поговорити на цікаву тему - дорожня карта для вивчення фронтенду.

Ось його запис, клікаєте і слухаєте, на каналі ДОУ є таймкоди https://t.me/junior_dou_ua/3972

Взагалі, дорожня карта (roadmap) - то один з найбільш важливих чинників що забезпечують успіх чи невдачу навчання. Дуже часто люди намагаються вчити “хоч щось”, але це приблизно як замість того щоб в ралі-рейді їхати куди треба, просто рухатися “куди-небудь”. Мабуть не варто пояснювати, що рух в неправильному напрямку не просто не наближає, а віддаляє від мети.

Плюси дорожніх карт в тому що крім сухого переліку модулів є візуалізація, що наглядно показує залежності між модулями і дозволяє зрозуміти послідовність вивчення. Наприклад, вивчати фронтенд-фреймворк не можна поки не вивчив JS та й навчився елементарно програмувати взагалі, бо смислу в тому зовсім нуль, приблизно як читати не вивчивши літери. В той же час деякі речі, наприклад, ті ж препроцесори, можуть почекати до потрібного моменту, до багатьох речей рух вони не блокують.

Отже, до конкретних карт.

🏃‍♂️Найбільш наглядною для початківців мені здається саме ця https://roadmap.sh/frontend

Вона класна в тому сенсі, що демонструє чіткий шлях по технологіям, без “зайвого”.
Якщо здається що елементів забагато - не лякайтеся, там все не обов’язково потрібне для джуна, можна не йти до самого низу, а зайти в професію десь в районі фреймворків. Вона інтерактивна, клікаємо по блочках і бачимо посилання на корисні ресурси.

Взагалі на тому сайті багато якісних роадмепок, зокрема є окремо по JavaScript (https://roadmap.sh/javascript), її ми тепер використовуємо на джедайському курсі (https://sj42.programmingmentor.com/), та по фреймворках: React (https://roadmap.sh/react), Angular (https://roadmap.sh/angular), Vue (https://roadmap.sh/vue).

Якщо хочете скачати, ось секретна лінка, там pdf-ки: https://roadmap.sh/pdfs

🏃‍♂️ Наступна роадмепа, яка мені дуже подобається, на сайті Frontend Masters: https://frontendmasters.com/guides/learning-roadmap/

Дуже детальна, багато блоків, також інтерактивні і наповнені контентом, по факту є гарним підручником “все в одному” для опанування професії. І вона зовсім не лише для джунів - качатися по ній можуть мідли та сенйьори, закриваючи прогалини в знаннях та навичках.

🏃‍♂️Ще гарна карта тут, хоча вона більше виглядає не як карта, а просто як набір навичок: https://andreasbm.github.io/web-skills/. Зручно, що можна відмічати набуті навички, списочок немаленький, чи не на все життя вистачить. :)

🏃‍♂️Однак професія розробника - це не лише перелік компонентів фронтенду, важливо розуміти що є багато фундаментальних речей, які загальні для різних прикладних сфер - і патерни, і принципи, і алгоритми та структури даних врешті-решт. Про це поговоримо ще окремо. Але в цьому контексті підкину карту від Тимура Шемсединова з КПІ: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Roadmap.md
Експертиза не переноситься (про Маска, Шелдона Купера, Марадону та міст)

Сьогодні збирався написати про Маска, але тема дня - то міст. Про міст поки можу написати хіба те, що будь-яка ціль досяжна, треба лише над нею працювати.

Якось в серіалі Big Bang Theory актор, що грає талановитого, але від того дуже дивакуватого вченого - Шелдона Купера, запропонував вирішення проблеми Близького Сходу “геніальним” способом - просто збудувати в Мексиканській пустелі реплику Єрусалиму. Мабуть не треба пояснювати, куди послала його людина, для якої ця проблема має значення.

Сподіваюся, що якби Маск бачив той епізод, то він міг би хоча б якісь землі на Марсі нам запропонувати, а не ось це все.

Однак в цій історії я не думаю, що він свідомо вирішив підіграти нашим ворогам. Скоріше це просто черговий приклад коли експертиза в одній області не переноситься автоматично на іншу.

Люди схильні довіряти авторитетам і рідко задумуються коли людина досягла в чомусь одному успіху, то в іншому вона може бути повним профаном. Але бути профаном і намагатися розвиватися, не видаючи себе за авторитет - це нормально, але бути профаном і видавати себе за експерта - ні.

Яке відношення це питання має до мого бложику? Безпосереднє. Часто люди вважають, що якийсь сторонній досвід їм зарахується в IT, і сильно розчаровуються, коли виявляється, що це не так.

Звісно, досвід допомагає, і чим він більш споріднений, тим краще. Однак навіть якщо вже працюєш програмістом, то просто взяти і почати кодити на новій мові не вийде, треба буде її вивчити. Це буде значно простіше ніж іншим, але вчити доведеться.

Однак якщо ти за освітою, наприклад, мовознавець, то як би в тому напрямку далеко не зайшов, хоч став доктором наук, то в програмуванні тобі це допоможе хіба документацію читати швидше, але аж ніяк не код писати. Хоча ніби “мови” й там, і там.

Також типова ситуація, коли хтось після універу хотів піти в розробники, але “тут на кафедрі пропонують аспірантуру” і людина думає, що після захисту дисертації в IT беруть відразу - то насправді дуже навряд. І крім втраченого часу ще є ризик назавжди загрузнути в тому всьому.

Аналогічний сценарій - хтось хоче “пробратися в IT якимось обхідним шляхом”. Наприклад, в розробники через тестувальника.

Насправді робота тестувальника і розробника перетинається хіба в області роботи з вимогами та й на стендапчиках їх можна побачити разом, але все інше - то окрема експертиза, опанування якої потребує значних зусиль, що до роботи розробника ніяк не наближають. Швидше навпаки - в якийсь момент стає зрозуміло, що перехід в розробники потребує значних зусиль і набагато простіше вже залишитися там де ти є, навіть якщо воно тобі не дуже подобається. Далі - привіт, вигорання і тому подібні наслідки.

Схоже буває з менеджерами - хтось доріс до керівника відділення банку і вирішив піти в IT. Наприклад, стати проєкт-менеджером. Це, звісно, можливо, але досвід роботи в банку “автоматично зарахований” не буде - робота PM сильно відрізняється від роботи в банку, бо розробниками насправді не дуже то й треба керувати. По-любому потрібно буде перевчатися.

До речі, раз говоримо за знаменитості, то не завадило б згадати Дієго Марадону - видатного футболіста і абсолютну протилежність у вигляді тренера. Достатньо згадати, що саме за його керівництва збірна Аргентини програла Болівії у 2009 році з розгромним рахунком 6:1. Це той випадок, коли експертиза фахівця не переноситься автоматично на роль вчителя/ментора/тренера. Хтось може бути першокласним футболістом чи розробником, але це не означає, що він може навчати інших.

Дійсно, щоб навчати теж потрібна окрема експертиза від професійних навичок. В мене багато історій, коли талановиті розробники невдало намагалися навчати “молодь”. Часто це закінчувалося повною демотивацією для обох сторін. Бо коли людина талановита від природи, вона просто не прощає іншим нездатності щось зрозуміти і тому подібне.
Але яка ж тоді експертиза переноситься? В першу чергу - це soft skills. Вони завжди важливі, і якщо ти гарний командний гравець, то з тобою завжди буде комфортно незалежно від галузі. Також, звичайно, навички комунікацій важливі, куди входить знання іноземних мов. Ну і звичайно вміння вчитися - є люди, що досить легко переходять між професіями чи опановують щось нове, цю навичку теж можна сформувати, і з нею не пропадеш. :)
На ДОУ на днях вийшла стаття про неуспішне менторство, раджу почитати, дуже корисно, у тому числі й коментарі https://dou.ua/lenta/articles/unsuccessful-mentoring-in-it/

У мене є що додати стосовно цього зі своєї сторони для того, хто хоче працювати з ментором. Для менторів зроблю окремий постик іншим разом.

Менторство - це особливий формат розвитку фахівця, до якого треба дозріти. Якщо людина ще лише починає вчитися, то їй потрібен не ментор, а курси. Там вона отримає структуроване введення в професію, буде розуміти її елементи, як взагалі має виглядати робота. Пізніше, коли вже є розуміння професії і виникає потреба у формуванні сталих навичок, гарних практик і тому подібного, зокрема на рівні підготовки до стажування, під час стажування чи роботи - саме тоді вже доречно переходити до формату менторства.

Якщо підписались на менторство, то завжди пам’ятайте, що це потрібно в першу чергу вам, а не ментору. Тому проявляйте ініціативу, не розраховуйте, що ментор буде як шкільний вчитель за вами ходити та нагадувати про завдання чи щось таке потрібне. Тут ініціатором та драйвером процесу маєте бути саме ви, як мінімум ментор буде відчувати, що воно вам потрібно. То не ображайтеся, якщо ментор про вас не згадує - швидше за все що згадує, але чекає, поки ви нагадаєте про себе.

Готуйтеся перед кожною зустріччю з ментором і навіть перед тим як задати питання. В принципі не треба боятися за “тупі питання” - буває що потрібна допомога з якимись елементарними речами і то нормально. Але якщо питання вирішується за 10 секунд щоб забити його в гугл і прочитати першу відповідь, то краще з таким не приходити. В навчальних цілях дуже корисно певний час “помучитися” з проблемою, і лише потім просити допомоги, тоді краще запам’ятовується. То якщо ментор скаже “загугли”, то ви, як мінімум, маєте сказати, що вже гуглити і попросіть погуглити разом :)

Взагалі, гарно поставлене питання само по собі вас розвиває як фахівця. Це зовсім не ок кинути скріншотом шматок коду з проекту і спитати чому не працює. Навіть у найкращих технічних людей в голові немає комп’ютера і ваш код вони не зможуть в ній прокрутити, особливо якщо ще й не видно інші частини проекту. Хочете запитати чому не працює код - не полінуйтеся закинути його в якийсь онлайн-сервіс (сендбокс), де його можна виконати. Весь проект туди тягнути не потрібно, достатньо окремої частинки, але з необхідними залежностями.

Майте на увазі, що мета менторства - це розвинути вас як фахівця, а не допомогти вирішити якусь конкретну поточну проблему. Гарний ментор не повинен за вас писати ваш код - тоді ви не навчитеся робити це самостійно. Він має спонукати вас до того, щоб ви навчилися робити це самі. Пам’ятайте про це. Відповідно звертатися до ментора тільки якщо щось не працює - це не є добре. Краще домовтеся з ним про якийсь план та етапи розвитку і рухайтеся по ньому, систематично. Звітуйте регулярно про свій статус, хоча б коротким повідомленням в чатику, це дисциплінує.
Сьогодні увечорі о 20:00 починається остання в цьому році група джедайського курсу з JavaScript і я хочу розказати його історію та новини, які чекають учасників.

Почнемо з того, що мені ніколи не сиділося в офісі, і років п’ять тому поставив для себе персональний рекорд, коли в подорожах і дистанційній роботі провів більше часу, ніж вдома у Львові. Вже в той час мені стало зрозуміло, що за ремоутом майбутнє і це чи не найбільний бенефіт роботи в IT.

Власне тоді я й почав активну роботу над “ідеальним навчальним курсом для онлайну”, вірячи що для майбутньої роботи в онлайні таким же має бути і навчання.

Курс був побудований на основі менторської програми, яку випробував на певній кількості людей і переконався, що вона працює. Цікаво, що з Назаром, першим падаваном, з яким ми йшли по програмі, перевиконали план, бо замість стажування його взяли на роботу.

Основна ідея полягала в тому, щоб надавати практичні завдання по всім темам JS і необхідну теорію для їх виконання. Причому основними є завдання, а не теорія, що наближає підхід до реальної роботи: маєш завдання, розбираєшся з ним і шукаєш способи його виконання. Робити завдання і опрацьовувати теорію можна в будь-який зручний час, головне встигати протягом тижневих спринті їх виконувати.

Такий підхід вирішує дві цілі: по-перше, працювати на курсі можна дійсно звідки і коли завгодно. А по-друге, курс дозволяє вирішити задачу формування навичок, чого не дає традиційний університетський підхід до навчання. Навички - головне в будь-якій професії, а вміння програмувати - в роботі розробника. Тому ми на курсі не просто вивчаємо JavaScript, а вчимося програмувати і оформляємо це у навички.

Стартував курс влітку 2019 року, за кілька місяців до ковіду. І дійсно такий формат роботи виявився оптимальним для онлайну, коли всі пішли на карантин.

З моменту запуску курсу його завершили сотні людей. Більшість з них зараз працюють розробниками, і вже далеко не джуніори. З багатьма тримаємо контакт і приємно дізнаватися, що саме цей курс виявився для них проривним. Зараз все більше людей приходить по рекомендації тих, хто завершив.

Курс постійно оновлюється і розвивається, враховуємо нові можливості JS та тренди написання коду.

Починаючи з поточного запуску є дві особливості курсу: по-перше, він став максимально дружнім для людей, що починають вивчати JS з нуля. Складніші завдання окремо позначені, їх можна пропускати. А по базовим темам дозняв і ще дознімаю відеоуроки. Також ми робимо додаткові консультації з розбором завдань та теорії. Хто вже з основами розібрався, може на це не витрачати час, і просто вирішувати завдання, що покривають фактично весь JavaScript як мову програмування.

По-друге, курс тепер дозволяє не чекати дати початку чергової групи, а повноцінно працювати над ним відразу після реєстрації. І хоча активна робота (онлайн-зустрічі) з групою проходить лише шеститижневими періодами чотири рази на рік, фактично навчатися можна нон-стоп.

З початком війни багато випускників пішли на службу і крім JS регулярно вирішуємо питання зі старлінками, дронами, генераторами і тому подібним. Нерідко допомагати потрібно вже не захисникам, а їх сім’ям, самі розумієте чому. З кожної платної реєстрації скеровую на ці потреби мінімум 1 тис. грн. Крім того, що намагаюся допомагати, я також тримаю ціну на курс, навіть даю знижки відносно повної вартості, для моїх підписників є додаткова знижка за цим кодом: JSFORCE

Також я бачу своїм обов’язком допомагати нашим воїнам та їх сім’ям не лише на фронті, а і у навчанні. Відповідно даю можливість пройти курс безкоштовно нашим воїнам, які демобілізувалися за станом здоров’я та хочуть спробувати себе у якості розробників, і членам родини загиблих воїнів - просто зв’яжіться зі мною, все влаштуємо.

Курс тут: https://sj42.programmingmentor.com