HackIT-2017 - Форум по кибербезопасности - защити свой код, проект, бизнес. Харьков, 23 сентября
×Закрыть

Перші кроки у програмуванні: поради початківцям

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

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

Image Source

Перевірка знань

Почнемо з бази, щоб переконатися, чи немає у вас прогалин в елементарних речах. Спробуйте розв’язати 150 простих задач на leetcode.com/problemset/algorithms чи на аналогічному сайті. Цього буде достатньо.

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

Наступний етап — об’єктно-орієнтований дизайн. Вміння застосовувати підходи ООП є обов’язковим, без цього не обійтися. Програмісту потрібно знати, причому з власної практики, як розбити програму на модулі, як уникнути хаосу, як рефакторити спагетті-код, як написати зручний API. Чи маєте ви відчуття «правильного» коду? Чи вмієте вести розробку по методології TDD? Якщо так, йдемо далі. Якщо ні, то варто пройтися по шаблонах проектування та прочитати класику GoF. Дуже рекомендую «Clean Code» Роберта Мартіна.

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

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

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

Далі — проекти

Необхідно, щоб на інтерв’ю вам було чим похвалитися перед роботодавцем. Бажано продемонструвати декілька виконаних вами проектів із використанням актуальних/популярних фреймворків. І це повинно виглядати круто, щоб ви змогли вразити інтерв’юера. Авжеж, написання проекту займе певний час — розраховуйте місяці на три. Для цього краще знайти команду таких, як ви, або хоча б одного напарника. Ви будете один одного мотивувати, це важливо.

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

Ментор

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

Як знайти ментора? Перший варіант — звернутися до кар’єрного консультанта, який має контакти та залюбки вам допоможе. Інший варіант — піти на зустріч програмістів за цікавою вам тематикою та запропонувати експерту бути вашим ментором або попросити його порекомендувати знайомого спеціаліста. Не всі погодяться, але ніхто не битиме вас за просте запитання. У студентів вишів та курсів ментор за замовчуванням вже повинен бути. Всі перелічені варіанти не безкоштовні, єдине виключення — ваш хороший знайомий тімлід.

Співбесіда

На цьому етапі треба бути готовим відповідати на рекрутерські/менеджерські питання. Лідером тут є Amazon. Вони самі розробляють багато методик/тестів для перевірки персональних якостей. Просто вбийте в пошук Behavioural Questions та Attitude Questions. Якщо ви почуєте такі питання вперше і спробуєте імпровізувати, шанси на успіх будуть досить низькі. Ментор на цьому етапі вам би теж не завадив. Причому той, що успішно пройшов десятки подібних співбесід.

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

Між іншим, кількість спроб у кандидатів на посаду джуніора сильно обмежена, адже роботодавці на вас іще не «полюють». Тому не варто марнувати жодної зі спроб.

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

47 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

«Теорія швидко забувається, а практичні навички лишаються»
— дуже сумнівне твердження, бо усе забувається.
Але я навіть не про це. Я ще не зустрічав навчальних матеріалів без практики. Та й теорія це усього лише опис практики.
Можливо ви кажете про якусь там загально наукову теорію — так необхідності вивчати її немає жодної.
Я от нещодавно пробував розібратися, що таке «dependency injection» у загальнотеоретичному значенні — витратив багато часу, але толком так і не зрозумів що це і для чого вона — ця теорія мені потрібна. Але на прикладах застосування у JavaEE мені усе зрозуміло.

Итого:

1) Научится решать алгоритмы. Вот есть сайтик leetcode.com/problemset/algorithms (к слову, спасибо за ссылку, было полезное полистать задачки для самопроверки)
2) Сделать пет-проект: dou.ua/...​ta/articles/pet-projects
3) Наконец-то выучить английский. Курсы, чтение книги, сериалы смотреть только с сабами, а не в переводе.
Или пройти planescape torment без переводчика в оригинале. (к концу прохождения если есть задатки к языкам английский будет вполне себе выше среднего — у меня так коллега английский вполне сносно для работы выучил)

Практику можна отримати на курсах програмування
До речі, не рекомендую йти на курси англійської

Щось ви не дуже послідовні.
P.S.: можливо, першими кроками має бути саме отримання знань, а не їх перевірка і написання проектів?

P.S.: можливо, першими кроками має бути саме отримання знань, а не їх перевірка і написання проектів?

Я за перехід від практики до теорії, а не навпаки.

Ви пропонуєте спочатку поїздити по місту, а в же потім вчити правила дорожнього руху. Це -
утопія.

