Programming Mentor
3.48K subscribers
161 photos
1 video
13 files
352 links
Ти живеш, поки вчишся
Download Telegram
Навряд чи я когось здивую прогнозом, що пандемія і глобальний карантин суттєво вплинуть на світ, яким ми його знали раніше. Звична реальність постраждає, однак це дасть можливість розвиватися світу іншому, віртуальному.
Запрошую прочитати мій лонг рід на тему https://programmingmentor.com.ua/vr/
Є одна тема, яку розробники часто уникають - це модульні (юніт) тести.
Взагалі не пригадую випадку, щоб хтось говорив, що любить писати тести більше ніж код. І це можна зрозуміти, бо тести задачу не вирішують, їх вирішує код.
Але тут є нюанс. Якщо ти пишеш код разом з тестами, чи навіть навпаки - спочатку тести, а потім код, то результат буде кращий - ти будеш писати лаконічніше, а головне - більш впевнено будеш почувати себе в тому, що ти зробив.
Проте часто люди не пишуть тести не тому, що не хочуть це робити, а просто не знають чи не вміють як. Однак насправді це зовсім нескладно.
Завтра я проведу практичний workshop, де ми почнемо писати тести в JavaScript за допомогою популярного тестового фреймворку jest, що по замовчуванню використовується в react.
Якщо ви хоч трішки знаєте основи JavaScript і можете написати найпростішу функцію, але не знаєте, з чого почати тестування, то завтра на практиці ми з цим розберемося. Почнемо з того як встановити та налаштувати jest, потім зробимо кілька тестів, розглядаючи практичні сценарії використання jest, на практиці вивчаючи його можливості.
Особисто від мене промокод на знижку 15%, доступний лише на перші п'ять реєстрацій, використовуйте цей код: JEST
Лінк на workshop: https://www.facebook.com/events/654570761984232/
По матеріалам воркшопу, який я проводив по модульному тестуванню з Jest, зробив статтю, де покроково знайомимося з фреймворком, починаючи з його інсталяції та мінімального налаштування https://programmingmentor.com.ua/jest-intro/
В футері статті є лінк на репозиторій з кодом.
You are welcome :)
Forwarded from Angular Stream
Тут будуть відео з лайфстріму на фейсбуці, тому майте на увазі;)

Functional JS using Folktale and Ramda - https://www.facebook.com/TechMagic.co/videos/2327174850903283/
How to run your Angular app inside the biggest CRM. First steps with Chrome extension and Angular Elements - https://www.facebook.com/TechMagic.co/videos/2502539656424056/

Serverless:
Building serverless applications with reusable Serverless Components - https://www.facebook.com/TechMagic.co/videos/2193246187564326/
Serverless Workflow Management with AWS Step Functions - https://www.facebook.com/TechMagic.co/videos/2193112974244314/
Getting started with Serverless on AWS - https://www.facebook.com/TechMagic.co/videos/2193130147575930/

