Начало карьеры всегда немного грустное. Есть, конечно, люди, которые стремятся попасть «в программисты» еще со школы. Так сказать, рождаются с кодом в голове. Но я был не из таких.
Мне пришлось попробовать всякое прежде, чем стал верстальщиком — работал в продажах, менеджером, почти попал в военный оркестр. Но теперь я нашел свою страсть и точно знаю, чем хочу заниматься в жизни. Хотя и это пришло ко мне не сразу.
Сейчас мне 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 front end и For web постоянно постят статьи о новых фичах, а в комментах можно спросить совет. Статьи из блогов Ильи Климова (с основным акцентом на JS) и Workafrolic (о Front-end в целом) — вообще мой путеводитель.
Я не советую брать литературу, в которой нет задач для решения. С одними примерами вы не сможете ничему научиться, потому что смотреть на чужой код — еще не означает уметь его воспроизводить. К примеру Learn JS — это классика с отличными примерами и решениями.
Онлайн курсы Loft school и HTML Academy — одни из лучших на территории СНГ, которые являются стандартом курсов для Front-end. С их помощью у вас появится возможность получить необходимые знания, которые всегда так настойчиво требуют работодатели.