Programming Mentor
3.49K subscribers
165 photos
1 video
13 files
357 links
Ти живеш, поки вчишся
Download Telegram
Попалася сьогодні просто шикарна стаття на dou.ua про підготовку до інтерв'ю в google: https://dou.ua/lenta/articles/google-interview/ 👍
Цікаво, що мої власні думки стосовно того, як треба правильно вчитися програмуванню у значній мірі співпадають з наведеним в статті.
Щоб навчитися програмувати - треба навчитися розв'язувати задачі, робити треба це по зростаючій складності і паралельно вчити алгоритми і можливості мови програмування, яку ти використовуєш.
Саме так, через практику, систематично ти змошеш вирости як розробник до такого рівня, коли зможеш працювати у визнаній компанії.
Нерідко доводиться зустрічати людей, які цього не розуміють і не хочуть слухати - замість того, щоб вчити програмування, вони хочуть вчіти фреймворки. У багатьох випадках з цього нічого доброго не виходить - фреймворки теж треба вчити, але робити це після того, як ви досить впевнено можете жонглювати даними, орієнтуєтеся в алгоритмах, а також на достатньому рівні володієте хоча б однією мовою програмування.
Аплодую автору стоячи :) 💪 В самій статті є кілька корисних посилань, зокрема на гугл-док по алгоритмам.
Додатково до тих ресурсів, які назвав автор, я би рекомендував тренуватися на CodeWars - просто шикарна платформа, щоб вирішувати алгоритмічні задачки.
Доєднуйтеся за цим лінком, вступайте в клан "programming mentor" будемо там дружити :) www.codewars.com/r/AcU3CQ
Нарешті з'являються перші проекти з підтримкою WebAssembly. Microsoft випускає експериментальний фреймворк Blazor, тепер у JavaScript на фронтенді з'являється конкуренція. Ось покроковий туторіал по Blazor: https://blogs.msdn.microsoft.com/webdev/2018/03/22/get-started-building-net-web-apps-in-the-browser-with-blazor/
Цікава стаття про Стокгольмський синдром від JavaScript: https://medium.com/@s_27669/i-am-definitely-maybe-suffering-from-javascript-related-stockholm-syndrome-47ef4aecbb1a
Сильно нагадує власні відчуття: перше знайомство з JS десь у кінці 90-х запам'яталося відчуттям недосконалості і якоїсь неповноцінності мови.
Потім доводилося потроху використовувати її, але відчуття не змінювалося. Серйозно повернувся до JS вже на початку 201X-х - сама мова по суті не змінилася, вона лише сильно додала в популярності. Довелося по-новому переосмислювати її, навіть почалося з'являтися відчуття, що вона мені подобається за простоту і геніальність деяких рішень.
Потім в 2015 вийшов новий стандарт, і на старому фундаменті заблищав новий фасад. Зараз JS у 2018 це зовсім не та мова, що була в 90-х. Це красива, сучасна і елегантна мова. Багато вчив різних мов програмування, але схоже що JS моя улюблена серед них. Дійсно вона є very human - недосконала, але ж і ми такі. Мабуть у мене дійсно Стокгольмський синдром :)
Нещодавно оновився популярний front-end developer roadmap - дуже раджу ознайомитися не лише тим, хто навчається і шукає роботу, а й тим, хто працює веб-розробником. Як завжди на фронтенді все швидко оновлюється і розвивається. https://medium.com/tech-tajawal/modern-frontend-developer-in-2018-4c2072fa2b9c
Особливо порадувала картинка про криву вивчення Angular vs. React :)
React vs Angular learning curve :)
Сьогодні я на Google Assistant Meetup. Тема - голосовий інтерфейс користувача - VUI. Тема для мене нова, дуже цікаво. Пам'ятаю кілька епох, коли інтерфейси змінювалися - спочатку від консолі переходили до GUI на десктопі, потім з десктопу на веб, далі на планшети/смартфони, але то все було GUI. В VUI звичні речі треба переосмислювати. Кому цікаво - у Гугла є гарні доки по темі: https://developers.google.com/actions/design/principles
Є така думка, що тяжко вчити лише першу мову програмування 🤓
Але знаю людей, що більш-менш вивчили одну, а потім застрягають в ній на все життя. Звісно так не має бути - вчити нове треба постійно, якщо ти закриваєшся від нових знань, то починаєш деградувати.
Ось цікавий систематизований підхід як вчити нові мови програмування: https://dev.to/pedromsantos/learning-a-new-language-2k97
Власне алгоритм простий, виклам його у власній інтерпретації:
- спочатку визначаємо, що саме треба вчити - тут варто не розтягувати на довго муки вибору;
- далі починаємо вчити, але не абстрактно, а прокачуючись на простеньких тренувальних задачках, тут дуже рулить Codewars (якщо не маєте екаунту - реєструйтесь за цим лінком, будемо дружити: www.codewars.com/r/AcU3CQ);
- потім починаємо робити якийсь проект, тут важливо, щоб вас міг консультувати якийсь досвідчений наставник, тоді процес буде рухатися значно швидше.
В суботу на Google Assistant Meetup закодив ботика з VUI (писав про те), поки робив його, записав весь процес на відео, закинув на свій канал.
Ось тут детальніше, можна подивитися в дії: https://programmingmentor.com/post/dialogflow-bot/
Дозволяє повернути поточну ціну біткойна і загальну кількість біткойнів.
Було цікаво, напрям для мене новий, але боти і VUI зараз досить гаряча тема.
З появою ключового слова "class" в ES2015 здається, що JavaScript нарешті має звичайні класи, що й інші мови програмування. Але насправді не все так просто, ось гарна стаття на тему: https://medium.com/@parsyval/javascript-prototype-vs-class-a7015d5473b
Є така дуже цікава платформа для навчальних курсів - Scrimba. Цікава вона тим, що подає заняття в моєму улюбленому форматі скрінкастів. Але відрізняється від традиційних скрінкастів тим, що на екрані показується не відеопотік, а редактор коду, причому код з нього можна копіювати і навіть змінювати та дивитися на результат у вікні браузера. Це просто фантастично зручно, можна сказати - новий рівень в скрінкастах для фронтенду. Ось для прикладу курс по Bootstrap 4: https://scrimba.com/g/gbootstrap4
Маю чудову новину - до 10-го квітня безкоштовно доступні всі скрінкасти Гаррі Бернхарта, автора відомого відео "WAT JS". Гарі один з найбільш шанованих ентузіастів у світі програмування, його скрінкасти охоплють купу тем: від роботи з git до розробки власного компілятора. Ось лінк на каталог https://www.destroyallsoftware.com/screencasts/catalog. А це лінк на WAT, якщо ще є люди, що його не бачили: https://www.destroyallsoftware.com/talks/wat
Тема статичних сайтів є вельми гарячою зараз. Вони швидкі, надійні, позбавлені багатьох недоліків використання CMS. Однак іноді для їх побудови використовуються не зовсім простий набір технологій. На Smashing Magazine вийшла цікава стаття про побудову статичного сайту з використанням доволі простого для освоєння шаблонізатора Nunjucks: https://www.smashingmagazine.com/2018/03/static-site-with-nunjucks/
Схоже у веб-розробці спостерігається черговий "Next Big Thing" - на заміну Responsive Web Design починається рух у напрямку Intrinsic Web Design. Якщо простими словами, то це подальший розвиток responsive, але більше орієнтований на подачу контенту у максимально зручний спосіб, що стали можливим в першу чергу завдяки CSS Grid. Ось кілька лінків по темі:
https://www.helixeducation.com/resources/blog/move-responsive-web-design/
https://css-tricks.com/new-css-features-are-enhancing-everything-you-know-about-web-design/
https://adactio.com/journal/13671
Дуже цікава річ - крупні IT компанії України зробили узагальнений документ з вимогами до джуніорів. Є різні напрямки - Front-End, Java, .Net, QC. Зазначено не лише hard skills, а й soft skills https://drive.google.com/file/d/1WGoWQaD3eCVn68zmMgQy2upwGQ7jkUXu/view
Якщо ви часто робите CSS-верстку, то маєте знати про таке розширення для Chrome - http://pesticide.io, воно дозволяє обвести кольоровою рамкою кожен елемент сторінки.
Цікаво, що у відомого розробника з Google Addy Osmani на гітхабі є сторіночка, де зібрані варіанти коду, що роблять те саме і займають лише кілька десятків байт, достатньо скопіювати і запустити в консольці: https://gist.github.com/addyosmani/fd3999ea7fce242756b1
Цікавий запис подкасту російською мовою з одеситом Олексієм Скутаренко, який зараз працює розробником в Google 🕶: https://soundcloud.com/podlodka/podlodka-6-voyti-v-it-s-alekseem-skutarenko
Олексій відомий тим, що створив досить популярні безкоштовні російськомовні онлайн-курси по розробці для iOS. 📱
Подкаст буде актуальним не лише для початківців, а і для розробників з досвідом, причому незалежно від стеку технологій.
Олексій цікаво розказує про:
⌨️ те, як правильно навчатися
⌨️ як розвивати свої навики
⌨️ чому інженеру немає значення, на якій мові програмувати
⌨️ як знайти роботу за кордоном
⌨️ яким має бути резюме
⌨️ відмінності в софт-скілах, і як їх правильно прокачувати
Дуже цікава статистика стосовно того, яким чином джуни в Україні знаходять роботу. Виявляється через навчальні центри IT-компаній роботу знаходять 50% людей, а в деяких крупних компаніях через них йдуть 80-100% джунів. Звідси важливий висновок, для тих, хто шукає пряму дорогу - вона є, треба нею йти :)
https://dou.ua/lenta/articles/juniors-2017/
Задумайтесь, наскільки влучною є фраза про те, що людину визначає її образ життя. 😱
Ми щось постійно дивимося і слухаємо, і якщо це якийсь неконтрольований потік інформації, то він так же некотрольовано осідає в нас. Ще гірше, коли ми самі занурюємо себе в "неправильне" середовище, і замість чогось корисного свідомо заливаємо в себе інформаційне сміття. 🙈
Однак для того, щоб успішно навчатися і розвиватися, слід зануритися у корисне і продуктивне середовище, і зробити це нескладно: підбираємо корисні канали на ютубі, подкасти чи аудіокнижки, і стараємося вмикати їх завжди, коли виявляється вільна хвилина, чи нас ззовні починають засипати інформаційним сміттям десь у транспорті. Навіть якщо воно буде десь у фоні, то підсвідомість завжди зможе вихопити щось корисне.
Ось вам кілька корисних ресурсів, спеціально даю англійською мовою, бо без англійської розробнику ніяк, тому відразу йде прокачка 2-в-1. 😜
Почнемо з відео:
🎥 Fun Fun Function - словами самого автора: "це не туторіали і не курс - це шоу" - розказує дуже весело про складні теми, дуже подобається, як він це робить, запросто по цим відео можна вчити JavaScript;
🎥 DevTips - хоча канал існував давно, але з 20-го квітня цього року він перейшов до власників попереднього (їх два насправді) і позиціонується як канал для початківців;
🎥 Комп'ютерофілія - це пізнавальний канал, щось типу Діскавері, але для IT;
🎥 The Coding Train - незважаючи на не надто серйозну подачу матеріалу, веде канал цілий професор, який навчає складним темам в програмуванні у досить достіпній формі.
Тепер кілька аудіоподкастів:
🎧 The Full Stack Radio - подкаст для full-стек веб-розробників
🎧 The Changelog - подкаст про світ програмування open source, розмови з відомими в програмуванні людьми;
🎧 Start Here - подкаст орієнтований на початківців і фрілансерів, розглядається багато питань стосовно проходження інтерв'ю, правильного розвитку і навчання
Свої улюблені канали і подкасти додавайте в коментарі - цікаво