Запис виклaдено за підтримки TechMagic #serverless #angular #functional_programming #advanced
На ДОУ зарядили звіт в новому форматі з веселою інфографікою.
Багато цікавих речей. Зокрема Львів знову додав у відсотках загальної кількості IT-фахівців - з 12% то 15%.
Частка продуктових компаній досить велика - 28%. В той же час аутсорс плюс аутстаф - 54%. Тобто з трьох розробників один в продуктовій, і це дуже непогано насправді, це позитивно впливає на ринок праці загалом.
Ще така інфа цікава: кожен третій розробник має плани щодо власного проекту, а кожен четвертий уже реалізував задумане. Це насправді досить мало, бо щоб розвиватися, треба постійно пиляти якісь свої pet-проджекти.
Ну і нарешті ще таке - з профільною освітою 56% людей. Тобто майже кожен другий - це свічер, чи той хто зайшов в IT через курси без традиційної вузівської освіти. І для вузів це насправді поганий знак - бо все більше людей розуміє, що є інші способи для того щоб йти працювати, не втрачаючи п'ять років життя невідомо на що.
https://dou.ua/lenta/articles/portrait-2019/
Просто бімба, а не стаття!
Колишній депутат ВР розказує про свій досвід входження в IT у якості розробника.
Подолав шлях з нуля менш ніж за рік, і це все у віці 40+ та в оточенні, що не розуміло, навіщо йому то треба.
Детально описано шлях, багато речей цілковито збігаються з тим, як я сам раджу навчатися, розвиватися та ставитися до професії.
Деякі фрази ну прям 1-в-1 збігаються з тим, що говорю я - і про те, що треба стукати в усі двері, і те, що рано чи пізно шлях подолаєш, головне по ньому йти крок за кроком, але робити це досить інтенсивно, під тиском. І те, що найприємніше в цій роботі - це отримувати задоволення від того, що знайшов рішення.
Буду показувати всім, хто у віці 30 років починає розказувати, що вже пізно. Той випадок, коли щоб стати, треба захотіти, але захотіти по-справжньому.
https://dou.ua/lenta/interviews/sobolev-from-politics-to-it
На ДОУ вийшла моя чергова стаття, цього разу про онлайн-навчання в IT.
Дуже раджу прочитати її, свої відгуки можна залишити в коментарях, цікава ваша думка. Там неслабо почало пригорати у декого, все-таки тема всім близька :)
То власне стаття та в значній мірі транслює моє бачення того, як має виглядати сучасна онлайн-освіта в IT (а оскільки так виглядає, що поступово освіта йде в онлайн, то можна говорити про освіту найближчого майбутнього загалом).
Деякі ключові твердження:
1. Щоб отримати роботу не треба роками вчитися у виші, має вистачити часу до одного року інтенсивного навчання. Але для цього потрібно, щоб навчання формувало навички, які можна використати в роботі, те що зараз називається "job ready skills".
2. Після отримання першої роботи справжнє навчання лише починається, але саме тоді, маючи роботу і застосовуючи знання на практиці, людина буде максимально ефективно прогресувати.
3. Автор курсу має відмовитися від самостійної розробки всіх матеріалів, йому слід постаратися використати найкращі матеріали, доступні онлайн. Тоді він перестане бути слабкою ланкою, а навпаки зможе з'єднати разом сильні.
4. Ментор має встановити персоналізований зв'язок зі своїми підопічними і не просто вчити їх, а скеровувати, надаючи підтримку будь-якими можливими способами. Бо навчання це лише складова професійного розвитку, треба розглядати питання максимально широко.
5. Велике значення в навчанні має спільнота. Люди - істоти соціальні, приналежність до групи зі спільними інтересами дає особливу цінність.
6. Виші мають трансформуватися кардинально, або помруть. Бо навчати так швидко, як розвивається IT вони просто не здатні, це видно чим далі, тим більше. Але потенціал у них дуже великий, тут швидше мова про те, які з них виявляться успішнішими за інших.
https://dou.ua/lenta/articles/online-education-in-it/
​​Сьогодні о 18:00 запрошую на вебінарчик, де визначимося з найкращою мовою програмування. Проводити буду я, реєстрації не треба, під'єднуйтеся прямо по лінку в зум (лінк на кнопочці).
💻Вже кілька років JavaScript є незмінним лідером серед мов програмування на гітхабі, і я особисто тривалий час рекомендую його як першу мову для вивчення.
💻Сучасний JavaScript - це красива і елегантна мова, яка відрізняється особливою гнучкістю. В цьому є переваги й недоліки. Переваги в тому, що з неї дуже просто почати, особливо якщо ти не програмував до цього ніколи взагалі. Але є і інша сторона - завдяки гнучкості код можна писати по-різному, не розуміючи до кінця деталей реалізації дуже просто вистрілити собі в ногу.
💻 Майже рік як я проводжу свій авторський курс ScriptJedi42, де у невеликих групах в онлайн-форматі за 42 дні ми вивчаємо весь сучасний JavaScrtipt як мову програмування, і не просто теоретично, а формуємо навик, пишучи багато коду, кожен рядок з якого я особисто переглядаю і даю свої коментарі. Також всі завдання перевіряються автоматично на коректність, а теорія доступна у формі коротких відео, які можна проходити у довільному темпі.
💻За цей час курс встигло завершити досить багато людей, і успішно використати здобуті знання та навички на практиці.
💻Курс проходить раз на кілька місяців, чергова група стартує вже найближчого понеділка, 20-го липня, залишаються лічені дні.
💻Для своїх підписників я даю купон на знижку 1 тис. грн від поточної ціни на сайті для варіанту курсу "ДЖЕДАЙ", яка теж зі знижкою. Купон буде діяти обмежений час, не відкладайте.
💻Код купону, використовувати під час оплати через сайт: JSFORCE
💻І хай прибуде з вами Сила!
Сайт курсу: https://sj42.programmingmentor.com/
Привіт-привіт! Чи чули ви про експертів з Lean Web? Сьогодні на Smashing Magazine вийшов черговий подкаст за участі саме такого експерта - Кріса Фердінанді, де він розказує про недоліки сучасної веб-розробки, куди вона рухається і як це пофіксити.
Цікаво, що я особисто ще у 2018 році почав серію виступів на тему "Make Web Great Again", де саме про це і говорив. То слід дописати собі Lean Web Expert теж.
Сьогодні, менш ніж за пару годин, а якщо точніше, то о 19:30 за Києвом буду проводити вебінарчик для початківців про стан веб розробки у 2020, приходьте, буде цікаво :)
Прямий лінк на трансляцію: https://youtu.be/w0oVOMfNYMU
Лінк на подкаст, який я згадував: https://www.smashingmagazine.com/2020/07/smashing-podcast-episode-21/
Стосовно подій в Білорусі та IT. Оскаженілий бацька не зрозумів, що не можна в 2020 році публічно ламати кінцівки і розбивати голови своїм громадянам. І головна причина не в тому, що людство стало якось гуманніше, а тому, що завдяки досягненням IT тепер кожен може все це зафільмувати та поширити назагал. Бо одна справа - це вбивати та знущатися десь по-тихому, а інша - коли бачить весь світ.
Невідомо, чим ця ситуація завершиться, але якщо диктатору якось вдастся втримати владу, то це грозить катастрофою для цілого народу. Гарантовані санкції, ізоляція і тому подібне. Є шанс збудувати Північну Корею прямо в Європі.