Як один із студентів подібних курсів, які пропонували «максимум практики», можу вас запевнити, що подібні «методики» в кращому випадку дають тимчасовий приріс мотивації (для самоосвіти) і фальшиву впевненість у своїх власних силах (яка швидко розбивається об реальність, бо перше, що перевіряють на співбесіді — теоретичні знання!!!), в гіршому — розбиті надії або просто «марна трата часу» і коштів, але аж ніяк не знання.
В підсумку виходить як в анекдоті «Я знаю джиу-джитсу(JavaScript), дзюдо (Java), самбо (C#)... та багато інших страшних слів»

С другой стороны, есть куча теоретиков после курсов, но без практических проектов их никуда не берут..

Мне почему-то кажется, что статья такая же заказная как реклама в метро этих курсов.

а я смотрю вы всем глотки выгрызаете за свою правду:)

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

В цілому хароша стаття, але з цим абзацем я не згоден. Я вчився грі на фортепіано: навіть клавіатури в нього і в компа різні :8) Так, для того аби програти стару мелодію або набрати текст, досить того, що «пальчики пам’ятають». Але якщо джуну показати один раз, «як написати зручний API» для морського бою, і не пояснити чому саме так а не інакше, то наступний зручний API для шашек чи чапаєва писати йому будете також Ви, і так, допоки він сам не виведе для себе емпіричні закономірності. Тому правильно сказати, що «всі ваші знання повинні базуватися на теорії і бути [дуже бажано] перевірені на практиці». Зрештою, задача в т.ч. і курсів — не навчити клієнта програмувати мєтодом пальчикової пам’яті («в принципє, і зайца можно научіть куріть», угу?), а викласти йому ази і навчити самостійно вчитись програмувати надалі, на жаль — на протязі всього життя :8)

Ок, інший приклад. Всі діти вивчають першу мову від батьків, дуже легко, швидко, без граматики і теоретичних основ. І результат 100%! А дорослі ходять все життя на курси англ., де все базується на теорії і без результату. Може треба брати праклад з дітей? і йти від практики до теорії а не навпаки?

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

Не смішіть. Шо саме вони вивчили за 5-6 років? п’ять тисяч словарного запасу і те, як піська називається. А потім, якщо в школі на теорію і правила забили, в тому ж таки слові з трьох букв роблять три помилки :( І Ви збираєтесь на такому рівні вчити «вайті вайті» ?!?

Задовго до нас стверджувалось, що «теорія без практики мертва, практика без теорії сліпа». Якщо Ви вважаєте, що лохів, які заплатять за сліпоту, все ще більшість, пробуйте; а я чіста для інфи назву контори занотую... :8)

Всі діти вільно говорять першою мовою! Факт! Англійською в нас люди говорять жахливо. Теж факт! У перших результат кращий. Відповідно і метод вивчення кращий! З чим ми сперечиємося?
Ви пробували вчитися плавати по книжкам базуючись на теоретичні основи?

У перших результат кращий. Відповідно і метод вивчення кращий! З чим ми сперечиємося?

З Вашою логікою. Дитина всього-навсього вільно говорить обмеженим запасом слів, але не вміє читати-писати, практично не знає спеціальних слів і термінів. То чому Ви вважаєте, шо 6-річний малюк краще знає рідну мову, ніж Ви — англійську? Потім, Ви ж навряд чи хочете стверджувати, шо навчите своїх учнів програмувати на рівні, аналогічному як розмовляє дошкільник ;) ?

Ви пробували вчитися плавати по книжкам базуючись на теоретичні основи?

Мені аж стало цікаво, як вчились плавати Ви :). Я особисто, класі в другому-третьому, вислухав тренера біля басейну, потім подивився які він показує вправи, повторив за ним, подихав в воду, а потім сам почав у воді шось ізображать, намагаючись робити це правильно, як вчитель показав. І двох синів я вчив так само: спочатку розказував і показував, потім підтримував на воді, потім плив з ними поруч і казав «роби як я», і тільки потім — фпірьод! за буйки. Думаю, так краще ніж по-собачому. Погодьтесь, починається все з невеликої, але теорії. Так з чим ми сперечаємось :) ?

