Початок кар'єри завжди трохи сумний. Є, звичайно, люди, які прагнуть потрапити «в програмісти» ще зі школи. Так би мовити, народжуються з кодом в голові. Але я був не з таких.
Мені довелося спробувати всяке, перш ніж я став верстальником — працювати у продажах, менеджером, я навіть майже потрапив у військовий оркестр. Але тепер я знайшов свою пристрасть і точно знаю, чим хочу займатися у житті. Хоча і це прийшло до мене не відразу.
Зараз мені 23, 3 роки з яких я — Front-end. Були відносини з Pascal, С ++ і C #. Але закохався я саме в JS, ми і досі щасливі разом. Апдейти намагаються нас розлучити, але поки ми тримаємося.
Я хочу поділитися з вами сумними історіями про те, як я опинився в ямі, навчався плавати по книгам, був самітником, сварився з менеджером і став ментором у екстреному порядку.
Я не з тих, хто завжди знав, чим хоче займатися в житті. У 2013-му я вступив до коледжу КІТЗ, при НАУ, на факультет розробки програмного забезпечення. Там ми вчили багато теорії, писали проги на Паскалі, вчили теорію С ++. Словом — книжковий морок і ніякої практики. Мені здавалося, що в коді немає нічого цікавого, і часом я почав сумніватися в своєму виборі. Мені було нудно.
У вільний від навчання час я працював в кол-центрі за 500 грн в місяць. Запам'ятавши ціни на бензин, знаючи, скільки коштують найдорожчі кросівки на нашому складі, я так і не навчився спілкуватися з клієнтами. Мене дратувала нерозторопність більшості з них, тож я надто зухвало їм відповідав. Як і нашому менеджеру, якого це, м'яко кажучи, дратувало. В цілому, я там довго не затримався.
У якійсь мірі я звик починати все з нуля. Я вчив C #, трохи розібрався з С ++ і Linux, пройшов кілька онлайн курсів на «Stepik», почав вчити PHP. І ось, коли я набрався сміливості і став ходити на співбесіди в IТ-компанії — мене не брали. Іноді мені здавалося, що я роблю щось не так.
Якось раз один товариш порадив мені піти в Nakitel на стажування — мовляв, там навчать з нуля всьому, чого захочеш. Я хлопець простий: мене покликали на стажування — я пішов.
Я досить лінива людина, але тоді в мені щось перемкнуло. Щоб мене відібрали на стажування, я 72 години зубрив книгу по CSS і HTML. Якщо чесно, я не знаю, на що тоді розраховував. Можливо, мені захотілося повірити в те, що завдяки зусиллям можна досягти будь-чого.
На мій превеликий подив — так і сталося, бо на наступний день мене запросили на стажування. За яке, до речі, ще й обіцяли непогано заплатити.
У перший день на стажуванні мені дали посилання на онлайн-курси по 1,5 години і перше завдання — зверстати лендинг. Мені було ліньки слухати ті довгі курси, тому я знайшов свої — але по 30 хвилин. Навіщо витрачати більше часу, якщо зміст однаковий, правда? Принаймні, мені так здавалося. В півгодинному онлайн-туторіалі хлопець показував, як круто використовувати табличну верстку, і я йому повірив.
Як ви розумієте, все закінчилося дуже погано. Табличною версткою зараз майже не користуються, та і завдання полягало абсолютно не в цьому.
Висновки: лінь — це добре. Халатність — погано. У практиці не можна халявити, особливо у виборі підходу до верстки. Необхідно завжди тримати руку на пульсі — рішення у Front-end, актуальні рік тому, можуть швидко стати застарілими і вважатися поганою практикою.
Життя — як вища математика. Якщо задача надто легка — значить ти вирішив її неправильно. І чим глибше я почав занурюватися у фронтенд — тим більше почав розуміти, що таки нічого не знаю.
Мені було соромно, коли я вперше завалив дедлайн. Під час виконання одного із замовлень я вирішив поекспериментувати з препроцесором, і на це пішло багато часу. Я був впевнений, що дедлайн ще не скоро. Але коли у мене були готові тільки меню і футер — виявилося, що роботу потрібно здати вже через два дні. В кінцевому результаті ситуацію розрулили, але осад лишився. Після цього експериментувати було вже лячно.
Є таке поняття, як синдром самозванця — коли вважаєш, що не заслуговуєш місця в своїй професії. Кожна помилка б'є по самооцінці. Деякі, так і не впоравшись з професійним соромом, йдуть з професії.
На початку роботи я постійно мучив себе почуттям провини за те, що чогось не знаю. З цим питанням я, як і знаменитий класик, відправився в інтернет. Можна знайти багато статей про те, як позбутися професійного сорому і вибратися з морального дна. На цю тему навіть є кілька серйозних досліджень. Наприклад, психіатри Даннінг і Крюгер створили графік, що показує залежність відчуття впевненості від досвіду.
графік Даннінга-Крюгера, авторська інтерпретація
Отримавши більше досвіду, я усвідомив як мало насправді знаю. Поступово я почав спускатися в яму страждань. Напевно у вас є багато знайомих, які добре розбираються у своїй справі, але при цьому постійно принижують власні здібності. Все насправді просто.
Просто вони, як і я, сидять в цій ямі. Як на мене, з соромом можна впоратися одним способом: змиритися. Ти не можеш знати все.
Середовище фронт-енду занадто динамічне. Щодня з'являються якісь нові фреймворки, про WebGL і VR я взагалі мовчу. Я довго гнався за ідеалом, намагався освоїти нові техніки в максимально стислі терміни і відразу їх використовувати. Але пошуки ідеалу забирають надто багато часу. Іноді потрібно просто зробити, а потім, по ходу справи, виправляти баги і додавати правки в інтерфейс.
Кажуть, з часом все-таки можна вибратися з ями страждань. А поки я захопив сюди плед, пару пачок чіпсів і мій ноут — нехай тут буде хоча б затишно.
На стажуванні у мене був ментор, Саша. Я завжди знав, що в будь-якій незрозумілій ситуації зможу до нього звернутися. Це він порадив мені курси і пояснив, чому таблична верстка — це погано. Згодом мені стало соромно його смикати, тому більшу частину інформації я шукав сам. Я частенько гуглив, як з моєю проблемою справляються інші фронт-енди.
Через півроку Саша пішов в іншу компанію, а в нашу команду прийшов Юра. Тоді ми були приблизно на однаковому рівні, тому проблеми, що стоять ребром, ми вирішували разом. Також ми багато радили один одному і допомагали. У нас була однакова відповідальність, і в цей період я став шукати більше інформації самостійно.
Це допомогло, коли до нас у команду прийшов новий фронт-енд, Саша. На початку вона була джуном, тому я хотів допомогти їй адаптуватися. Поява Junior-a в команді мотивувала знати ще більше. Зараз наш відділ Front-end розширився, до нас у команду прийшло багато нових людей. Ми часто радимося, шукаємо нові фічі.
Напевно, відповідальність за інших зробила мене більш дисциплінованим. Я став переглядати ще більше вебінарів, гуглити, частіше практикуватися. Усвідомлення того, що тепер мої ідеї і припущення можуть вплинути на роботу інших людей, зробило мене більш критичним до себе.
У фільмах такі періоди життя показують у прискореному темпі, під яку-небудь бадьору пісню — бажано «Eye of a Tiger». Рівно рік, 24/7 я проводив у коді — неважливо, на роботі чи вдома. Коли я ненадовго відлипав від монітора, то мріяв про те, як би вже адаптувати свою велику чашку під вузький отвір кава-машини.
Так верстка стала для мене всім — роботою, хобі, особистим життям. Було багато сумного, і ще багато буде, мабуть :) А якщо ти такий же фронтенд-початківець, як і я — поради знизу можуть применшити смутку в твоєму житті.
Книга, яку необхідно прочитати кожному фахівцеві з JavaScript, це Виразний JavaScript. На даний момент є шість редакцій видання, у якому зібрано величезну кількість вичерпної інформації. Крім чисто теоретичних даних про JavaScript, тут також можна отримати масу корисної інформації про практичне застосування технологій при створенні додатків під Web 2.0.
Це своєрідна настільна книга, в якій можна не тільки знайти відповідь на будь-яке питання по JavaScript, а й поглибити свої знання за допомогою практичних прикладів.
У блогах можна знайти багато корисної практичної інформації. Love Frontend і For web постійно постять статті про оновлення і нові рішення, а у коментах можна запитати пораду. Статті з блогів Іллі Клімова (з основним акцентом на JS) і Workafrolic (про Front-end в цілому) — взагалі мій путівник.
Я не раджу брати літературу, в якій немає практичних завдань. З одними прикладами ви не зможете нічого навчитися, тому що дивитися на чужий код — ще не означає вміти його відтворювати. Наприклад, Learn JS — це класика з відмінними прикладами і рішеннями.
Онлайн курси Loft school і HTML Academy — одні з кращих на території СНД, які є стандартом курсів для Front-end. З їх допомогою ви зможете отримати необхідні знання, які завжди так наполегливо вимагають роботодавці.