У цій всій історії мене особливо хвилює доля білоруського IT - з першими заворушеннями і перебоями роботи мережі відразу почалися проблеми з клієнтами, які небезпідставно почали хвилюватися.
Це все нагадує події в Україні у 2014-2015 роках, коли клієнти в паніці відкликали проекти, і не лише з Криму, який опинився під санкціями, а навіть з тих міст, де все було спокійно, хоча тоді об'єктивних причин особливо не було, як мінімум, інтернет на рівні країни не вимикали.

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

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

Тому декілька важливих рекомендацій - можливо комусь будуть здаватися дуже банальними, але не завадило б перевірити, чи дотримуєтеся їх:
- слід постійно вивчати та вдосконалювати іноземні мови, зокрема англійську, але можна не лише її одну, бо вивчити чергову мову програмування чи якийсь фреймворк можна за лічені тижні, а людську мову - навряд;
- треба слідкувати за тим, щоб технічні навички, які можна зазначити в резюме відповідали потребам ринку, бо в IT все застаріває дуже швидко, і легко застрягти на якомусь проекті з неактуальними технологіями на кілька років та опинитися в ситуації, де практично немає вакансій під конкретний skill-set, навіть якщо він прокачаний до експертного рівня;
- прокачуйте софт скіли, бо іноземцю складніше працевлаштуватися та інтегруватися в інше культурне середовище, а тому треба бути на голову вище за інших в цьому питанні;
- треба періодично проходити сертифікації та оновлювати резюме і профіль в лінкедіні, створювати мережу контактів, навіть якщо зараз вони ніби й не потрібні, але коли прийде "година X", то робити це вже може бути пізно.