По-друге, здається я Вас зрозумів; ключ — у словах «вчитися по книжкам». Для мене повний цикл навчання виглядає так: ввідна теорія на тому рівні, який на сьогодні доступний для учня — практика — закріплення набутих знань питаннями і книжками. Звичайно, як окремий випадок, людина, яка вже наприклад знає основи інформатики, не потребує пояснення, що таке алгоритм і може одразу малювати блок-схему чи писати простий код. Але Ви здається не м-м-м маєте наміру витрачати зайвий час на розжовування теорії взагалі :( В книжках канєшно є все, але ж досить часто матеріал викладений на рівні, який без попередньої підготовки студент не здатен осягнути самостійно (див. тут відгуки про Мартіна). Ви ж самі говорите про ментора, але очевидно ані Ви, ані Ваші співробітники [ якщо вони є :) ] не будуть такими для Ваших студентів — ?!
Сорі, те, що Ви пропонуєте ІМХО — не є викладання (рос. — «преподавание») матеріалу чи навчання. Це в кращому випадку натаскування на певний, досить вузький, результат.

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

Коли я переїхав в Штати, я зрозумів, що англійську не знаю, тому що неправильно вчив. Хоча в Україні кожен день спілкувався з носіями мови. Моя 4-річна племінниця у вивченні мов мене обігнала. А за скільки б ви вивчили французьську?

спочатку розказував і показував

Насправді це і є єдиний метод вивчення — копіювання поведінки. По прикладах. Те що роблять діти — повторюють все за батьками. З дорослими все те саме — «з ким поведешся, того наберешся». Тут треба правильно застосовувати цей метод. Якщо хочете навчити плавати — показуйте як плавати, хочете навчити програмувати — показуйте і заставляйте програмувати, а якщо будете довго говорити про теорії — людина навчиться говорити про теорії. Все просто.

потім підтримував на воді, потім плив з ними поруч

Like!

Це в кращому випадку натаскування

Це лише одна з методу який в нас використовується. І тільки на перших етапах. Цим не обмежується.

Коли я переїхав в Штати, я зрозумів, що англійську не знаю, тому що неправильно вчив.

Це Ви собі відмаз придумали :) В мене це відчуття пропало одразу ж як я почав з ними розмовляти.

А за скільки б ви вивчили французьську?

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

Насправді це і є єдиний метод вивчення — копіювання поведінки. По прикладах.

Такий метод «копіювання поведінки» називається ще мавпуванням. А російською іще папугу згадують. Здогадуєтесь чому ;) ?

...якщо будете довго говорити про теорії...

Ви припускаєтесь тієї самої помилки, що і я вранці: не прочитали всі пости уважно :) Не «довго говорити», а перед тим, як застосовувати певний інструмент, пояснити, виходячи з попереднього досвіду учня, для чого він і як ним користуватись. Я це називаю «теорією»... можливо питання в термінах ? :))
Давайте коротко згадаємо як працює людський мозок на навчання. Циклічно (цикл Колба):
(а) відбувається якась подія (дитина схопилась за гарячий чайник), в результаті чого учень дістає досвід.
(б) Цей досвід викликає певну рефлексію учня, залежно від рівня його знань («треба почекати допоки ручка охолоне»... а чайник при цьому припустимо стоїть на вогні).
(в) Учень виробляє в мазгах модель поведінки («чому так, що робити далі в подібних випадках») , знов-таки залежно від рівня своїх знань.
(г) Потім він вирішує випробувати цю модель на практиці.
(а) І тут може прийти нова подія, новий досвід, який підтвердить або спростує вибудовану модель; йде наступний цикл.
Риторичне питання: на скільки циклів навчання стає коротшим, якщо до того надати учню двохвилинну теорію про те, як впливає гаряча вода і залізо на шкіру? (Є канєшно альтернатива: заборонити «не роби так!». Але ж ми знаємо, що «маси вчаться виключно на своїх помилках», тобто тупа заборона може призвести і до зворотнього ефекту.)

Цим не обмежується.

Я чомусь впевнений що всі Ваші методи — комерційні, тобто економлять час і викладачів :( Радий якщо це не так.
Ісся у тому, що у певних випадках (бій, автопригода) автоматичне наслідування правильної поведінки рятує життя. Але у професії програміста головне все-таки не розв’язати задачку за 60 секунд (як у фільмі «Пароль риба-меч» :) ), а подумати (тобто зрозуміти заадчу) і написати якісний код. Мені особисто не хочеться мати поруч із собою ремісників від програмування: «чому ти написав саме такий код?» — «А я завжди так писав! і було правильно!»

Це Ви собі відмаз придумали

Насправді не знають англ. у нас всі! Точніше знають, але не говорять англійською!

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

