Зачастую статьи личного опыта имеют три категории от двух типов людей:


  • история успеха / провала от новичков;
  • крутые статьи про сложные штуки от крутых ребят;
  • истории про разочарование от тех же крутых ребят (но это не точно *).

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


Если визуализировать свой опыт погружения в IT, то получится примерно следующее:


Обложка
Правда, по четвёртому сценарию мой опыт пока что в духе "рядом стоял / мимо крокодил".


Я решил описать сугубо личный опыт и взгляд на жизнь на его основании и поделиться с окружающими, возможно, оно изменит вашу жизнь… с понедельника.


Дисклеймер:


Текст получился не свойственный для меня — эмоциональный, в стиле пацанского цитатника, в процессе его написания я как бы мотивировал себя двухлетней давности, который жизни не нюхал, щенок :D Но раз уж полез в создание контента, то надо экспериментировать с форматами. Буду рад обратной связи в комментариях, особенно, если вам не понравилось.

1. Технологии — ничто, фундамент — всё


Рынок меняется очень быстро, агрессивно, и технология, которую ты учишь сегодня, уже завтра может быть выброшена, втоптана и обгажена всеми видными людьми, которые её восхваляли. Какой бы реактивный ангулярный светл завтра не появился, он будет манипулировать DOM-деревом, управлять состоянием, а ты по-прежнему будешь формошлёпом.


Фундаментальные знания о программировании сложно найти, тяжело понять и невозможно забыть, они позволяют трезво видеть картину мира и строить простые решения для простых задач. Понимание алгоритмов, принципов работы HTTP, Linux и прочие вещи, которых избегают новички — это именно то, с чего нужно начинать. И да, я никогда не достигну уровня университетских знаний (хороших универов, конечно же), но жизнь не раз показывала, что побеждает код, написанный со знанием дела, а не с последней киллерфичей библиотек.


2. Спрашивай у интервьюверов "что я должен изучить?"


Мне повезло поработать в нескольких местах и везде выполнялась абсолютно разная работа — где-то нужно было совмещать PHP с jQuery на легаси и одновременно актуализировать проект под новый фреймворк, в другом месте ежедневно требовалось писать голый SQL. Затем несколько месяцев только писал документацию. Теперь же и код пишу, и отстаиваю свои архитектурные решения перед бизнесом. Этот опыт дал понимание, что на рынке зачастую требуется быть частью этого самого рынка и жить в его ритме — двигаться быстро, меняться под новые условия, переключаться между задачами. И в каждой компании свой стек, который, вероятно, ты не будешь знать. И в каждом собеседовании тебе соврут про реальные задачи, даже если не преднамеренно. Пусть лучше скажут стек технологий и начинай изучать всё что с ними связано.


3. Карьерного роста не бывает без личностного


В прошлом мне казалось, что достаточно хорошо делать свою работу, вырабатывать стаж и тогда будет заслуженный рост по карьерной лестнице со всеми вытекающими плюшками. Работа в IT же показала, что здесь есть лишь два направления роста — становиться высококлассным специалистом в одной области (например, дизайн, UI / UX, все фронтовые фреймворки + вся фундаментальщина по своей теме и по программированию), или становиться фулл-стек разработчиком для решения широкого класса проблем и сведения разрозненных задач в единый проект. И у людей обоих направлений впереди непаханное поле новых знаний и опыта, которые нужно получать ежедневно, пробовать руками, внедрять и отвергать. На это не хватит и всей жизни. Тех же, кто закрепился в зоне комфорта ждёт в лучшем случае удачное стечение обстоятельств.


4. Чтобы сложное стало простым надо сесть и делать


Не знаю как это получается, но каждый раз когда я узнаю о какой-то немыслимой задаче к которой неизвестно как подступиться, всё оказывается очень просто в итоге. Или не так просто, но гораздо понятнее только после работы над ней. И наоборот, казалось бы, простая задача отнимает массу времени и оставляет ещё больше вопросов. Однако и по ней уже постафктум понимаешь что узнал много нового и стал лучше понимать некоторые моменты. Абсолютно чудесная тема конечных автоматов содержит в основе достаточно простую идею, реализуемую на простейших машинах и обладает при этом огромным потенциалом и возможностью создавать крайне сложные вещи для того, чтобы пользователю было просто. И крайне редко случается такое, что узнал про новую технологию, прочитал, понял, пошёл и сделал. Всё обучение давалось мне через попытки, перечитывания, углубление в тему. Если твой тимлид из тех людей кто схватывает на лету и с первого раза создаёт качественный код, решающий задачи бизнеса, то лучше там не работать, т.к. это киборг.


5. Инвестируй в жизнь, здоровье и инструменты


Нужно ходить к врачам, заниматься спортом, встречаться с друзьями, посещать митапы и жить так, чтобы было не стыдно. Нет смысла копить на новую машину, если она будет возить твоё больное одинокое жирное некоммуникабельное тело. Два-три года — это отличный срок чтобы испытать себя, понять что реально интересно и чётко обозначить границы своих возможностей, составить план на будущее и реализовывать его. И это хороший срок, чтобы попробовать что-то новое, если с IT не ладится. Также, стоит помнить, что удобное рабочее место, хороший монитор, мощное железо и прочее окружение помогают зарабатывать тебе на жизнь, сохранять здоровье, делать больше и лучше или просто быстрее и комфортнее.


коротенькое ответвление про рабочее место

Нам на работе купили классные компьютерные кресла и спустя полгода использования я решил рассказать о нём в формате видео (раз уж полез в создание контента, то надо экспериментировать с форматами), если интересно, заглядывайте: https://www.youtube.com/watch?v=0g9cuMpltyM


Ну и самое главное — не слушай каких-то чуваков из интернета, как нужно жить.


Котик


/????? \