Ну і оскільки я сам мав досвід релокації в критичній ситуації, то можу порадити приймати рішення швидко і не чекати поки ситуація вирішиться остаточно, бо сценарій виїхати, а потім повернутися, кращий за той, коли виїхати стає нереально взагалі.
Залишилося менше години до представлення першого досягнення чергового проекта Ілона Маска - ікони сучасного хай-тек бізнесу.
Самокеровані електромобілі, ракети, що повертаються на земплю, супутники для швидкого інтернету, підземний тунель для транспорту та гіперлуп - кожен з його проектів сам по собі тягне на фантастику. Але мене особисто не залишає у спокої один конкретний проект, про який говорять не так часто - це Neuralink.
По ідеї сьогодні мають представити пристрій для повернення людині органів відчуття.
Але то лише перший крок. Надалі має бути цікавіше, і слід очікувати якісь можливості не просто для відновлення втрачених можливостей організму, а для розширення існуючих. Наприклад, розширення пам'яті, пряме підключення в інтернет і тому подібне. Якщо навчитися передавати інформацію з зовнішніх датчиків, то робота з усім іншим - то вже чисто техніка.
І тут філософське питання - що буде далі, як воно буде поширюватися серед людей? Я особисто не в захваті від імплантів в мозок, але ситуація виглядає таким чином, що процес цей не спинити - якщо це даватиме якісь переваги у навчанні, в роботі, в кар'єрі, в оплаті праці і т.п. - то люди почнуть їх ставити, і це буде лише питання часу, коли такі "модифіковані" люди опиняться в більшості, а "звичайні" - в меншості.
Надалі ще можна розвити тему в такому руслі, що ті імпланти будуть давати різні можливості в залежності від того, скільки він буде коштувати.
Це лінк на стрім, ця ніч обіцяє не бути нудною: https://youtu.be/DVvmgjBL74w
Для тих, хто не встиг подивитися презентацію Neuralink - показали дійсно вражаючі речі:
- практично готовий для використання компактний пристрій, що інвазивно імплантується через отвір у черепі прямо у людський мозок;
- пристрій має розміри 23 на 8 мм та буде майже невидимий після інсталяції;
- має 1024 канали, що десь в 10 разів більше за розробки конкурентів, передає інформацію та заряджається бездротово;
- інсталюється за допомогою спеціально створеного для цього робота менш ніж за годину;
- робота пристрою була продемонстрована на свині, яке вже носить той імплант два місяці;
- наступний крок - тестування на людях, яке почнеться дуже скоро.
І так, Маск підтвердив, що то лише перші кроки, вони полягають у відновленні втрачених можливостей, але далі дійсно буде робота над розширенням здібностей людини: зовнішня пам'ять, додаткові сенсори, і т.д. і т.п. Повністю переглянути презентацію можна в записі по лінку в моєму попередньому повідомленні.
Бувайте, останнє покоління немодифікованих людей.
256-й день року - це День Програміста. Вітаю всіх причетних зі святом!
Саме час визначитися з питанням - коли людина може вважати себе програмістом? Тоді, коли закінчила курс чи виш і отримала сертифікат чи диплом? Чи коли може "напрограмувати" хоч щось по якомусь туторіалу? Чи лише тоді коли вона заробляє програмуванням гроші? А як же ті, хто роблять це безкоштовно? Пропоную свою відповідь
https://youtu.be/YeDU3P5WCd8
Про обмін досвідом. Кінець 1990-х. Працював я в невеликій команді, системи контролю версій не було. По понеділках ми зливали проект до купи. Виглядало це таким чином, що підсажувалися по черзі до одного досвідченого розробника і разом з ним додавали зміни в його копію проекту, використовуючи diff. Фактично на те йшов один день, протягом нього фічі не створювали. В кінці дня отримували проект зі змердженими змінами, на основі якого додавали фічі чи правили баги до наступного понеділка. У порівнянні з сучасним гітом то виглядало непродуктивно, але насправді той понеділок був супер корисним, бо це виглядало навіть не просто як code review, а більше як парне програмування, протягом якого ми обмінювалися досвідом. Коли ввели систему контролю версій, то понеділки ті звільнилися, але загалом команда в чомусь втратила. То шукайте будь-які можливості обмінюватися досвідом :)
Існує багато історій про вхід в IT, але не так часто зустрічаються про вихід.

Днями на DOU вийшла стаття дівчини, яка відчувала себе нещасливою в IT (до речі, займалася фронтендом) та вийшла з галузі з полегшенням.

Цікаво і корисно її прочитати тим хто вже в IT, і тим, хто туди лише прямує.

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

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

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

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

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

Лінк на статтю - під дописом.
Побачив недавно статтю "як виявити проблемного замовника"? Пропонують виявляти манеру спілкування, відмову комунікувати через email, виявляти маніпуляції і тому подібне. Відтверто говорячи - повна маячня, навіть лінк не хочу на те давати. Просто поділюся власним досвідом.
Часто дивні в комунікації люди є нормальними замовниками, і навпаки.
Є просте правило - правий той, у кого гроші. Тому якщо ви вже маєте якесь ім'я, то працюйте на умовах авансу чи попередньої оплати, хай не за весь проект, а якісь частини.
Завжди простіше у проблемних ситуаціях повернути гроші замовнику, ніж потім ганятися за ним і їх вибивати.
Щоб дати вам цю пораду, я здобув сивину на голові, коли мені ще не було 25. Так що цінуйте 🙂
Наочне пояснення, чому в JS слід використовувати для перевірки на рівність "===", а не "=="