З гуманітарію до розробників у цифрах та фарбах

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

Почну здалеку – у дитинстві мої батьки дарували мені величезну кількість енциклопедій та книг – на всі випадки життя. Будь-який привід подарувати подарунок – книга. Тоді я, звичайно, не був вдячний їм, а просто сприймав це як належне. Але згодом, спілкуючись з іншими людьми, я зробив дивний висновок: багато хто не знав того, що знав я, не чув якихось імен, понять, концепцій, не читав авторів і не дивився фільмів. У цей момент прийшло осяяння: ось воно, ЗНАННЯ. Довгий час я не знав, де можна застосувати все це, адже просте спілкування з людьми ніяк не оплачується, а професії розповідати цікаві історії на той час ще не було (зараз є якісь блогери, YouTube, TED-ED та ін.). Я вивчав англійську мову, довго і ретельно, т.к. «Це було перспективно і стане в нагоді в майбутньому» — на той момент впевненості в майбутній професії, звичайно ж, не було, тому через «не хочу» мене гнали на уроки знову і знову. Зараз, звичайно, я дуже вдячний, що не зіскочив у той момент і встиг отримати непогану базу, яка, безумовно, відіграла важливу роль у виборі моєї майбутньої професії.

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

Однак, прокинувшись уранці, я з подивом усвідомив, що в моїй голові оселилася настирлива і колюча думка: «Треба йти в пед (педагогічний)». Як вона там утворилася: самостійно чи в результаті тіньових процесів як у Менделєєва, коли він уві сні систематизував дані, знайшовши знання таблиці періодичних елементів? Цього мені не впізнати ніколи, але я пішов до батьків, описав їм проблему, отримав кілька досить пікантних оцінок моїх поточних розумових процесів, їхнього напряму та загального розвитку, але не відступив.

Зрештою ми приїхали до університету, забрали документи (хоча це було вже, швидше за все, незаконно, тому що зарахування пройшло) і поїхали подавати документи до іншого ВНЗ. Мій батько тоді був дуже коротко підстрижений, тільки-но зробив операцію на очі і зняв окуляри і в цілому, виглядав як типовий «браток з 90-х», не дивлячись на 2 вищі освіти та вчительське минуле. Звичайно ж, такого колоритного персонажа відмовити не змогли. З того часу я жодного разу не пошкодував, що вступив саме на факультет іноземних мов.

Працюючи з дітьми, я зрозумів дві речі:

  • Мені це дуже подобається, я можу цікаво розповідати, вплітати в розповідь відомості, почерпнуті з книг та енциклопедій і, найголовніше, досягати результату на терені викладання англійської мови
  • Грошей катастрофічно не вистачає, навіть якщо займатися підробітком (приватні уроки + мовний всесезонний дитячий табір)

У результаті, після кількох років роботи викладачем (англійська, німецька та трохи іспанська), я вирішив піти з професії, т.к. банально вигорів. Напевно, багатьом із вас знайоме це відчуття: начебто робота та ж, ті ж люди, робота, все, що влаштовувало вчора – але душа противиться кожному робочому дню, помилки дітей стали внутрішньо дратувати, спокій, який завжди був десь усередині , Почало зникати і з'явилися панічні думки про те, щоб втекти хоч кудись.

Протягом усієї трудової діяльності я розглядав можливість зміни професії на щось більш актуальне, не пов'язане з роботою з людьми, здійснивши близько 10 спроб самостійного вивчення мов програмування. C++, C#, Delphi, Python, Pascal, Java - все це було складним, незрозумілим, лякаючим, забирає час і не приносить результату. Насправді у мене просто не вистачало мотивації: ні криза 2008-2009 року, ні проблеми у 2014-2015 не змінили мого ставлення до роботи. А коли прийшло емоційне вигоряння – стало зрозуміло, що далі так працювати я не зможу заради дітей, яких я травмувати ніяк не хотів.

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

