Ускоренное саморазвитие последних недель
Началось всё с сообщения директора. Если не цитировать прямо, то тезисно его можно изложить так: нет проектов именно для тебя и твоих навыков, можешь что-то поискать сам. Потерять работу в своей аккредитованной it компании без предупреждения было бы неприятно. Поэтому благодарен за это сообщение. И поэтому резко начал думать, что делать. Шаги получились такие:
1. Сократил расходы. Выплаты зарплаты уже были не всегда вовремя, а будущего мы не знаем. И так стараюсь откладывать как можно больше и инвестировать, но за последние месяцы у меня были, а в будущих запланированы траты. Поэтому, чтобы пережить этот период, я постарался отказаться от покупок всего избыточного.
Для примера, если расходы на "питание", а именно кафе/рестораны/доставки, в феврале занимали первую строчку трат, то в марте первыми категориями были "ЖКХ" и "продукты". Также, к сожалению, пока что отказался от платных занятий английского и спорта.
2. Пауза в текущих проектах. Выше писал, что занимался сервисом Chacma и развивал yau-ts. Я не отказываюсь от них, но мне срочно потребовалось время на приоритетные дела, поэтому пока что проекты поставил на паузу.
3. А время мне понадобилось для подготовки к it собеседованиям. Сначала надо было выбрать направление. Я решил попробовать себя в разработке клиентской части сайта, Frontend. Я никогда не был полноценным Frontend или Backend (серверная часть) разработчиком, скорее был FullStack (сразу обе части) с элементами системного дизайна: ведь я хочу уметь делать продукты полностью в одиночку. Но в последнее время мне всё больше нравится TypeScript, поэтому выбрал такой путь.
- изучил, что спрашивают на собеседованиях в крупные и не очень it компании на React-разработчика, посмотрев десятки видео записей собеседования, изучил все темы, о которых спрашивали – о многом знал, что-то изучил;
- прочитал множество важных глав учебника JavaScript про замыкание, область видимости, особенности разных структур, различные особенности классов от других способов создания объектов, изучил все методы строк, массивов и так далее – освежил и расширил все знания;
- решил десятки алгоритмических задач простой и средней, а также несколько высокой сложности на LeetCode и других сайтах – это спрашивают в Яндексе и международных компаниях типа FAANG (Facebook, Apple, Amazon, Netflix, Google). Теперь могу набросать решение средней задачи за полчаса, обойти дерево, найти кратчайший путь на графе, решать через рекурсию и нет, и всегда надо использовать hashmap;
- начал читать книгу по архитектуре "designing data-intensive applications", посмотрел архитектурное собеседование в Яндекс и понял, что ответил бы явно не хуже;
- вышел на контакт с Outtalent, компанией, которая готовит к собеседованиям в FAANG и лучшие it-компании мира, сегодня была встреча-интервью с их основателем, на которой получил много материала, обсудили мой опыт, возможности и что стоит подготовить к летнему потоку – предварительно отзыв обо мне хороший; хочу попасть на такой акселератор и в первую очередь, чтобы вырасти как инженер;
- пришёл к пониманию, что знание реляционных баз данных не такое глубокое: всегда хватало базовых активностей, а нужно знать гораздо больше; например, на одном из собеседований на Backend (да, успевал и туда) меня спросили про то, что означают метрики команды explain analyze (их несколько), но я обычно применяю документацию для этого, а также про то, как добиться поведения одного из уровня изоляции транзакций при другом;
- прошёл до 10 собеседований, 4 из них – этапы в Яндекс, по окончании которых мне дали уровень middle+ по направлению фронтенд разработки; к сожалению, не позвали на секцию дизайна систем, да и пока все команды только "обсуждают" мою кандидатуру и всем необходим переезд в их центральные офисы, но всё равно считаю это достижением, учитывая, что потратил около 3 недель усиленной подготовки и что до этого был один по Frontend-направлению. Прошёл в Jobski 🔥 и пару других компаний.
Пройти Outtalent также хочу: это будет мощное развитие (это платно). На данный момент понимаю, что до середины лета, до летнего потока в Outtalent надо:
- продолжать решать задачи;
- улучшить понимание дизайна систем ещё больше текущего уровня,
- прочитать и понять профильные книги;
- разобраться в базах данных;
- а также выбрать и углубить серверный язык: Outtalent работает с инженерами только на Backend-технология, поэтому думаю, за что же взяться: освоить Java до уровня решения задач на LeetCode (вроде, этого будет достаточно) или вспомнить Python. Это может быть и TypeScript, и Go, но всё же Java и Python более популярны среди крупных корпораций, и, скорее всего, выберу Python;
- язык.
Главный вывод: я понял, как пройти любое интервью, но для этого всё равно требуется огромная работа и усилия. Составлять собеседования ещё учусь. Теперь я могу пройти собеседование на Frontend в любую компанию России на уровень вплоть до Senior, а затем применять навыки в работе на этот же уровень. В целом, алгоритм подготовки и мотивация есть. Главное не сбавлять темп. Готовиться так мотивировала история парня, которы занимался этим полгода и с низкого уровня, но зная Java, смог вырасти до работы в Uber, Влад.
Также считаю, что смогу подготовить почти любого начинающего разработчика за 2 месяца до такого же уровня на Frontend. Если кто-нибудь хочет научиться и попасть в тот же Яндекс, могу помочь с этим. Пишите в личные сообщения, мой друг уже вызвался попробовать пройти этот путь, хотя и решил потом стать дизайнером.
4. Английский. Чтобы расти, надо уже научиться понимать его на слух и говорить на нём. Так как пока что ради сбережения финансов отказался от репетитора, с которым занимаюсь последние годы, решил смотреть видео на ютубе, увидев блог парня, который выучил Японский за 8 месяцев. Нашёл первую книгу "Гарри Поттер" на английском, слушаю её. За час и первых 2 глав выписал 40 новых слов в Яндекс переводчик, который создаёт автоматические карточки из вашего списка обучения. Также смотрю видео на английском про математику, физику и то, как соло-разработчики запускают проекты, приносящие (при продажах по всему миру) десятки тысяч долларов в месяц.
5. Аспирантура. Надо делать, и тут нашёл такую мотивацию. Есть исследовательский ai для поиска подходящих научных статей для любой темы. Он не пишет за вас, но ищет необходимые источники. Разрешены 3 "профессиональных" запроса в день. Отличный режим, чтобы делать маленький шаг, но ежедневно.
Конечно, каждый день в итоге не получается, но мне надо довести аппроксимацию iri2016 до сравнивого с теорией уровня и написать первую научную статью о своей разработке, чем и занимаюсь последние несколько дней. В идеале ставлю deadline – 27 апреля. Напишу статью, получу зачёт летом, смогу двигаться дальше по вузу.
6. Проекты. Не бросаю, но надо действовать быстрее. Решил, что надо не создавать с нуля, как Chacma, а копировать уже проверенные приложения. Выплываем из голубого океана в красный. Конкуренция не значит, что не купят, а значит, что там есть деньги.
И тут тоже поможет ai для быстрого создания полноценных приложений. За 20 долларов в месяц вы можете подписаться на Cursor, который как раз это умеет делать. Останется только выбрать нужные технологии и проверять его код, но это позволит выпускать по приложению-клону популярного хотя бы раз в месяц.
Пока ещё не подписался на подобный инструмент, так как в режиме экономии, но решил попробовать другую гипотезу: продавать книги. Подробнее будет после издательства. И да, тоже ai. А также неожиданно для себя начал разрабатывать решение для предпринимателя из другой страны с пространством для партнёрства.
Кстати, параллельно хочу найти единомышленников из Российского сообщества indie hacker'ов. Так называют тех, кто в соло разрабатывают приложения, а потом зарабатывают на них, продавая по всему миру, от сотен долларов до сотен тысяч долларов в месяц. Самое частое, что слышу, это 5-10 тысяч долларов. Меня тоже можно отнести к такому направлению: платёжный браслет и свои проекты приносят 12 тысяч рублей в месяц. Вот и 100 долларов 😁 Но сейчас будем просто делать быстрее, дешевле, копируя или на готовых клиентов.
7. Итоги. Вчера был мой первый день в новой аккредитованной it компании на позиции Frontend Developer. Компания замечательная, всегда есть небольшие опасения. Но иметь опасения – это отличие тех, кто умеет планировать будущее. Верим в лучшее! Посмотрим, что будет дальше, пока что могу выдохнуть и уйти в работу. Но в этот раз я буду поддерживать свою актуальность всегда: 3 года на прошлом месте расслабили. И даже буду двигаться дальше. Поэтому всё будет по плану, о котором писал выше: попасть в поток Outtalent и стать одним из лучших инженеров. Иметь лучшие навыки. Попытаться продвинуться дальше везде, в первую очередь на новом месте работы.
Вообще, я уже работал в таком режиме и так много, но тогда из-за этого получил болезненное состояние. Не понимаю, как у героя истории из Uber, Влада, получилось жить так 6 и более месяцев, работая по 7-8 часов и готовясь потом по 6 часов каждый день. После месяца без спорта уже тяжело. Не думаю, что мой организм выдержит это без активности. Поэтому в апреле фокус всё же будет на университет и на погружение в новое место работы с элементами спорта. А развиваться усиленно как инженер продолжу дальше с какого-то числа мая. Если я смогу стать мировым инженером, это не значит, что сразу перейду в Faang, так как это всё огромный шаг, а новую компанию подводить тоже не хочется. Но это значит, что в случае проблем я останусь востребованным в любой точке мира – сегодня, завтра, через годы.