Друзья, выступаю сегодня на GDG Tashkent.
Выступление должно быть записано - скину сюда, как будет доступно.
P.S. Мой спич начнется через 20 минут.
Выступление должно быть записано - скину сюда, как будет доступно.
P.S. Мой спич начнется через 20 минут.
🔥33👍8❤4💯1🍓1
Выступил. Запись обещали выложить на YouTube. Кину сюда обязательно.
🔥27❤7👍1💯1🍓1
Друзья, сегодня выложил очередной выпуск в рубрике ревью проектов.
На этот раз попался очень интересный проект - изучение английского с помощью карточек.
Так же очень сильно улучшилось качество монтажа, так что зацените.
P.S. Оставьте комменты/лайки, чтобы видео лучше продвигалось.
https://www.youtube.com/watch?v=K9pGstgWTzw
На этот раз попался очень интересный проект - изучение английского с помощью карточек.
Так же очень сильно улучшилось качество монтажа, так что зацените.
P.S. Оставьте комменты/лайки, чтобы видео лучше продвигалось.
https://www.youtube.com/watch?v=K9pGstgWTzw
YouTube
РЕВЬЮ ПРОЕКТА ПОДПИСЧИКА | FRONTEND DEVELOPER | REACT REDUX TYPESCRIPT
Очередной выпуск в рубрике "Ревью проектов". В данном видео разберем много интересных моментов о которых я говорил в своих видео. Будет полезно разработчикам всех уровней.
Проект на стеке React | Redux | Typescript
Telegram канал:
https://telegram.me/…
Проект на стеке React | Redux | Typescript
Telegram канал:
https://telegram.me/…
❤15👍6💯1🍓1
Друзья, всем привет! Я часто натыкаюсь на очень полезный материал на английском языке и хотел бы узнать, сколько людей отсюда знают английский.
👍9❤🔥1💯1🍓1
Насколько хорошо ты знашеь английский?
Anonymous Poll
29%
Отлично (понимаю на чтение/слух)
55%
Средне (могу читать, где-то нужна помощь переводчика)
12%
London is a capital of Great Britain
4%
0
❤2🔥1🍓1
Друзья, все привет!
Наверное для многих не секрет, что алгоритмы для многих - больная тема. А тем более для фронтенд разработчиков.
Недавно наткнулся на курс от ThePrimeagen. Мужик работает в Netflix, прикольный контент на ютубе, в основном конечно про оптимизации по перфомансу.
Решил взглянуть на досуге, освежить память, и был реально удивлен качеством и подачей инфы (очень энергичный, этим и привлек изначально на ютубе).
В общем, всем советую, тем более курс полностью бесплатный, что для данной платформы обычно редкость.
https://frontendmasters.com/courses/algorithms/
Наверное для многих не секрет, что алгоритмы для многих - больная тема. А тем более для фронтенд разработчиков.
Недавно наткнулся на курс от ThePrimeagen. Мужик работает в Netflix, прикольный контент на ютубе, в основном конечно про оптимизации по перфомансу.
Решил взглянуть на досуге, освежить память, и был реально удивлен качеством и подачей инфы (очень энергичный, этим и привлек изначально на ютубе).
В общем, всем советую, тем более курс полностью бесплатный, что для данной платформы обычно редкость.
https://frontendmasters.com/courses/algorithms/
Frontendmasters
Algorithms & Data Structures | Learn Algorithms with TypeScript for Interviews
The last algorithms course you’ll need to pass tough interview questions that use arrays, lists, trees, graphs, maps, and searching and sorting algorithms.
🔥15❤8👍6🥰1💯1🍓1
Хочу поделиться небольшим советом, как я обычно пишу forceUpdate на хуках.
Наверное, многие из вас видели уже что-то подобное в моих уроках. Но я думаю, у многих из вас есть вопрос, Айюб, а когда же вообще пригодится
Вот несколько use case’ов, в которых я его юзаю:
1) Подписка на сторонние сервисы в effect’ах, при изменении которых надо обновить компонент. Что-то похожее делал react-redux в своем прошлом мажоре (до появления useSyncExternalStore).
2) Тестинг того, насколько хорошо мемоизируется компонент. Просто создаешь forceUpdate, пихаешь его в window и смотришь в devtools, какие компоненты ререндарятся без нужды.
3) Бывает полезно при использовании некоторых библиотек, например, для виртуализации. Обычно, они отдают этот метод наружу сами, через ref.
Use case такой, что у компонента есть мемоизация, пропсы не поменялись, но его все равно надо перерендерить, так как мемоизация не учитывает все факторы.
Как пример, часто в компоненты виртуализации передается высота строки и кол-во строк, а если текст в одной из строк поменялся, это не поведет за собой апдейта.
Есть ли еще какие-то ситуации, когда вам приходится использовать forceUpdate?
#react #devtips
const [,forceUpdate] = useReducer(v => v + 1, 0);
Наверное, многие из вас видели уже что-то подобное в моих уроках. Но я думаю, у многих из вас есть вопрос, Айюб, а когда же вообще пригодится
forceUpdate
?Вот несколько use case’ов, в которых я его юзаю:
1) Подписка на сторонние сервисы в effect’ах, при изменении которых надо обновить компонент. Что-то похожее делал react-redux в своем прошлом мажоре (до появления useSyncExternalStore).
2) Тестинг того, насколько хорошо мемоизируется компонент. Просто создаешь forceUpdate, пихаешь его в window и смотришь в devtools, какие компоненты ререндарятся без нужды.
3) Бывает полезно при использовании некоторых библиотек, например, для виртуализации. Обычно, они отдают этот метод наружу сами, через ref.
Use case такой, что у компонента есть мемоизация, пропсы не поменялись, но его все равно надо перерендерить, так как мемоизация не учитывает все факторы.
Как пример, часто в компоненты виртуализации передается высота строки и кол-во строк, а если текст в одной из строк поменялся, это не поведет за собой апдейта.
Есть ли еще какие-то ситуации, когда вам приходится использовать forceUpdate?
#react #devtips
GitHub
react-redux/src/hooks/useSelector.js at 7.x · reduxjs/react-redux
Official React bindings for Redux. Contribute to reduxjs/react-redux development by creating an account on GitHub.
❤12👍5🔥2🍓1
Пока компилируется проект, реши написать еще один пост по наболевшей теме на ревью и в целом, во многих проектах.
Это тема касающаяся функционального программирования. Наверное многие из вас знают хайп вокруг функционального программирования, чистых функций и immutable data structures.
Но тут я вижу одну проблему, многие только знают какие методы являются immutable, но не знают какова их цена и пихают их везде, где только можно.
Приведу пример кода:
Кажется, все написано, как нужно - нету мутаций, все функции чистые, все по канонам ФП.
Но давайте посмотрим на этот код с другой стороны…
В сумме, у нас выходит 4 итерации и 4 массива, 3 из которых будут собраны сборщиком мусора!
Можно написать тот же самый код в “императивном” стиле, и получить 1-у итерацию и 0 лишних массивов.
Можно конечно долго спорить о том, что первый способ лучше читается и тд. Но если адекватно назвать все переменные и не делать вложенные if’ы, то такой код будет не менее читаем, чем функциональный.
Да и работать будет в разы быстрее. Есть примеры еще более странные, но часто такое можно увидеть от новичков:
Если вдруг кто не знает concat - immutable метод, который объединяет 2 массива в один. В таком случае у нас вообще будет кубическое время и память.
И к тому же, в данном случае
В итоге, мутация у нас есть только внутри функции, где код полностью под нашим контролем. В таких НОРМАЛЬНО и даже НУЖНО использовать мутирующие методы.
Основаня идея immutable кода, это то, что не нужно лишний раз мутировать те переменные, которые пришли вам в конфиги/параметры/конструктор, любые внешние переменные, которые не контролируются вашим куском кода.
Вот такие дела.
#devtips #fp #react
Это тема касающаяся функционального программирования. Наверное многие из вас знают хайп вокруг функционального программирования, чистых функций и immutable data structures.
Но тут я вижу одну проблему, многие только знают какие методы являются immutable, но не знают какова их цена и пихают их везде, где только можно.
Приведу пример кода:
const stickyRows = Object.entries(this.props.stickyRows || {})
.map(([start, end]) => [parseInt(start, 10), end])
.filter(([start, end]) => {
return start < lastRow && (!end || end >= lastRow);
})
.map(([index]) => index);
Кажется, все написано, как нужно - нету мутаций, все функции чистые, все по канонам ФП.
Но давайте посмотрим на этот код с другой стороны…
Object.entries - O(n) память, O(n) cpu.
map - O(n) память, O(n) cpu, а тут их еще 2.
filter - тоже самое.
В сумме, у нас выходит 4 итерации и 4 массива, 3 из которых будут собраны сборщиком мусора!
Можно написать тот же самый код в “императивном” стиле, и получить 1-у итерацию и 0 лишних массивов.
const stickyRowsArray: number[] = [];
for (const key in stickyRowsMap) {
if (!hasOwn(stickyRowsMap, key)) {
continue;
}
const start = parseInt(key);
const end = stickyRowsMap[key];
const isInRange = start < lastRow && (!end || end >= lastRow);
if (!isInRange) {
continue;
}
stickyRowsArray.push(start);
}
Можно конечно долго спорить о том, что первый способ лучше читается и тд. Но если адекватно назвать все переменные и не делать вложенные if’ы, то такой код будет не менее читаем, чем функциональный.
Да и работать будет в разы быстрее. Есть примеры еще более странные, но часто такое можно увидеть от новичков:
function flattenOne(arrays) {
return arrays.reduce((result, array) => result.concat(array), []);
}
Если вдруг кто не знает concat - immutable метод, который объединяет 2 массива в один. В таком случае у нас вообще будет кубическое время и память.
O((N^2+2MN)/2)
, если быть точным, где M - размер вложенных массивов, а N - размер arrays.И к тому же, в данном случае
result.push
никак не испортил бы иммутабельность функции flattenOne
. reduce
создает полностью новый массив, переданный в параметр массив тоже arrays
никак не мутируется. В итоге, мутация у нас есть только внутри функции, где код полностью под нашим контролем. В таких НОРМАЛЬНО и даже НУЖНО использовать мутирующие методы.
Основаня идея immutable кода, это то, что не нужно лишний раз мутировать те переменные, которые пришли вам в конфиги/параметры/конструктор, любые внешние переменные, которые не контролируются вашим куском кода.
Вот такие дела.
#devtips #fp #react
❤19👍10🔥1💯1🍓1
Друзья, всем привет!
Давно не было видео у нас… Сегодня мы сново поговорим про React.
Разберем важную тему - react rendering stages (в каком порядке все происходит). К сожелению, замечаю, что многие в этом плохо понимают, поэтому решил сделать отедльный видос, где все объясню.
Осталяйте лайки и комментарии, чтобы видос лучше продвигался.
https://youtu.be/AcflYn8snMo
Давно не было видео у нас… Сегодня мы сново поговорим про React.
Разберем важную тему - react rendering stages (в каком порядке все происходит). К сожелению, замечаю, что многие в этом плохо понимают, поэтому решил сделать отедльный видос, где все объясню.
Осталяйте лайки и комментарии, чтобы видос лучше продвигался.
https://youtu.be/AcflYn8snMo
YouTube
КАЖДЫЙ REACT РАЗРАБОТЧИК ДОЛЖЕН ЭТО ЗНАТЬ | СТАДИИ РЕНДЕРИНГА REACT
В данном видео разберем тему, которую должен знать каждый React разработчик - это стадии рендеринга React. Поговорим про вызовы функций-компонентов, хуков useEffect и useLayoutEffect, разберемся когда и в каком порядке они вызываются.
Код из видео:
http…
Код из видео:
http…
🔥26❤6👍5🥰1💯1🍓1
Всем привет, друзья!
Ну чтож, вот и настал 2023, у кого-то уже есть новые цели, кто-то пока еще не определился с ними, а кто-то все еще взапое отходит от праздников (надеюсь среди моих подписчиков таких мало).
Вместо традиционных пожеланий, хотел бы подойти чуть более прагматично ко всему и поделиться с вами несколькими советами и мыслями о грядущем годе и как сделать его наиболее продуктивным.
В первую очередь, кастельно экономической ситуации:
Я не верю в то, что вот-вот скоро все станет лучше и вернется на место, кризиса я ждал еще с момента ковида. Мой дальнейший пост будет писаться именно с этого ракурса.
Работа, джуны, ЗП и тд:
Как вы сами знаете, много где сейчас фриз, много где сокращения. Так вот, если раньше можно было бы залететь на работу за 200к и не знать, каких-то очевидных вещей, так как была высокая нехватка кадров и особо привередничать не получалось, то сейчас же все по другому.
Увидел я это на примере опыта нескольких моих друзей, кто искали работу, в том числе и на своем опыте (об этом как-нибудь в другой раз).
Поэтому презиваю посмотреть в сторону серьезного обучения, не лениться и понять свои инструменты. Попробовать разобраться в концептах, которые вам не совсем понятны и далеки. Не откладывать все на потом.
Конечно же, при условии, если вы хотите быть актуальны на рынке. Особенно это касается джунов. В данный момент вряд ли кто-то будет брать человека, чтобы он стал продуктивным через 2 месяца, так как нет других вариантов.
Джуном устроиться можно, но это сложнее, и нужно иметь хорошую базу, чтобы после онбординга вы уже могли начать приносить пользу, решая хотя бы маленькие задачи.
Айюб, так что же мне делать?
Смотрите мои видео!
Я бы тут выделил несколько важных пунктов:
1) Нужна цель, конкретика, нельзя добраться до точки назначения, если вообще не знаешь ее. Чем конкретнее, тем лучше.
Например, я хочу стать крутым программистом - слишком размыто. Я хочу стать программистом, который может тянуть проект в одиночку - уже лучше.
А что для этого надо? Понятное дело, понимание концептов на фронте, но и опыт дизайна АПИ, коммуникации с беком, базовый devops и тд.
Можно идти дальше, сделать себе проект, который по вашему покроет эти нужды, и сделать его. Возможно найти и обсудить с кем-то сложные моменты и сомнительные решения.
Думаю идею вы поняли.
2) Не пренебрегайте возможностями на основной работе. Думаю многие на это попадались. На работе сделать тяп-ляп, а обучение уже на выходных и тд.
Зачем ограничивать себя? Можно ведь пробовать разные идеи, совершать ошибки и учится, при этом получать ЗП. Разве это не прелесть?
Часто вижу комментарии из разряда: “я один на проекте, что мне делать?”. Я сам попадался на такое, ожидание того, что какой-то супер сеньер на твоей работе научит тебя тайным секретам, которых нет на просторах интернета.
Все проблема в этом, если бы был сеньер на проекте - уже давно бы стал профи. А так нужно минимум 10 лет и 3 грыжи в позвоночнике.
Но, к сожалению, это не так. Ровно также, как от грыж можно избавиться регулярно деля упражнения, можно стать сеньером, деля сложные задачи и проекты, решения которых вы не знаете. Раздумывая над вашими решениями, ища альтернативы на просторах интернета.
Я очень часто натыкаюсь на такие прекрасные ответы в stackoverflow, которые спокойно тянут на статью, причем не маленькую, от людей, которые съели собаку (в переносном смысле), решая какую-то проблему на своей работе.
Просто это надо найти, научится делать правильные запросы к поисковику, если не получилось найти - переформулировать. Ну и не забывать, что все люди, зачастую, такие же, как вы.
Можно подумать, побрейнстормить с коллегами/друзьями о проблеме и прийти к хорошим решениям.
3) Не стоит бояться инвестировать в свое обучение, особенно для джунов. Я постоянно получаю вопросы о материалах на какую-то тему. И как только я советую что-то на английском, разговор часто на этом и заканчивается.
Ну чтож, вот и настал 2023, у кого-то уже есть новые цели, кто-то пока еще не определился с ними, а кто-то все еще в
Вместо традиционных пожеланий, хотел бы подойти чуть более прагматично ко всему и поделиться с вами несколькими советами и мыслями о грядущем годе и как сделать его наиболее продуктивным.
В первую очередь, кастельно экономической ситуации:
Я не верю в то, что вот-вот скоро все станет лучше и вернется на место, кризиса я ждал еще с момента ковида. Мой дальнейший пост будет писаться именно с этого ракурса.
Работа, джуны, ЗП и тд:
Как вы сами знаете, много где сейчас фриз, много где сокращения. Так вот, если раньше можно было бы залететь на работу за 200к и не знать, каких-то очевидных вещей, так как была высокая нехватка кадров и особо привередничать не получалось, то сейчас же все по другому.
Увидел я это на примере опыта нескольких моих друзей, кто искали работу, в том числе и на своем опыте (об этом как-нибудь в другой раз).
Поэтому презиваю посмотреть в сторону серьезного обучения, не лениться и понять свои инструменты. Попробовать разобраться в концептах, которые вам не совсем понятны и далеки. Не откладывать все на потом.
Конечно же, при условии, если вы хотите быть актуальны на рынке. Особенно это касается джунов. В данный момент вряд ли кто-то будет брать человека, чтобы он стал продуктивным через 2 месяца, так как нет других вариантов.
Джуном устроиться можно, но это сложнее, и нужно иметь хорошую базу, чтобы после онбординга вы уже могли начать приносить пользу, решая хотя бы маленькие задачи.
Айюб, так что же мне делать?
Я бы тут выделил несколько важных пунктов:
1) Нужна цель, конкретика, нельзя добраться до точки назначения, если вообще не знаешь ее. Чем конкретнее, тем лучше.
Например, я хочу стать крутым программистом - слишком размыто. Я хочу стать программистом, который может тянуть проект в одиночку - уже лучше.
А что для этого надо? Понятное дело, понимание концептов на фронте, но и опыт дизайна АПИ, коммуникации с беком, базовый devops и тд.
Можно идти дальше, сделать себе проект, который по вашему покроет эти нужды, и сделать его. Возможно найти и обсудить с кем-то сложные моменты и сомнительные решения.
Думаю идею вы поняли.
2) Не пренебрегайте возможностями на основной работе. Думаю многие на это попадались. На работе сделать тяп-ляп, а обучение уже на выходных и тд.
Зачем ограничивать себя? Можно ведь пробовать разные идеи, совершать ошибки и учится, при этом получать ЗП. Разве это не прелесть?
Часто вижу комментарии из разряда: “я один на проекте, что мне делать?”. Я сам попадался на такое, ожидание того, что какой-то супер сеньер на твоей работе научит тебя тайным секретам, которых нет на просторах интернета.
Все проблема в этом, если бы был сеньер на проекте - уже давно бы стал профи. А так нужно минимум 10 лет и 3 грыжи в позвоночнике.
Но, к сожалению, это не так. Ровно также, как от грыж можно избавиться регулярно деля упражнения, можно стать сеньером, деля сложные задачи и проекты, решения которых вы не знаете. Раздумывая над вашими решениями, ища альтернативы на просторах интернета.
Я очень часто натыкаюсь на такие прекрасные ответы в stackoverflow, которые спокойно тянут на статью, причем не маленькую, от людей, которые съели собаку (в переносном смысле), решая какую-то проблему на своей работе.
Просто это надо найти, научится делать правильные запросы к поисковику, если не получилось найти - переформулировать. Ну и не забывать, что все люди, зачастую, такие же, как вы.
Можно подумать, побрейнстормить с коллегами/друзьями о проблеме и прийти к хорошим решениям.
3) Не стоит бояться инвестировать в свое обучение, особенно для джунов. Я постоянно получаю вопросы о материалах на какую-то тему. И как только я советую что-то на английском, разговор часто на этом и заканчивается.
👍26🔥5❤3💯1🍓1
Представим ситуацию, вы джун, зарабатываете 70-80к, что вы сделаете с этими деньгами? Больше половины уйдет на жизнь, а остальное не сделает вас богатыми.
Вкладывайте все в себя, в первую очередь английский и свое здоровье. Потом в курсы, книги, коучинг и тд. Пусть даже 1/10 из всего окажется полезным, это будет стоить того.
Из примеров, на одном из моих собесов лид спросил о том, что я делаю вне работы, читаю или нет. На тот момент был еще джуном, вот только 17 исполнилось. Удивило, что через 2 месяца, он сказал, что при найме обратил сильное внимание на кругозор и что не просто кодю и играю в игры.
4) Парктика, практика, практика. К сожалению человек не такое существо, которое учится слушая лекцию или делая конспекты.
В первую очередь нужно большое кол-во практики. Если вы даже и примените предыдущий пункт, то без практики это будет почти бесполезно.
Старайтесь придерживаться процента 40 - изучение, 60 - практика. Чем выше ваш уровень, тем выше процент практики.
5) Мотивация, такая вещь, которая есть, пока не садишься за само дело. Один совет, который я хочу больше начать применять в своей жизни и вам тоже советую.
Вместо того, чтобы заставлять себя делать что-то, будь то идти в зал или изучить React, лучше создать себе внешнюю мотивацию.
Запишитесь на сорвенования по новичкам, марафон, составьте резюме с большим опытом и проходите с ним собесы, станьте спикером на митапе/конференции.
Ну чтож, чтобы не только говорить, в этом году коммичусь делать один пост в день в этой группе. Также буду выпускать 2 видео в неделю, начиная с 9-го числа.
За каждый пропущенный пост или видео буду разыгрывать $50 или созвон на 1 час со мной (по выбору победителя).
Прям не хочу отправлять это сообщение, но, что поделаешь. Надо развивать канал и свою дисциплину.
Вкладывайте все в себя, в первую очередь английский и свое здоровье. Потом в курсы, книги, коучинг и тд. Пусть даже 1/10 из всего окажется полезным, это будет стоить того.
Из примеров, на одном из моих собесов лид спросил о том, что я делаю вне работы, читаю или нет. На тот момент был еще джуном, вот только 17 исполнилось. Удивило, что через 2 месяца, он сказал, что при найме обратил сильное внимание на кругозор и что не просто кодю и играю в игры.
4) Парктика, практика, практика. К сожалению человек не такое существо, которое учится слушая лекцию или делая конспекты.
В первую очередь нужно большое кол-во практики. Если вы даже и примените предыдущий пункт, то без практики это будет почти бесполезно.
Старайтесь придерживаться процента 40 - изучение, 60 - практика. Чем выше ваш уровень, тем выше процент практики.
5) Мотивация, такая вещь, которая есть, пока не садишься за само дело. Один совет, который я хочу больше начать применять в своей жизни и вам тоже советую.
Вместо того, чтобы заставлять себя делать что-то, будь то идти в зал или изучить React, лучше создать себе внешнюю мотивацию.
Запишитесь на сорвенования по новичкам, марафон, составьте резюме с большим опытом и проходите с ним собесы, станьте спикером на митапе/конференции.
Ну чтож, чтобы не только говорить, в этом году коммичусь делать один пост в день в этой группе. Также буду выпускать 2 видео в неделю, начиная с 9-го числа.
За каждый пропущенный пост или видео буду разыгрывать $50 или созвон на 1 час со мной (по выбору победителя).
Прям не хочу отправлять это сообщение, но, что поделаешь. Надо развивать канал и свою дисциплину.
👍50❤11🔥8😁1💯1🍓1
❤30👍10🔥2💯1🍓1
Всем привет!
Очередной день, очередной пост. Хотел бы сегодня поделиться тем, что я ушел из Яндекса.
Это был по-настоящему крутой опыт, но оценив все переменные понял, что лучше будет попробовать себя в новой компании.
Куда ты ушел?
В первую очередь, ушел я в компанию Sarwa. Стартап, мобильное приложение для инвестиций, компания в Эмиратах, Дубае. Сегодня вот 3-й день работы, так что пока много не могу рассказать.
Вообще своим карьерным путем никогда не делался, дайте знать, если интересно.
Про Яндекс
Компания, как и сказал, очень крутая. Но тут нужно понимать все ее плюсы и минусы, да и вообще текущую ситуацию.
Не хочу превращать этот пост в очередное нытье про Яндекс и крупные корпорации (часто такое пишут те, кто не может туда пройти), так что давайте расскажу про плюсы:
1) Компетентные коллеги. В особенности бекенд, очень много крутых и опытных ребят, фронтов тоже есть хорошие, но не так много, думаю из-за большого зоопарка на фронте.
В общем, можно узнать много чего крутого. Для бека я думаю тут классно в том плане, что сложно найти компанию, где будет такая же нагрузка и сложно встретить подобные проблемы в более маленьких компаниях.
2) Много прикольных и полезных практик внутри, которые не всегда встретишь . Вот некоторые из них:
- trunk based development
- фича флаги. Да, они есть, но вместе с транк бейзд выходит намного лучше, чем git flow. Привыкнуть конечно надо, но тем ни менее.
- Монорепы, куча общих либ, инструментов, BFF и тд. Да это все есть, но мало где. Ну и нечасто все это ты делаешь не под 1 проект.
- много чего, о чем я не вспомнил
3) Компенсация, да, многие ноют про низкую ЗП, но общий доход обычно высокий. Да и в этом году обновили схему оплаты, новые люди получают очень неплохую ЗП. А с акциями был эффект снежного кома.
4) Можно ротироваться (менять проекты), по сути своего рода смена работы, но без увольнения.
5) Очень много разных плюшек - ДМС (+ скидка 80% для семьи), бесплатные обеды, зал, офис, врачи в офисе, корпоративы, кредиты с низким процентом и беспроцентные займы. Список можно реально составить очень большой. Намного больше, чем в других компаниях.
6) Очень гибкая компания, относятся к людям, как подобается, понимают, что это основная часть их компании.
Хороший пример с последними новостями, когда открыли офисы и переводят народ в Сербию/Казахстан/Армению, пытаются открыть офисы в других странах.
7) Одна из немногих компаний, где можно реально подняться по карьерной лестнице. Если есть реальный потенциал, то могут подобрать или под тебя создать должность/отдел чтобы ты дальше рос.
8) Оплата курсов, конференций, обучения, различные внутренние тренинги.
С плюсами, на самом деле можно еще продолжать и продолжать, их очень много.
Минусы:
1) На данный момент, это работа в России или на Российскую компанию за рубежом. По текущему курсу можно получать намного больше в зарубежке. Думаю дальше это будет заметнее все больше и больше.
2) Опять же не для всех, но я уже с мая не в России, поэтому большинство плюшек теряется. Ни офиса, ни ДМС, залов, обедов и тд.
3) С одной стороны, полугодовое ревью с оценкой сотрудников - круто. Каждый получается по повышения, премии и акции по результатам своей работы. Однако в какой-то момент это начинает выбешивать.
6 мес не на всех проектах значимый срок, однако, для оценок выше среднего тебе нужно показать именно результат конечный - который улучшает UX или приносит деньги.
Но сами понимаете, вначале все на чилле, а потом последние 2 мес все напряженно, так как от завершения проекта зависят не только твои результаты, но и всей команды.
Также проблема еще в том, что показатели сравнивают со смежниками, соответственно есть процент на каждую оценку на отдел. В своем роде, это такой бюджет менеджмент.
Так вот, если все вдруг сядут разом и будут очень много работать, то по итогу будет хуже всем. А тут еще беда в том, что в Яндексе таких я думаю больше, чем в других компаниях.
Через какой-то момент это просто надоедает.
4) Реально очень много своих инструментов и либ, из-за чего можно отстать от стандартов индустрии.
Очередной день, очередной пост. Хотел бы сегодня поделиться тем, что я ушел из Яндекса.
Это был по-настоящему крутой опыт, но оценив все переменные понял, что лучше будет попробовать себя в новой компании.
Куда ты ушел?
В первую очередь, ушел я в компанию Sarwa. Стартап, мобильное приложение для инвестиций, компания в Эмиратах, Дубае. Сегодня вот 3-й день работы, так что пока много не могу рассказать.
Вообще своим карьерным путем никогда не делался, дайте знать, если интересно.
Про Яндекс
Компания, как и сказал, очень крутая. Но тут нужно понимать все ее плюсы и минусы, да и вообще текущую ситуацию.
Не хочу превращать этот пост в очередное нытье про Яндекс и крупные корпорации (часто такое пишут те, кто не может туда пройти), так что давайте расскажу про плюсы:
1) Компетентные коллеги. В особенности бекенд, очень много крутых и опытных ребят, фронтов тоже есть хорошие, но не так много, думаю из-за большого зоопарка на фронте.
В общем, можно узнать много чего крутого. Для бека я думаю тут классно в том плане, что сложно найти компанию, где будет такая же нагрузка и сложно встретить подобные проблемы в более маленьких компаниях.
2) Много прикольных и полезных практик внутри, которые не всегда встретишь . Вот некоторые из них:
- trunk based development
- фича флаги. Да, они есть, но вместе с транк бейзд выходит намного лучше, чем git flow. Привыкнуть конечно надо, но тем ни менее.
- Монорепы, куча общих либ, инструментов, BFF и тд. Да это все есть, но мало где. Ну и нечасто все это ты делаешь не под 1 проект.
- много чего, о чем я не вспомнил
3) Компенсация, да, многие ноют про низкую ЗП, но общий доход обычно высокий. Да и в этом году обновили схему оплаты, новые люди получают очень неплохую ЗП. А с акциями был эффект снежного кома.
4) Можно ротироваться (менять проекты), по сути своего рода смена работы, но без увольнения.
5) Очень много разных плюшек - ДМС (+ скидка 80% для семьи), бесплатные обеды, зал, офис, врачи в офисе, корпоративы, кредиты с низким процентом и беспроцентные займы. Список можно реально составить очень большой. Намного больше, чем в других компаниях.
6) Очень гибкая компания, относятся к людям, как подобается, понимают, что это основная часть их компании.
Хороший пример с последними новостями, когда открыли офисы и переводят народ в Сербию/Казахстан/Армению, пытаются открыть офисы в других странах.
7) Одна из немногих компаний, где можно реально подняться по карьерной лестнице. Если есть реальный потенциал, то могут подобрать или под тебя создать должность/отдел чтобы ты дальше рос.
8) Оплата курсов, конференций, обучения, различные внутренние тренинги.
С плюсами, на самом деле можно еще продолжать и продолжать, их очень много.
Минусы:
1) На данный момент, это работа в России или на Российскую компанию за рубежом. По текущему курсу можно получать намного больше в зарубежке. Думаю дальше это будет заметнее все больше и больше.
2) Опять же не для всех, но я уже с мая не в России, поэтому большинство плюшек теряется. Ни офиса, ни ДМС, залов, обедов и тд.
3) С одной стороны, полугодовое ревью с оценкой сотрудников - круто. Каждый получается по повышения, премии и акции по результатам своей работы. Однако в какой-то момент это начинает выбешивать.
6 мес не на всех проектах значимый срок, однако, для оценок выше среднего тебе нужно показать именно результат конечный - который улучшает UX или приносит деньги.
Но сами понимаете, вначале все на чилле, а потом последние 2 мес все напряженно, так как от завершения проекта зависят не только твои результаты, но и всей команды.
Также проблема еще в том, что показатели сравнивают со смежниками, соответственно есть процент на каждую оценку на отдел. В своем роде, это такой бюджет менеджмент.
Так вот, если все вдруг сядут разом и будут очень много работать, то по итогу будет хуже всем. А тут еще беда в том, что в Яндексе таких я думаю больше, чем в других компаниях.
Через какой-то момент это просто надоедает.
4) Реально очень много своих инструментов и либ, из-за чего можно отстать от стандартов индустрии.
👍31🔥4❤3💯1🍓1
5) Опять же для кого-то это не минус, но работа в русскоязычном коллективе. Если есть планы дальше не оставаться в России и работать забугром, то лучше привыкать к английскому и их культуре.
6) Зависит от проекта, но часто бывает такое, что есть 1млн задач продуктовых, которые нужно сделать. Как только закончишь одно, сразу накидывают другое. Часто бывает, что тех моменты остаются на потом. Но тут нужно больше брать ответственность на себя и проталкивать нужные задачи.
7) Если нет цели расти в топ менеджмент и высокие позиции, можно прийти к моменту, когда “игра не стоит свеч”, ап на след уровень даст намного больше заморочек, чем денег.
Я лично был на 17-м грейде, я бы сказал, что для меня 16-й был бы прям супер чилл. Я бы сказал, что после 17-го уже очень сильно увеличиваются требования, я думаю дальше стоит не идти. Но и 17-й тоже может быть тяжелым, так как прыжок довольно значимый.
8) Большую часть времени просто работал, а вне работы был занят другими делами, что почти не было толку от стольких плюшек.
Заключение:
По итогу в яндексе я проработал 1.5 года, опыт был крутой. Однако после переезда и после того, как я определился со своими целями по карьере и финансам, я понял, что выгоднее будет найти что-то за рубежом.
Для тех, кто сейчас думает, стоит ли мне туда идти, я бы точно ответил, да! Особенно для тех, кто не так давно работает и живет в России. Опыт будет очень полезным.
Однако дам несколько советов:
- Не надо перерабатывать ради оценки, повышения и тд. Если у вас достаточный уровень - то закроете все нужное для повышения за 8 часов.
- Развлекайте себя сами, не надо закутываться в бесконечную продуктовую разработку, пока она не надоест вам. Если видите какие-то тех проблемы, закройте их. Сделайте какие-то улучшения вместе со своими задачами. Занимайтесь общими инструментами.
Да, может продукты будут не так рады, но вам самим будет намного интереснее.
- Есть очень много практик, которые применяют по дефолту. Попробуйте разобраться во всем. Что это за внутренний инструмент? Какие есть альтернативы с наружи и тд.
- Следите за индустрией, не всегда все внутренние решения находится в актуальном состоянии.
- Если есть возможность, работайте на чилле. Пользуйтесь плюшками, сходите к врачам по ДМС, ходите периодически играть в бильярд, пин-понг и тд. Идите на тренинги, конфы, покупайте курсы по интересным вам вещам, выступайте как спикер (это делать намного легче, когда ты в яндексе).
Короче, пользуйтесь тем, что вам дано. Да, может закроете на 1-2 тикета меньше в неделю, но в целом будет намного приятнее работать.
В любом случае работая программистом, богатым не станешь. Даже на свою ЗП квартиру в москве было бы купить не так просто (Я не тот человек, который будет брать 10-15 летние кредиты, чтобы привязать себя к работе и какой-то 2-3х комнатной квартире).
Так что если есть амбиции в плане высокого дохода, то лучше работать по меньше, жить на вполне комфортную ЗП и инвестировать свое время и деньги в другие активности, которые принесут вам деньги.
6) Зависит от проекта, но часто бывает такое, что есть 1млн задач продуктовых, которые нужно сделать. Как только закончишь одно, сразу накидывают другое. Часто бывает, что тех моменты остаются на потом. Но тут нужно больше брать ответственность на себя и проталкивать нужные задачи.
7) Если нет цели расти в топ менеджмент и высокие позиции, можно прийти к моменту, когда “игра не стоит свеч”, ап на след уровень даст намного больше заморочек, чем денег.
Я лично был на 17-м грейде, я бы сказал, что для меня 16-й был бы прям супер чилл. Я бы сказал, что после 17-го уже очень сильно увеличиваются требования, я думаю дальше стоит не идти. Но и 17-й тоже может быть тяжелым, так как прыжок довольно значимый.
8) Большую часть времени просто работал, а вне работы был занят другими делами, что почти не было толку от стольких плюшек.
Заключение:
По итогу в яндексе я проработал 1.5 года, опыт был крутой. Однако после переезда и после того, как я определился со своими целями по карьере и финансам, я понял, что выгоднее будет найти что-то за рубежом.
Для тех, кто сейчас думает, стоит ли мне туда идти, я бы точно ответил, да! Особенно для тех, кто не так давно работает и живет в России. Опыт будет очень полезным.
Однако дам несколько советов:
- Не надо перерабатывать ради оценки, повышения и тд. Если у вас достаточный уровень - то закроете все нужное для повышения за 8 часов.
- Развлекайте себя сами, не надо закутываться в бесконечную продуктовую разработку, пока она не надоест вам. Если видите какие-то тех проблемы, закройте их. Сделайте какие-то улучшения вместе со своими задачами. Занимайтесь общими инструментами.
Да, может продукты будут не так рады, но вам самим будет намного интереснее.
- Есть очень много практик, которые применяют по дефолту. Попробуйте разобраться во всем. Что это за внутренний инструмент? Какие есть альтернативы с наружи и тд.
- Следите за индустрией, не всегда все внутренние решения находится в актуальном состоянии.
- Если есть возможность, работайте на чилле. Пользуйтесь плюшками, сходите к врачам по ДМС, ходите периодически играть в бильярд, пин-понг и тд. Идите на тренинги, конфы, покупайте курсы по интересным вам вещам, выступайте как спикер (это делать намного легче, когда ты в яндексе).
Короче, пользуйтесь тем, что вам дано. Да, может закроете на 1-2 тикета меньше в неделю, но в целом будет намного приятнее работать.
В любом случае работая программистом, богатым не станешь. Даже на свою ЗП квартиру в москве было бы купить не так просто (Я не тот человек, который будет брать 10-15 летние кредиты, чтобы привязать себя к работе и какой-то 2-3х комнатной квартире).
Так что если есть амбиции в плане высокого дохода, то лучше работать по меньше, жить на вполне комфортную ЗП и инвестировать свое время и деньги в другие активности, которые принесут вам деньги.
👍72🔥3❤2💯1🍓1
В общем, как-то так. В конце концов решение принимать вам, а я поделился тем, что хотел бы сам знать, когда только начинал там работать.
#devtips
#devtips
👍21🔥8❤3💯1🍓1
Только узнал, что телега передлывает
8)
в 😍, пришлось править в сообщениях.❤12🤣11🔥2💯1🍓1
Так, продолжаем нашу рубрику регулярных постов. Сегодня большую часть времени пилил и готовил видосы, поэтому будет чуть короче.
Хотел бы обсудить такую тему, как принятие решений на проекте.
В большинстве случаев разработчики, особенно на фронте любят что-то новое, крутое, модное.
Однако не всегда подобные решения являются верными.
Стоит ли использовать для проекта какую-то новую и еще не закрепившуюся технологию?
Это очень хороший вопрос, который стоит постоянно себе задавать.
И, к сожалению, ответ на него обычно - нет.
Но почему же?
Да потому, что большинство проблем, которые решают данные инструменты, хоть и прикольные, но не актуальные.
В большинстве случаев, когда у вас проблема с перфомансом реакт - вы написали плохой код.
Когда у вас большой бандл - то подключается куча либ, и от того, что ваш фреймворк в 2 раза меньше нету смысла.
Да в конце концов, мало людей, кто знаком со сторонними инструментами.
За свои годы я понял, что мало кто знает даже свой основной фреймворк, не говоря уже о чем-то новом.
Однако, это не значит, что нужно вообще не использовать что-то новое, а скорее подходит в выбору с умом.
Лично я считаю, что если вы пилите какой-то проект и он чисто для вас и только вы его будете писать - то делайте, что хотите.
Если это работа - то лучше брать проверенные решения.
А если это какой-то мини проект, которые делаете вы, но в теории может кто-то быть в будущем, то можно взять что-то новое, но опять же с прагматизмом.
Например, Svelte думаю для этого будет нормальным. Особенно после того, как Vercel нанял его главного разработчика.
А вот какой-нибудь Astro я бы не стал брать.
Но опять же, смотрите сами, ваш проект - ваше решение.
И еще, часто у подобных инструментов бывают какие-то проблемы, которые вы можете заметить очень поздно и они будут критичны.
Например, со светлом как-то попал на такую историю, когда мы экспериментировали с ним на одном из проектов.
Была проблема с анимацией при переходе между экранами, точно не помню детали. И issue висел там уже больше года, как не сильно приоритетный.
Я в целом с приоритетами не сильно спорю, но не понятно было, как это можно обойти. В итоге просто убрали анимацию.
Такое не сразу заметишь, но можно в дальнейшем очень пожалеть о выборе.
Так что, будте более прагматичны.
#devtips
Хотел бы обсудить такую тему, как принятие решений на проекте.
В большинстве случаев разработчики, особенно на фронте любят что-то новое, крутое, модное.
Однако не всегда подобные решения являются верными.
Стоит ли использовать для проекта какую-то новую и еще не закрепившуюся технологию?
Это очень хороший вопрос, который стоит постоянно себе задавать.
И, к сожалению, ответ на него обычно - нет.
Но почему же?
Да потому, что большинство проблем, которые решают данные инструменты, хоть и прикольные, но не актуальные.
В большинстве случаев, когда у вас проблема с перфомансом реакт - вы написали плохой код.
Когда у вас большой бандл - то подключается куча либ, и от того, что ваш фреймворк в 2 раза меньше нету смысла.
Да в конце концов, мало людей, кто знаком со сторонними инструментами.
За свои годы я понял, что мало кто знает даже свой основной фреймворк, не говоря уже о чем-то новом.
Однако, это не значит, что нужно вообще не использовать что-то новое, а скорее подходит в выбору с умом.
Лично я считаю, что если вы пилите какой-то проект и он чисто для вас и только вы его будете писать - то делайте, что хотите.
Если это работа - то лучше брать проверенные решения.
А если это какой-то мини проект, которые делаете вы, но в теории может кто-то быть в будущем, то можно взять что-то новое, но опять же с прагматизмом.
Например, Svelte думаю для этого будет нормальным. Особенно после того, как Vercel нанял его главного разработчика.
А вот какой-нибудь Astro я бы не стал брать.
Но опять же, смотрите сами, ваш проект - ваше решение.
И еще, часто у подобных инструментов бывают какие-то проблемы, которые вы можете заметить очень поздно и они будут критичны.
Например, со светлом как-то попал на такую историю, когда мы экспериментировали с ним на одном из проектов.
Была проблема с анимацией при переходе между экранами, точно не помню детали. И issue висел там уже больше года, как не сильно приоритетный.
Я в целом с приоритетами не сильно спорю, но не понятно было, как это можно обойти. В итоге просто убрали анимацию.
Такое не сразу заметишь, но можно в дальнейшем очень пожалеть о выборе.
Так что, будте более прагматичны.
#devtips
🔥24👍10❤2👏1💯1🍓1