Думаю ми по різному розуміємо слова «вивчив». Для мене це коли ти комфортно спілкуєшся в копманії носіїв мови, де під твій рівень ніхто не підлаштовується. Був такий тест? Якщо ні, то реальний свій рівень ви не знаєте.

Такий метод «копіювання поведінки» називається ще мавпуванням

Правильно. І тут нічого поганого немає. Це той методи який закладений природою і в людей і в мавп. Головне, що працює! Це природа і з проти неї не попреш.

Є подібна методика — Shadowing. Використовується дуже широко на заході в великих компаніях. «Мавпують» американці і не соромляться!

головне все-таки не розв’язати задачку за 60 секунд

це вже непогано. Ніхто не каже, що це межа знань і компетенцій!

Для мене це коли ти комфортно спілкуєшся в копманії носіїв мови...

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

І тут нічого поганого немає. Це той методи який закладений природою і в людей і в мавп. Головне, що працює!

Чудово, але людина все-таки захопила цю планету, а не мавпи. У людини є аналітичне мислення, є купа засобів зберігати і розпвсюджувати інформацію — наприклад, цей чат, і Ви пропонуєте вчитись програмуванню методом мавп!? ІМХО очевидно, що таким методом можна вчити, але те, що можуть вивчити мавпи. В них навчання також йде подібно до циклу Колба, але знов-таки: перевага людини, що на будь-якому етапі вона може скористатись «підказкою друга», книги чи інтернету.

...це вже непогано.

Ну ОК ... успіхів Вам. Буду знав, шо Вашим випускникам треба запропонувати задачку на швикість.

Примерно от рождения и лет до 4-5 мозг наиболее интенсивно развивается и овладевает очень сложными вещами, которые нам, взрослым, кажутся естественными: умение фокусировать взгляд, ходьба и равновесие, импринтинг языка и многое другое. В этот период, если обеспечить должное лингвистическое окружение — ребенок может обучиться свободно говорить на нескольких языках.
Владение первым языком это не результат определенной практики а скорее результат процесса взрывного развития мозга, все детали которого, увы нам еще неизвестны. Мне нравиться аналогия с инфляционным процессом расширения вселенной в самом начале после Большого взрыва)

p.s. По существу вопроса я не знаю кто из вас двоих ближе к истине. Просто ремарка.

На собі перевірив! Проблема не в віці, проблема в методах!

Сорі, я напевно не встиг все перечитати, не бачив оцього:

1. Вдома теорія, в класі практика — це flipped classroom підхід.

Все одно не згоден. Якщо ті самі 101 правило харошого коду студент прочитає в Саттера-Александреску, він зрозуміє тільки передмову. Багато чого треба на пальцях показувати — чому так.

Ви пропустили

в класі практика

там все на пальцях і розкажуть, точніше на задачах

Почнемо з бази, щоб переконатися, чи немає у вас прогалин в елементарних речах. Спробуйте розв’язати 150 простих задач на leetcode.com/algorithms чи на аналогічному сайті.

Нічогенька база. Таку базу будь-який початківець закине десь на 20 «простій» задачі.

Дуже рекомендую «Clean Code» Роберта Мартіна.

Ну це вже пушка.

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

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

Далі — проекти

Ні, проекти спочатку, а серйозні книги і фундаментальна теоретична основа (а тим більше такі цеглини як Сlean Code) повинна йти вже після або ж паралельно практичному програмуванню, як закріплення.

В будь-якому разі раджу віддавати практиці якомога більше часу.

Ця фраза повинна бути заголовком, а не закинута десь у середині мимоходом. Навчання — це ітеративний процесс, а не готувались півроку, а потім бац — і зробили пет-проект! Такого не буває.

Хіба що про менторство в цілому все правильно сказано. І про англійську — курси англійської (і програмування теж) — марна трата часу і грошей у більшості випадків.

1. >> «ООП-теорія»
Я декілька разів наголошував, що вивчати треба все через практику. ООП не виключення .
2.

Ні, проекти спочатку, а серйозні книги і фундаментальна теоретична основа (а тим більше такі цеглини як Сlean Code) повинна йти вже після або ж паралельно практичному програмуванню, як закріплення.

Хіба я не те саме написав:

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

3.

Ця фраза повинна бути заголовком, а не закинута десь у середині мимоходом

А) Все в заголовок не винесеш.
Б) мені здавалося я достатньо написав про практику. Хм...
4.

Навчання — це ітеративний процесс, а не готувались півроку, а потім бац — і зробили пет-проект!