Усередині мене дозріло остаточне рішення про зміну професії, було намічено план, вивчено ринок вакансій, вимоги до претендентів, відкопано контакти друзів та знайомих, хоч якось пов'язаних з IT і я ґрунтовно випатрав їм мозок своїми допитливими питаннями. Загалом план виявився таким:

  1. Вибрати найбільш простий, максимально швидкий у плані результату і з самого початку оплачуваний не менш ніж на попередньому місці напрям роботи. Ним стала frontend-розробка. Посудіть самі: знаючи англійську мову на рівні C2, більша частина коду представляла для мене англійські команди упереміш із синтаксисом, який цілком непогано запам'ятовувався (підганяється думками в стилі «або це чи ти не працюєш зовсім»). Результат у фронтенді видно одразу – це готова сторінка. Оплата теж непогана, від 40 тисяч рублів (за даними hh.ru). Моя зарплата на той момент була близько 60-65 + особисті підробітки на 20 тисяч. Цього було мало, але коли тобі треба боротися із собою, щоб просто прийти на роботу – жодні гроші не тішать.
  2. Оплата і план дій: Націлений я 60+ рублів, тому почав вивчати список актуальних для фронтенду технологій: HTML, CSS, JavaScript (ES5-6), React. До них додалися інструменти, що полегшують на різних етапах узгодження та роботу з кодом: jQuery, Git, SASS, Webpack, VS Code. Це дозволило намітити план вивчення всього цього поступово, водночас застосовуючи знання у створенні сайтів, розбиранні та втіленні в коді макетів та консультацій з друзями.
  3. Самонавчання: З період з лютого 2019 по червень 2019 я вивчав все це, старанно штудуючи документацію, читаючи StackOverFlow та шукаючи відповіді на найдурніші питання, які тільки можуть виникати. Мені було важко – іноді код просто не хотів працювати так, як я уявляв собі. Але я не впадав у відчай – розбір прикладу коду + документація підказували, де я припустився помилки, що поставив не так і що не дописав. Саме тоді я щодня хвалив батьків за те, що наполягли на моєму навчанні англійської мови в дитинстві – адже вся актуальна документація саме на ній.

Найлегше мені далися HTML та CSS – близько 2 тижнів. За цей час я зібрав макет сайту якогось дизайнера на чистому HTML і CSS і зібрав усі можливі милиці, вивчив купу підходів та зрозумів, що вручну писати всі ці рядки – шалено довго. Злегка погугливши, я одразу натрапив на Bootstrap 4 і, ознайомившись із можливостями, почав читати документацію. Після кількох днів вдумливого куріння мануалів, що перемежуються переглядом різних навчальних роликів на YouTube, я взявся за створення свого власного totally responsive сайту, з картинками, картками та анімаціями. На це пішло приблизно 2 тижні, за які я відкрив для себе jQuery як інструмент DOM-manipulation.

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

Найскладніше почалося на етапі вивчення чистого JavaScript – у моїй голові народилося дуже серйозне питання: навіщо це вчити, якщо jQuery легше? За відповіддю я пішов до гугла: виявилося, що jQuery скоро піде в інший світ, за винятком legacy-коду, а всі інші програмісти використовують JS, т.к. фреймворки приходять і йдуть, а чистий JS актуальний. Ми ж хочемо отримати роботу і робити її довго, чи не так? Тому я почав дивитися відеоролики, пробувати писати код та функції на навчальних сайтах та переписувати свої попередні проекти. Звичайно, спочатку вийшло трохи менше, ніж нічого, але через пару днів я вже не думаючи прописував всякі arrow-functions (які виявилися простіше, ніж звичайні), працював з селекторами document.getElementById, сортував масиви і витягував елементи об'єктів за допомогою .map, .filter, .reduce, працював з API та AJAX і т.д.

І я не помилився – під час вивчення React я зіткнувся з тонним JS-кодом, який потрібно було розбирати і розуміти, інакше нічого не працювало. Глибоко зітхнувши і пошкодувавши себе трохи, я взявся з подвоєною силою вникати в суть процесу. Незабаром виявилося, що React – це трохи змінений HTML (JSX) + обважування з різних інструментів, що полегшують оновлення сторінки та створення SPA (односторінкового додатку). Додамо щіпку JS – і ми маємо анімації, завантаження та переходи. Звикнувши до синтаксису, я взяв перший макет онлайн-магазину, що попався, і написав просте SPA, яке дозволяло вибирати категорії, здійснювати навігацію по сайту і змінювати лічильники товарів у кошику.

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

Посилання на навчальні матеріали, YouTube канали, статті та все, що я використав у своєму навчанні.

Джерело: habr.com

Додати коментар або відгук