Згоден. Не бачу протиріч з моїм текстом
5.

Нічогенька база. Таку базу будь-який початківець закине десь на 20 «простій» задачі.

А хто сказав, що буде просто? Працюємо на результат чи аби легше було?

Из описания вакансии: «Учебный центр DAN. IT education реализует уникальный формат подготовки IT-специалистов, который используется в армии Израиля». Так blended learning еще никто не называл :)

Судячи з опису на вашому сайті це таки blended learning: «Начитки лекций не будет. Мы покажем тебе, где найти материал, и ты сам освоишь теорию по видео и инструкциям. В классе будет только практика, и ничего, кроме практики.» В чому ноу хау?

1. Вдома теорія, в класі практика — це flipped classroom підхід.
2. Blended learning є але в іншому місці, і виглядає інакше
3. На сайті іфорція мінімальна. Методички свої не викладаємо.
4. Telem класного працює для командної роботи(взятий з армії), і працює на актуалізацію знань. + трохи схожий на TDD в педагогіці .
5. Підходів насправді більше
6. Стаття зовсім не про це

А, так это очередная пища для «очаровательного»?)))

Мене той ресурс не цікавить. А ви кориспондент?

нет, не корреспондент))
но тематика излюбленная для оного ресурса

много сказаного и так очевидно но хорошо что было повторено. Но есть вещи что звучат хорошо, а на практике воздух. А книга хорошая но она не легкая.

Радити «Clean Code» джуніорам це як пропонувати Шекспіра початківцям у вивченні англійської: якась дуже крута, але при цьому абсолютно незрозуміла хрінь, яка до того ж і застаріла на кілька сотень років.

Гарний спосіб відбити бажання вчитися взагалі.

Або хитрий план, щоби донести думку: ти занадто тупий, щоб розібратися самотужки, чекаємо тебе на курсах ;)

Отличный пример. Оно всё вроде верно, ты понимаешь, что это круто и выше твоего уровня, но и в чистом коде и в Шекспире при этом можно разобраться. То есть ты всё равно понимаешь, хоть и не полностью, что там происходит. И тогда это может быть не «занадто тупий», а «бачу, куди рости».

Мы с женой Шекспира растащили на цитаты и вполне используем в жизни «thy holy kiss», «last friendly drop» или «I see that thou art swift». Это помимо «купатися чи не купатися».

В этом и цимес что можно «шекспира растащить на цытаты завместо поддеревьянського» а можно читать и понимать об чём речь включая филологические аспекты а это таки разница как говорят у них в Одессе.

Почему завместо, они прекрасно друг друга дополняют.

Шекспир таки не рокет саенс, он помогает понимать английский язык и культуру, а не является каким-то скрытым знанием, доступным только для истинных гуру. Как и ранее упомянутый Clean Code

Вообще удивляет как вы противопоставляете «понять» и «растащить на цитаты».

Имхо цитировать стоит после понимания, иначе странно.

Вот например, что такое цимес — я не понимаю, поэтому не использую. Что такое holy kiss — понимаю и использую когда нужно.

Тут треба визначитися, ціль — отримати результат, чи ціль — спростити життя(піти легким шляхом)? Після відповіді на це питання, буде простіше.

Ну, можно и Шекспира читать, пока не поймешь оп чем там...

это пиндык какой то, а не *поради початківцям*

Практику можна отримати на курсах програмування
Бажано продемонструвати декілька виконаних вами проектів із використанням актуальних/популярних фреймворків. І це повинно виглядати круто
Як знайти ментора? Перший варіант — звернутися до кар’єрного консультанта
Співбесіда. Ментор на цьому етапі вам би теж не завадив. Причому той, що успішно пройшов десятки подібних співбесід.
До всього вищесказаного потрібно обов’язково додати гарне знання англійської.
До речі, не рекомендую йти на курси англійської. Це марна трата часу.

Вывод: сильно всем помог, спасибо.

«DAN.IT education»
Можете укоротить статью:

Как стать девом:
1 — записаться к нам на курсы
2 — записаться на второй курс по клубной скидочке

Ні, не обов’язково записуватися на курси. Комусь достатньо 2-3 консультації. А хтось може сам розібратися, але для цього треба знати як самого себе протестувати.

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

Буду радий поспілкуватися, як раз схожа ситуація

Тільки у вас помилка у посиланні на leetcode, треба так: leetcode.com/problemset/algorithms

Подписаться на комментарии