Зачем программисту сопроводительное, и как его написать?
Немного про пользу сопроводительных писем
Писать отдельное сопроводительное под каждую интересную вакансию — это труд, который к тому же никто не оплачивает. Зачем же оно нужно, ведь и так есть резюме?
Отвечаю: если на вакансию есть хотя бы 2 кандидата с похожими вводными, то скорее возьмут того, у кого хорошее сопроводительное. И чем выше конкуренция за вакансию, тем важнее его роль.
Как это работает?
Сопроводительное письмо выполняет 2 задачи:
• создаёт у получателя мотивацию открыть резюме;
• показывает вашу заинтересованность в конкретной компании.
Объясню подробнее.
Человек, который получит ваш отклик, скорее всего, параллельно решает десяток текущих рабочих дел. У него нет времени на вдумчивое изучение каждого резюме. Главная задача сопроводительного письма — за минуту дать общее представление о кандидате. Если сопроводительное составлено нормально, резюме откроют. Если нет — до резюме могут и не дойти.
Что должно быть в сопроводительном?
• тема письма с названием вакансии — это позволит вашему отклику не затеряться в потоке входящих писем и не попасть в спам;
• не забываем поздороваться и представиться — вежливость тоже важна;
• короткий рассказ про ваши навыки и релевантный опыт работы;
• ответ на вопрос, почему решили откликнуться.
Как писать про релевантный опыт, чтобы заинтересовать работодателя?
В сопроводительном письме вы пишете только про те навыки, которые запрашивают в тексте вакансии. Опишите их в том те порядке, как они представлены в требованиях к кандидату. Если каких-то знаний и навыков у вас нет — открыто скажите об этом. Для работодателя они могут быть не критичны, зато ваша честность — точно критична.
У вас должен получиться текст не больше двух абзацев. Помним: ваш отклик будет одним из многих писем, которые получатель прочитает за день. Чем оно короче, тем выше шанс, что его дочитают и запомнят.
С высокой вероятностью первый, кто увидит ваше письмо — это рекрутёр. Он может ничего не знать про труд программиста и будет ориентироваться только на формальный запрос от отдела разработки. Лучше писать максимально простым языком без использования специфической терминологии — так выше шанс, что вас правильно поймут.
Что рекрутёр точно отметит — это хорошие навыки коммуникации, умение самостоятельно решать проблемы, инициативность и увлечённость своим делом. Этому можно посвятить заключительный абзац письма. Покажите на примере, как у вас проявлены эти качества. Есть свой Git-репозиторий? Пишете статьи для Хабра? Были руководителем, но опыт работы не релевантен вакансии? Напишите об этом, и вам воздастся.
И последнее, возможно, самое важное правило: сопроводительное письмо и резюме надо адаптировать под конкретную компанию. Знаю по себе: шаблонные отклики и резюме с заголовком, не соответствующим названию вакансии, портят впечатление о претенденте. Также как и ошибки. Поэтому серьёзно отнеситесь к этой задаче: второго первого впечатления вы уже не сможете произвести.
Немного про пользу сопроводительных писем
Писать отдельное сопроводительное под каждую интересную вакансию — это труд, который к тому же никто не оплачивает. Зачем же оно нужно, ведь и так есть резюме?
Отвечаю: если на вакансию есть хотя бы 2 кандидата с похожими вводными, то скорее возьмут того, у кого хорошее сопроводительное. И чем выше конкуренция за вакансию, тем важнее его роль.
Как это работает?
Сопроводительное письмо выполняет 2 задачи:
• создаёт у получателя мотивацию открыть резюме;
• показывает вашу заинтересованность в конкретной компании.
Объясню подробнее.
Человек, который получит ваш отклик, скорее всего, параллельно решает десяток текущих рабочих дел. У него нет времени на вдумчивое изучение каждого резюме. Главная задача сопроводительного письма — за минуту дать общее представление о кандидате. Если сопроводительное составлено нормально, резюме откроют. Если нет — до резюме могут и не дойти.
Что должно быть в сопроводительном?
• тема письма с названием вакансии — это позволит вашему отклику не затеряться в потоке входящих писем и не попасть в спам;
• не забываем поздороваться и представиться — вежливость тоже важна;
• короткий рассказ про ваши навыки и релевантный опыт работы;
• ответ на вопрос, почему решили откликнуться.
Как писать про релевантный опыт, чтобы заинтересовать работодателя?
В сопроводительном письме вы пишете только про те навыки, которые запрашивают в тексте вакансии. Опишите их в том те порядке, как они представлены в требованиях к кандидату. Если каких-то знаний и навыков у вас нет — открыто скажите об этом. Для работодателя они могут быть не критичны, зато ваша честность — точно критична.
У вас должен получиться текст не больше двух абзацев. Помним: ваш отклик будет одним из многих писем, которые получатель прочитает за день. Чем оно короче, тем выше шанс, что его дочитают и запомнят.
С высокой вероятностью первый, кто увидит ваше письмо — это рекрутёр. Он может ничего не знать про труд программиста и будет ориентироваться только на формальный запрос от отдела разработки. Лучше писать максимально простым языком без использования специфической терминологии — так выше шанс, что вас правильно поймут.
Что рекрутёр точно отметит — это хорошие навыки коммуникации, умение самостоятельно решать проблемы, инициативность и увлечённость своим делом. Этому можно посвятить заключительный абзац письма. Покажите на примере, как у вас проявлены эти качества. Есть свой Git-репозиторий? Пишете статьи для Хабра? Были руководителем, но опыт работы не релевантен вакансии? Напишите об этом, и вам воздастся.
И последнее, возможно, самое важное правило: сопроводительное письмо и резюме надо адаптировать под конкретную компанию. Знаю по себе: шаблонные отклики и резюме с заголовком, не соответствующим названию вакансии, портят впечатление о претенденте. Также как и ошибки. Поэтому серьёзно отнеситесь к этой задаче: второго первого впечатления вы уже не сможете произвести.
🔥8❤4👍4👏2
Как правильно стартануть в IT? Не бросить, не перегореть?
Уже писал, что идея быстро зайти в IT мне не близка. Фундаментальные знания и навыки не формируются мгновенно. Но есть шаги, которые однозначно повысят шансы найти первую работу в IT и не разочароваться в себе по дороге.
Отказаться от идеи быстрых результатов
Обучение программированию похоже на занятия в спортзале: надо заниматься каждый день, чтобы увидеть результаты через год-два.
Сколько людей, которые покупают абонемент в спортзал и ходят в него регулярно? Меньше половины. А сколько студентов онлайн-школ доходят до защиты диплома? По официальной статистике — 20%.
С самого начала важно понимать: соблазн всё бросить будет очень велик. Но также важно понимать, что когда трудно — это нормально. Только так формируются нужные в работе нейронные связи: через усилие и регулярность.
Не жалеть времени на базу
Знание структур данных, владение алгоритмами, понимание паттернов проектирования и умение их осознанно применять — необходимый фундамент для разработчика.
Это сложный материал. Потребуется время и огромное желание, чтобы его действительно освоить. Тем более, что важно не просто читать нужные книги, но и применять полученные знания на практике.
Но это однозначный маст-хэв, если вы хотите развиваться в профессии.
Писать код
Опыт в написании кода повышает шансы устроиться на работу. Даже если это только учебные проекты, за которые вам никто не платил. Поэтому разумно начинать работу над своим портфолио ещё во время обучения.
Часто новички, чтобы поразить работодателя, тратят время на поиск оригинального подхода к решению или берутся за амбициозные задачи, к которым не готовы.
И это ошибка.
Для позиции джуна сложных уникальных решений не надо. Важнее показать 2 вещи:
• умение писать чистый код без костылей;
• знакомство с правилами командной работы над кодом.
Если вы грамотно и к месту реализуете типовое решение, дадите понятные имена переменным и закомментируете код, то этого будет вполне достаточно.
Общаться с теми, кто уже в профессии
Ваше окружение влияет на ваш взгляд на мир. Когда общаешься с людьми из сферы IT, волей-неволей начинаешь перенимать их образ мыслей и ценности.
Почему это важно?
• Такой опыт расширяет гибкость мышления — вы видите, что у задачи есть несколько решений и учитесь оценивать их эффективность.
• Он даёт более объёмное представление о своих перспективах в профессии — вы начинаете осознаннее подходить к построению карьеры.
• Вы будете лучше понимать, что от вас ждут будущие работодатели, а значит — лучше подготовитесь к общению с ними.
Если у вас в семье или окружении нет живого программиста, то самый простой способ его найти — это наставничество. Сейчас есть много платформ для поиска платного ментора. Но, конечно, никто вам не запрещает напрямую обращаться за консультацией к тем, с кем вы хотели бы пообщаться.
Я был наставником для 10 человек: помогал джунам вырасти до мидлов, а мидлам — до сеньоров. И считаю этот способ одним из самых эффективных инструментов обучения.
Если вам интересно узнать про мой опыт наставничества, ставьте + в комментариях, и я напишу об этом пост.
Ну а в качестве заключения к сегодняшней теме — короткий вывод: чтобы красиво стартануть в IT, надо осознанно готовиться к этому заранее.
Не ждите, что вас всему научат: ВУЗ или курсы дают только базу, которую надо дорабатывать самостоятельно. И к сожалению, волшебной таблетки тут нет: чем больше сил вы потратите на самоподготовку, тем выше ваши шансы преуспеть в IT.
А если тяжело — ищите наставника. Иногда час живого общения с профессионалом даст вам больше, чем десяток книг.
Уже писал, что идея быстро зайти в IT мне не близка. Фундаментальные знания и навыки не формируются мгновенно. Но есть шаги, которые однозначно повысят шансы найти первую работу в IT и не разочароваться в себе по дороге.
Отказаться от идеи быстрых результатов
Обучение программированию похоже на занятия в спортзале: надо заниматься каждый день, чтобы увидеть результаты через год-два.
Сколько людей, которые покупают абонемент в спортзал и ходят в него регулярно? Меньше половины. А сколько студентов онлайн-школ доходят до защиты диплома? По официальной статистике — 20%.
С самого начала важно понимать: соблазн всё бросить будет очень велик. Но также важно понимать, что когда трудно — это нормально. Только так формируются нужные в работе нейронные связи: через усилие и регулярность.
Не жалеть времени на базу
Знание структур данных, владение алгоритмами, понимание паттернов проектирования и умение их осознанно применять — необходимый фундамент для разработчика.
Это сложный материал. Потребуется время и огромное желание, чтобы его действительно освоить. Тем более, что важно не просто читать нужные книги, но и применять полученные знания на практике.
Но это однозначный маст-хэв, если вы хотите развиваться в профессии.
Писать код
Опыт в написании кода повышает шансы устроиться на работу. Даже если это только учебные проекты, за которые вам никто не платил. Поэтому разумно начинать работу над своим портфолио ещё во время обучения.
Часто новички, чтобы поразить работодателя, тратят время на поиск оригинального подхода к решению или берутся за амбициозные задачи, к которым не готовы.
И это ошибка.
Для позиции джуна сложных уникальных решений не надо. Важнее показать 2 вещи:
• умение писать чистый код без костылей;
• знакомство с правилами командной работы над кодом.
Если вы грамотно и к месту реализуете типовое решение, дадите понятные имена переменным и закомментируете код, то этого будет вполне достаточно.
Общаться с теми, кто уже в профессии
Ваше окружение влияет на ваш взгляд на мир. Когда общаешься с людьми из сферы IT, волей-неволей начинаешь перенимать их образ мыслей и ценности.
Почему это важно?
• Такой опыт расширяет гибкость мышления — вы видите, что у задачи есть несколько решений и учитесь оценивать их эффективность.
• Он даёт более объёмное представление о своих перспективах в профессии — вы начинаете осознаннее подходить к построению карьеры.
• Вы будете лучше понимать, что от вас ждут будущие работодатели, а значит — лучше подготовитесь к общению с ними.
Если у вас в семье или окружении нет живого программиста, то самый простой способ его найти — это наставничество. Сейчас есть много платформ для поиска платного ментора. Но, конечно, никто вам не запрещает напрямую обращаться за консультацией к тем, с кем вы хотели бы пообщаться.
Я был наставником для 10 человек: помогал джунам вырасти до мидлов, а мидлам — до сеньоров. И считаю этот способ одним из самых эффективных инструментов обучения.
Если вам интересно узнать про мой опыт наставничества, ставьте + в комментариях, и я напишу об этом пост.
Ну а в качестве заключения к сегодняшней теме — короткий вывод: чтобы красиво стартануть в IT, надо осознанно готовиться к этому заранее.
Не ждите, что вас всему научат: ВУЗ или курсы дают только базу, которую надо дорабатывать самостоятельно. И к сожалению, волшебной таблетки тут нет: чем больше сил вы потратите на самоподготовку, тем выше ваши шансы преуспеть в IT.
А если тяжело — ищите наставника. Иногда час живого общения с профессионалом даст вам больше, чем десяток книг.
👍11🔥5❤1👏1
Предметно-ориентированное проектирование: почему его важно знать разработчику?
Я убеждён, что за предметно-ориентированным проектированием (DDD, domain-driven design) — будущее. Уже сейчас знакомство с этим подходом может принести вам ощутимую пользу. Не важно, попадёте ли вы на работу в команду, практикующую DDD, или сами будете создавать такую команду — знание основных его понятий точно не будет лишним.
Главная фишка DDD — единый понятийный язык для описания бизнес-процессов, который одинаково понятен и заказчику и разработчику.
Почему это важно?
Когда логика программы не отражает реальных процессов, для которых мы создаём ПО, возникает ряд трудностей.
Технозависимость: программа разрабатывается, исходя из логики внутренних задач программиста. Для пользователя такое решение может оказаться нелогичным и неудобным.
Трудно вносить изменения: со временем бизнес-процессы будут меняться, что потребует изменений в ПО. Если логика разработки не совпадает с логикой описываемых процессов, синхронизация изменений будет связана с дополнительными затратами.
Проблемы с подключением новых разработчиков: новичку будет проще вникнуть в документацию по проекту, если понятийный аппарат ПО адекватен предметной области проекта.
Основные понятия DDD
Агрегат — набор объектов, управляемых как единое целое. Обычно они описывают концепции реального мира. Пример агрегата для онлайн-магазина — это «Заказ». У него могут быть состояния: принят, обработан, отменён и т. д.
В целом, агрегат — нечто, имеющее состояние, идентичность и жизненный цикл.
Микросервис — программа с ограниченным контекстом, которая управляет состоянием агрегата. Они помогают представить четкую границу модели и скрывают внутреннюю сложность реализации.
Один микросервис может управлять несколькими агрегатами, но агрегатом может управлять только один микросервис. На практике мы стремимся, чтобы каждый микросервис управлял только одним агрегатом.
Если хотите глубже разобраться в теме, у меня есть подробные статьи о DDD:
Цифровизация бизнеса: подходы к созданию цифровой модели
Моделирование микросервисов. Часть 1
Моделирование микросервисов. Часть 2
Поделюсь своими впечатлениями от работы с DDD. Помимо описанных преимуществ мне нравится его гибкость. Его легко совмещать с другими подходами к разработке.
Главное, что даёт DDD — это возможность общаться с заказчиком на одном языке и лучше понимать его запрос. А зачастую именно это становится самой сложной задачей в процессе нашей работы.
Я убеждён, что за предметно-ориентированным проектированием (DDD, domain-driven design) — будущее. Уже сейчас знакомство с этим подходом может принести вам ощутимую пользу. Не важно, попадёте ли вы на работу в команду, практикующую DDD, или сами будете создавать такую команду — знание основных его понятий точно не будет лишним.
Главная фишка DDD — единый понятийный язык для описания бизнес-процессов, который одинаково понятен и заказчику и разработчику.
Почему это важно?
Когда логика программы не отражает реальных процессов, для которых мы создаём ПО, возникает ряд трудностей.
Технозависимость: программа разрабатывается, исходя из логики внутренних задач программиста. Для пользователя такое решение может оказаться нелогичным и неудобным.
Трудно вносить изменения: со временем бизнес-процессы будут меняться, что потребует изменений в ПО. Если логика разработки не совпадает с логикой описываемых процессов, синхронизация изменений будет связана с дополнительными затратами.
Проблемы с подключением новых разработчиков: новичку будет проще вникнуть в документацию по проекту, если понятийный аппарат ПО адекватен предметной области проекта.
Основные понятия DDD
Агрегат — набор объектов, управляемых как единое целое. Обычно они описывают концепции реального мира. Пример агрегата для онлайн-магазина — это «Заказ». У него могут быть состояния: принят, обработан, отменён и т. д.
В целом, агрегат — нечто, имеющее состояние, идентичность и жизненный цикл.
Микросервис — программа с ограниченным контекстом, которая управляет состоянием агрегата. Они помогают представить четкую границу модели и скрывают внутреннюю сложность реализации.
Один микросервис может управлять несколькими агрегатами, но агрегатом может управлять только один микросервис. На практике мы стремимся, чтобы каждый микросервис управлял только одним агрегатом.
Если хотите глубже разобраться в теме, у меня есть подробные статьи о DDD:
Цифровизация бизнеса: подходы к созданию цифровой модели
Моделирование микросервисов. Часть 1
Моделирование микросервисов. Часть 2
Поделюсь своими впечатлениями от работы с DDD. Помимо описанных преимуществ мне нравится его гибкость. Его легко совмещать с другими подходами к разработке.
Главное, что даёт DDD — это возможность общаться с заказчиком на одном языке и лучше понимать его запрос. А зачастую именно это становится самой сложной задачей в процессе нашей работы.
👍5🔥4
Почему программисту нужна база?
Разработчик — это человек, который умеет программировать в целом, независимо от языка, платформы и технологий. Зная общие принципы, можно освоить любой язык. И в обратную сторону: если вы знаете язык, знакомство с общей базой прокачает ваш профессиональный уровень.
Уже писал, какие знания входят в понятие базы. Сегодня расскажу о них подробнее.
Структуры и алгоритмы обработки данных
Знакомство со структурами и алгоритмами необходимо, чтобы написать работающий код, который не будет решать 5-секундную задачу за 15 минут.
Знание структур данных поможет эффективно обрабатывать входящий поток данных и грамотно преобразовывать их. А знакомство с алгоритмами позволяет осмысленно декомпозировать задачу и выявлять нужную последовательность действий.
Что не менее важно, владея инструментами анализа алгоритмов, вы сможете отследить, какой участок кода тормозит работу программы. Почему, например, O(n^2) хуже, чем O(n*log(n)), и как можно преобразовывать неэффективное решение.
Паттерны проектирования
Паттерны — это типовые подходы к решению задач в программировании. Знание этих подходов сильно ускоряет написание кода.
Кроме того, оно прокачивает способность анализировать код: вы не разбиваете программу на строки, а видите её в виде крупных смысловых блоков, которыми можно оперировать по своему усмотрению.
Системный дизайн
Он помогает выстраивать масштабируемые и оптимальные архитектуры для программных систем. Знаний по системному дизайну не требуют от джунов. И даже не все мидлы ими обладают. Но развитие этого навыка — отличный способ выделиться из массы других разработчиков.
Насколько глубоко надо знать базу?
Как минимум, с ней надо ознакомиться.
Её не надо специально учить наизусть. Если что-то забыли — можно загуглить.
Куда важнее — понимать суть. Например, если знать принцип работы паттерна, его можно воспроизвести, не помня деталей.
Поэтому главный совет при освоении базы — применяйте знания на практике: решайте задачи, старайтесь пересказать новую информацию своими словами, пишите простые программы, чтобы проверить себя на практике. Так вы сформируете скелет своего профессионализма, на который впоследствии, можно наращивать мясо из тонкостей, деталей и специфики.
Разработчик — это человек, который умеет программировать в целом, независимо от языка, платформы и технологий. Зная общие принципы, можно освоить любой язык. И в обратную сторону: если вы знаете язык, знакомство с общей базой прокачает ваш профессиональный уровень.
Уже писал, какие знания входят в понятие базы. Сегодня расскажу о них подробнее.
Структуры и алгоритмы обработки данных
Знакомство со структурами и алгоритмами необходимо, чтобы написать работающий код, который не будет решать 5-секундную задачу за 15 минут.
Знание структур данных поможет эффективно обрабатывать входящий поток данных и грамотно преобразовывать их. А знакомство с алгоритмами позволяет осмысленно декомпозировать задачу и выявлять нужную последовательность действий.
Что не менее важно, владея инструментами анализа алгоритмов, вы сможете отследить, какой участок кода тормозит работу программы. Почему, например, O(n^2) хуже, чем O(n*log(n)), и как можно преобразовывать неэффективное решение.
Паттерны проектирования
Паттерны — это типовые подходы к решению задач в программировании. Знание этих подходов сильно ускоряет написание кода.
Кроме того, оно прокачивает способность анализировать код: вы не разбиваете программу на строки, а видите её в виде крупных смысловых блоков, которыми можно оперировать по своему усмотрению.
Системный дизайн
Он помогает выстраивать масштабируемые и оптимальные архитектуры для программных систем. Знаний по системному дизайну не требуют от джунов. И даже не все мидлы ими обладают. Но развитие этого навыка — отличный способ выделиться из массы других разработчиков.
Насколько глубоко надо знать базу?
Как минимум, с ней надо ознакомиться.
Её не надо специально учить наизусть. Если что-то забыли — можно загуглить.
Куда важнее — понимать суть. Например, если знать принцип работы паттерна, его можно воспроизвести, не помня деталей.
Поэтому главный совет при освоении базы — применяйте знания на практике: решайте задачи, старайтесь пересказать новую информацию своими словами, пишите простые программы, чтобы проверить себя на практике. Так вы сформируете скелет своего профессионализма, на который впоследствии, можно наращивать мясо из тонкостей, деталей и специфики.
👍22🔥5👏2
Ты не станешь программистом: почему так трудно сменить профессию и уйти в IT?
При обилии доступной информации, онлайн-курсов и книг по всем направлениям программирования, только малый процент желающих доходит до заветной цели — своей первой работы в IT. Почему?
Перечислю основные причины неудач, с которыми сталкивался сам.
Не твоё призвание
Если вы решили пойти в IT только ради денег, то у меня для вас плохие новости: скорее всего, такой мотивации не хватит, чтобы дойти до цели.
Сейчас заработать аналогичные деньги можно в большом количестве других сфер. И легче всего там, где вам по-настоящему интересно.
Недостаток мотивации
95% людей не обладают должной внутренней самодисциплиной. Из-за этого многие бросают занятия в середине пути. Даже если уже потратили на них своё время и деньги.
Я тоже могу отнести себя к этим 95%. Поэтому, когда я в очередной раз собрался пойти в зал — нанял тренера.
Это пример внешней мотивации, которую можно использовать в любом деле. Не хватает силы воли? Придумайте для себя систему принуждения, которая будет давить на вас извне.
Отсутствие плана и привычки
Смена профессии — сложная задача, которая пугает своей объёмностью. Если чувствуете, что саботируете её, вам помогут два приема.
Первый — начать прямо сейчас. Хоть чуть-чуть, но сейчас. Так вы убедите себя в том, что это посильно.
Второй — разбейте всю работу на маленькие шаги: составьте подробный план на бумаге и придумайте систему поощрения за конечный результат и промежуточные успехи. Мысленно пройдите все этапы намеченного плана, прежде чем приступать к нему в реальности. Мы тяжело идём в неизвестное. А то, что нам уже знакомо, хотя бы в воображении — принимаем без сопротивления.
Говорят, что привычка формируется 21 день. Я не соглашусь. Чтобы привычка стала вашей натурой — потребуется минимум год. До этого придётся заставлять себя заниматься усилием воли.
Горечь неудач
Неудачи снижают нашу уверенность в себе. Если это была серия неудач, то самооценка падает ниже плинтуса. Самым рациональным было бы продолжать двигаться дальше. Но мы все живем эмоциями. Если нет эмоционального подкрепления, то двигаться дальше можно только по инерции.
Я советую в такие моменты хвалить себя за положительные качества и достижения. А лучше — выписывать их в ежедневник. Это очень поможет вновь нащупать почву под ногами.
Безусловно, очень помогают единомышленники, которые поддержат в минуту кризиса. Особенно те, кто уже прошел этот путь и смотрит на эти невзгоды как на временные трудности.
Неэффективность
Если вы никогда не проходили какой-то путь, дорога будет очень извилистой и трудной. Вы совершите много ошибок, потратите уйму времени, а в итоге можете прийти совсем не туда.
Поэтому сперва надо обозначить цель. Откройте вакансии вашей мечты и смотрите, какие навыки в них требуются. Не советую выбирать сразу топовые вакансии для профессионалов. Попробуйте выбрать цель поближе — вакансию попроще: чем длиннее будет ваш путь, тем ниже вероятность, что вы пройдете его до конца.
Итак, вы выбрали себе цель и она сравнительно близка к вам. Но добраться до неё будет непросто. На пути к ней вы будете падать, подниматься и двигаться дальше.
Мне потребовались годы и множество книг по психологии, чтобы научиться контролировать свою мотивацию и продолжать движение вперед после очередной неудачи.
Любой серьёзный успех приходит после череды глубоких кризисов. К ним надо быть готовым и не отказываться от намеченной цели после первого же провала.
Этот пост — сокращённая версия моей статьи на Хабре. Полный вариант текста ищите здесь: https://habr.com/ru/articles/768932/
Думаю, что многие из вас могут привести еще больше причин, которые приводят к неудачам при построении карьеры. Если вам есть чем поделиться — обязательно напишите об этом в комментариях!
При обилии доступной информации, онлайн-курсов и книг по всем направлениям программирования, только малый процент желающих доходит до заветной цели — своей первой работы в IT. Почему?
Перечислю основные причины неудач, с которыми сталкивался сам.
Не твоё призвание
Если вы решили пойти в IT только ради денег, то у меня для вас плохие новости: скорее всего, такой мотивации не хватит, чтобы дойти до цели.
Сейчас заработать аналогичные деньги можно в большом количестве других сфер. И легче всего там, где вам по-настоящему интересно.
Недостаток мотивации
95% людей не обладают должной внутренней самодисциплиной. Из-за этого многие бросают занятия в середине пути. Даже если уже потратили на них своё время и деньги.
Я тоже могу отнести себя к этим 95%. Поэтому, когда я в очередной раз собрался пойти в зал — нанял тренера.
Это пример внешней мотивации, которую можно использовать в любом деле. Не хватает силы воли? Придумайте для себя систему принуждения, которая будет давить на вас извне.
Отсутствие плана и привычки
Смена профессии — сложная задача, которая пугает своей объёмностью. Если чувствуете, что саботируете её, вам помогут два приема.
Первый — начать прямо сейчас. Хоть чуть-чуть, но сейчас. Так вы убедите себя в том, что это посильно.
Второй — разбейте всю работу на маленькие шаги: составьте подробный план на бумаге и придумайте систему поощрения за конечный результат и промежуточные успехи. Мысленно пройдите все этапы намеченного плана, прежде чем приступать к нему в реальности. Мы тяжело идём в неизвестное. А то, что нам уже знакомо, хотя бы в воображении — принимаем без сопротивления.
Говорят, что привычка формируется 21 день. Я не соглашусь. Чтобы привычка стала вашей натурой — потребуется минимум год. До этого придётся заставлять себя заниматься усилием воли.
Горечь неудач
Неудачи снижают нашу уверенность в себе. Если это была серия неудач, то самооценка падает ниже плинтуса. Самым рациональным было бы продолжать двигаться дальше. Но мы все живем эмоциями. Если нет эмоционального подкрепления, то двигаться дальше можно только по инерции.
Я советую в такие моменты хвалить себя за положительные качества и достижения. А лучше — выписывать их в ежедневник. Это очень поможет вновь нащупать почву под ногами.
Безусловно, очень помогают единомышленники, которые поддержат в минуту кризиса. Особенно те, кто уже прошел этот путь и смотрит на эти невзгоды как на временные трудности.
Неэффективность
Если вы никогда не проходили какой-то путь, дорога будет очень извилистой и трудной. Вы совершите много ошибок, потратите уйму времени, а в итоге можете прийти совсем не туда.
Поэтому сперва надо обозначить цель. Откройте вакансии вашей мечты и смотрите, какие навыки в них требуются. Не советую выбирать сразу топовые вакансии для профессионалов. Попробуйте выбрать цель поближе — вакансию попроще: чем длиннее будет ваш путь, тем ниже вероятность, что вы пройдете его до конца.
Итак, вы выбрали себе цель и она сравнительно близка к вам. Но добраться до неё будет непросто. На пути к ней вы будете падать, подниматься и двигаться дальше.
Мне потребовались годы и множество книг по психологии, чтобы научиться контролировать свою мотивацию и продолжать движение вперед после очередной неудачи.
Любой серьёзный успех приходит после череды глубоких кризисов. К ним надо быть готовым и не отказываться от намеченной цели после первого же провала.
Этот пост — сокращённая версия моей статьи на Хабре. Полный вариант текста ищите здесь: https://habr.com/ru/articles/768932/
Думаю, что многие из вас могут привести еще больше причин, которые приводят к неудачам при построении карьеры. Если вам есть чем поделиться — обязательно напишите об этом в комментариях!
🔥15❤10👍4👏1
«Идеальный программист» Роберта Мартина: стоит читать?
«Идеальный программист. Как стать профессионалом разработки ПО» — книга, которая подводит черту под всем жизненным опытом автора.
Кто не в курсе, Роберт Мартин — автор фундаментального труда «Чистый код. Создание, анализ и рефакторинг», американский публицист и программист с 50-летним стажем.
В книге «Идеальный программист» он прямо и без прикрас рассказывает о типичных болях любого программиста, и тех принципах, которые делают его профессионалом.
Кому бы я её порекомендовал?
Однозначно начинающим. Для них это просто готовый сборник жизненных сценариев, как вести себя в тех или иных ситуациях. Как выстроить отношения в коллективе, как обсуждать рабочие задачи с руководством, где находить время и силы на самообучение. В общем, готовый кодекс профессионала.
Опытным разработчикам будет интересно посмотреть на чужой опыт и сравнить его со своим. Сверить часы, не погряз ли ты в рутине, не пора ли что-то подтянуть.
О чём книга?
Это автобиографичное рассуждение Мартина о профессии программиста. Каждый тезис автор сопровождает историей из жизни, от чего повествование сильно выигрывает.
В целом здесь довольно мало про код, но много про отношения с людьми и самим собой. Про то, как и когда надо говорить «нет», как проявлять заботу о своей команде, про несдвигаемые принципы в разработке и что бывает, если их нарушать.
Самым интересным для меня был раздел про упражнения на развитие навыков. Например, Мартин предлагает повторять одни и те же упражнения время от времени. Не для того, чтобы найти новое решение, а чтобы отточить своё мастерство до автоматизма. Однозначно возьму на вооружение.
Как читать книгу?
С долей критики. Рассуждения Мартина — серьёзный разговор на важные темы. Это не безусловные истины, а пища для размышлений. То, что ложится на душу — принимать и использовать. Что не нравится — анализировать и критиковать.
А как вы относитесь к Роберту Мартину? Читали его книги? Делитесь впечатлениями.
«Идеальный программист. Как стать профессионалом разработки ПО» — книга, которая подводит черту под всем жизненным опытом автора.
Кто не в курсе, Роберт Мартин — автор фундаментального труда «Чистый код. Создание, анализ и рефакторинг», американский публицист и программист с 50-летним стажем.
В книге «Идеальный программист» он прямо и без прикрас рассказывает о типичных болях любого программиста, и тех принципах, которые делают его профессионалом.
Кому бы я её порекомендовал?
Однозначно начинающим. Для них это просто готовый сборник жизненных сценариев, как вести себя в тех или иных ситуациях. Как выстроить отношения в коллективе, как обсуждать рабочие задачи с руководством, где находить время и силы на самообучение. В общем, готовый кодекс профессионала.
Опытным разработчикам будет интересно посмотреть на чужой опыт и сравнить его со своим. Сверить часы, не погряз ли ты в рутине, не пора ли что-то подтянуть.
О чём книга?
Это автобиографичное рассуждение Мартина о профессии программиста. Каждый тезис автор сопровождает историей из жизни, от чего повествование сильно выигрывает.
В целом здесь довольно мало про код, но много про отношения с людьми и самим собой. Про то, как и когда надо говорить «нет», как проявлять заботу о своей команде, про несдвигаемые принципы в разработке и что бывает, если их нарушать.
Самым интересным для меня был раздел про упражнения на развитие навыков. Например, Мартин предлагает повторять одни и те же упражнения время от времени. Не для того, чтобы найти новое решение, а чтобы отточить своё мастерство до автоматизма. Однозначно возьму на вооружение.
Как читать книгу?
С долей критики. Рассуждения Мартина — серьёзный разговор на важные темы. Это не безусловные истины, а пища для размышлений. То, что ложится на душу — принимать и использовать. Что не нравится — анализировать и критиковать.
А как вы относитесь к Роберту Мартину? Читали его книги? Делитесь впечатлениями.
👍12🔥3👏3
У меня есть свой Youtube-канал.
Недавно там вышло новое видео про личные границы.
В нём я разбираю, как они связаны с выгоранием. И почему выстраивание этих самых границ может кардинально изменить жизнь к лучшему. А ещё делюсь своим опытом и конкретными советами, которые помогли мне выстроить свои границы.
Если тема актуальна - смотрите видео и подписывайтесь на канал. Скоро там будет ещё больше интересных роликов про внутрянку IT.
Недавно там вышло новое видео про личные границы.
В нём я разбираю, как они связаны с выгоранием. И почему выстраивание этих самых границ может кардинально изменить жизнь к лучшему. А ещё делюсь своим опытом и конкретными советами, которые помогли мне выстроить свои границы.
Если тема актуальна - смотрите видео и подписывайтесь на канал. Скоро там будет ещё больше интересных роликов про внутрянку IT.
YouTube
Личные границы: пять этапов трансформации
Как неумение обозначить личные границы приводит к выгоранию? Как выстроить личные границы и кардинально изменить свою жизнь к лучшему? Я расскажу свою историю и приведу пять этапов трансформации, которые помогли мне добиться успеха.
👍8🔥3👏2
Что такое структурное программирование?
Эта методология предполагает последовательный рациональный подход к конструированию программ. Она появилась в 70х годах как попытка систематизировать процесс разработки. В основу лёг научный аппарат математической логики и теории доказательств.
Подробнее об основных принципах структурного программирования я рассказывал в этой статье. А сегодня хочу сфокусироваться на том, какие практики из этой методологии стоит взять на вооружение при работе над кодом.
1. Принцип разработки «сверху вниз»
Сначала стоит сосредоточиться на общей логике программы, не вникая в детализацию. Вместо последующей реализации ветвей ставим заглушки. Когда определённый уровень абстракции будет прописан и отлажен, переходим к более детальной проработке, постепенно убирая заглушки. Такой принцип работы позволяет выявить ошибки в коде и концентрироваться на общей логике программы, не закапываясь в детали.
2. Отказ от оператора безусловного перехода
Директивный оператор goto нарушает логику последовательного выполнения программы и может стать причиной серьёзных ошибок. Лучше отказаться от него в пользу простых структур выбора и управления итерациями if/then/else и do/while.
3. Использование принципа модульности
Крупные смысловые блоки программы должны быть реализованы как независимые модули с одним входом и выходом. Каждый блок должен формироваться из подпрограмм, которые можно свести к набору элементарных функций, выполняющих тривиальные задачи.
Так мы добиваемся иерархической чистоты кода и гарантируем возможность тестирования всех состояний программы.
4. Работа над механизмами проверки на стадии написания кода
Важно формировать модули, компоненты и службы таким образом, чтобы их неправильность можно было бы доказать через тестирование. В этом случае программа признаётся правильной, когда нам не удаётся доказать обратное.
Возможно вы уже пользуетесь структурным программированием, не осознавая этого. Оно легло в основу всех последующих методологий написания кода. А идеи структурного подхода учитывали при разработке многих языков программирования.
Будет интересно узнать ваше мнение, насколько формальная строгость и чистота важны для хорошего кода. Пишите в комментариях, какие принципы структурного программирования вы применяете на практике. Как относитесь в этой методологии?
Эта методология предполагает последовательный рациональный подход к конструированию программ. Она появилась в 70х годах как попытка систематизировать процесс разработки. В основу лёг научный аппарат математической логики и теории доказательств.
Подробнее об основных принципах структурного программирования я рассказывал в этой статье. А сегодня хочу сфокусироваться на том, какие практики из этой методологии стоит взять на вооружение при работе над кодом.
1. Принцип разработки «сверху вниз»
Сначала стоит сосредоточиться на общей логике программы, не вникая в детализацию. Вместо последующей реализации ветвей ставим заглушки. Когда определённый уровень абстракции будет прописан и отлажен, переходим к более детальной проработке, постепенно убирая заглушки. Такой принцип работы позволяет выявить ошибки в коде и концентрироваться на общей логике программы, не закапываясь в детали.
2. Отказ от оператора безусловного перехода
Директивный оператор goto нарушает логику последовательного выполнения программы и может стать причиной серьёзных ошибок. Лучше отказаться от него в пользу простых структур выбора и управления итерациями if/then/else и do/while.
3. Использование принципа модульности
Крупные смысловые блоки программы должны быть реализованы как независимые модули с одним входом и выходом. Каждый блок должен формироваться из подпрограмм, которые можно свести к набору элементарных функций, выполняющих тривиальные задачи.
Так мы добиваемся иерархической чистоты кода и гарантируем возможность тестирования всех состояний программы.
4. Работа над механизмами проверки на стадии написания кода
Важно формировать модули, компоненты и службы таким образом, чтобы их неправильность можно было бы доказать через тестирование. В этом случае программа признаётся правильной, когда нам не удаётся доказать обратное.
Возможно вы уже пользуетесь структурным программированием, не осознавая этого. Оно легло в основу всех последующих методологий написания кода. А идеи структурного подхода учитывали при разработке многих языков программирования.
Будет интересно узнать ваше мнение, насколько формальная строгость и чистота важны для хорошего кода. Пишите в комментариях, какие принципы структурного программирования вы применяете на практике. Как относитесь в этой методологии?
👍7🔥5❤3👎1😁1
Soft-skills: так ли они важны?
Да, конечно!
Умение контролировать свою работу, корректно разруливать рабочие проблемы, не подводить других и вежливо отстаивать свою позицию — вот что определяют профессионала, больше, чем технические навыки. Почему?
Хард-скиллы можно подтянуть на курсах или по книжкам, а вот софт-скилам нигде не учат, но от их наличия у сотрудника зависит качество работы всей команды.
По своему опыту скажу: мидла от джуна отличают не технические знания, а именно прокачанные софт-скилы.
Какие из них наиболее важны в IT?
Инициативность
Если знаете, как сделать лучше — предложите.
Не ждите, когда придут и научат — сами идите и спрашивайте.
Если видите проблему — предложите варианты решения, а не просто жалуйтесь на трудности.
Коммуникабельность
Интересуйтесь жизнью и работой других людей.
Предлагайте свою помощь, если она не мешает вашей основной работе.
Интересуйтесь опытом коллег и делитесь своим.
Ответственность
Всё, что может повлиять на результат вашей работы — в зоне вашей ответственности. Например, если вы видите проблему — говорите о ней сразу, пока она не привела к катастрофе.
Последовательность
По-другому можно назвать это умением выполнять обещания. Откажитесь от слов-паразитов: «подумаю», «попробуем», «может быть». Не уверен — не обещай. Обещал — выполняй.
Умение говорить «нет»
Если вы видите, что сроки или условия задачи невыполнимы — не обманывайте себя и других, отказывайтесь от неё. Мы часто боимся быть категоричными и обидеть человека. Но в данном случае «нет» — это проявление заботы о собеседнике. Мы даём ему возможность принять осмысленное решение заранее, а не сталкиваться с жестокой реальностью в последний момент.
Есть много материалов по деловому этикету, психологии и коучингу, которые в той или иной степени развивают софт-скилы. Но если резюмировать их, то большинство софт-скилов — это умение проявлять уважение к чужому труду и заботиться об окружающих. Суть всех советов — не вести себя высокомерно, быть открытым людям и уметь аргументированно отстаивать свою позицию.
Согласны с этим?
Да, конечно!
Умение контролировать свою работу, корректно разруливать рабочие проблемы, не подводить других и вежливо отстаивать свою позицию — вот что определяют профессионала, больше, чем технические навыки. Почему?
Хард-скиллы можно подтянуть на курсах или по книжкам, а вот софт-скилам нигде не учат, но от их наличия у сотрудника зависит качество работы всей команды.
По своему опыту скажу: мидла от джуна отличают не технические знания, а именно прокачанные софт-скилы.
Какие из них наиболее важны в IT?
Инициативность
Если знаете, как сделать лучше — предложите.
Не ждите, когда придут и научат — сами идите и спрашивайте.
Если видите проблему — предложите варианты решения, а не просто жалуйтесь на трудности.
Коммуникабельность
Интересуйтесь жизнью и работой других людей.
Предлагайте свою помощь, если она не мешает вашей основной работе.
Интересуйтесь опытом коллег и делитесь своим.
Ответственность
Всё, что может повлиять на результат вашей работы — в зоне вашей ответственности. Например, если вы видите проблему — говорите о ней сразу, пока она не привела к катастрофе.
Последовательность
По-другому можно назвать это умением выполнять обещания. Откажитесь от слов-паразитов: «подумаю», «попробуем», «может быть». Не уверен — не обещай. Обещал — выполняй.
Умение говорить «нет»
Если вы видите, что сроки или условия задачи невыполнимы — не обманывайте себя и других, отказывайтесь от неё. Мы часто боимся быть категоричными и обидеть человека. Но в данном случае «нет» — это проявление заботы о собеседнике. Мы даём ему возможность принять осмысленное решение заранее, а не сталкиваться с жестокой реальностью в последний момент.
Есть много материалов по деловому этикету, психологии и коучингу, которые в той или иной степени развивают софт-скилы. Но если резюмировать их, то большинство софт-скилов — это умение проявлять уважение к чужому труду и заботиться об окружающих. Суть всех советов — не вести себя высокомерно, быть открытым людям и уметь аргументированно отстаивать свою позицию.
Согласны с этим?
👍19🔥8❤3🤡1
Как устроена мода на языки программирования?
Не все языки разработки одинаково востребованы. Какими-то из них пользуются миллионы, а какие-то живут только на страницах учебников по информатике.
Изучая тот или иной язык, мы хотим, чтобы эти знания в будущем помогли в поиске работы и на конкретных проектах. Поэтому учитывать их популярность важно. Но ориентироваться на неё надо с осторожностью. И вот почему.
Слово «мода» в отношении языков программирования выражает несколько разных смыслов:
• масштаб отрасли, которую обслуживает этот язык,
• популярность языка среди разработчиков,
• количество вакансий, в которых упоминается данный язык разработки,
• количество кода, который уже написан на данном языке.
В зависимости от того, что мы понимаем под модой, мы получим разные списки востребованных языков:
• самые востребованные языки у работодателей,
• самые популярные языки в сообществе разработчиков,
• языки, которые чаще других встречается в поисковых запросах.
Конечно, эти рейтинги будут в чём-то совпадать, но прямой корреляции между ними нет.
Когда мы слепо доверяем только одному из них, рискуем столкнуться с неприятными последствиями.
Например, выбирая язык на основе его популярности у разработчиков, можем обнаружить, что соискателей, владеющих им, больше, чем требуется рынку труда.
Или наоборот: мы решили выбрать язык, исходя из потребностей работодателей. Но рейтинг определяет эту потребность исключительно в моменте. Возможно, через полгода спрос снизится, а мы окажемся не у дел. Примерно так сейчас происходит с разработчиками на Ruby: несколько лет назад этот язык был в пятёрке лидеров по популярности у работодателей. А сейчас число новых проектов на Ruby неуклонно снижается.
На мой взгляд, к рейтингам стоит относиться критически.
Важно оценить популярность языка по нескольким показателям, чтобы получить более объективную оценку. Но даже в этом случае изучение любой технологии разработки связано с определённым риском. Мир изменчив, и никто не знает, что будет популярно через год или два.
Поэтому в обучении так важно делать упор на «вечные ценности»: софт-скилы, знание алгоритмов и владение паттернами проектирования. Тогда даже переход на новый язык программирования будет даваться вам легко.
А что на ваш взгляд будет наиболее востребовано в ближайшие годы? Какой язык программирования посоветовали бы новичку для изучения?
Не все языки разработки одинаково востребованы. Какими-то из них пользуются миллионы, а какие-то живут только на страницах учебников по информатике.
Изучая тот или иной язык, мы хотим, чтобы эти знания в будущем помогли в поиске работы и на конкретных проектах. Поэтому учитывать их популярность важно. Но ориентироваться на неё надо с осторожностью. И вот почему.
Слово «мода» в отношении языков программирования выражает несколько разных смыслов:
• масштаб отрасли, которую обслуживает этот язык,
• популярность языка среди разработчиков,
• количество вакансий, в которых упоминается данный язык разработки,
• количество кода, который уже написан на данном языке.
В зависимости от того, что мы понимаем под модой, мы получим разные списки востребованных языков:
• самые востребованные языки у работодателей,
• самые популярные языки в сообществе разработчиков,
• языки, которые чаще других встречается в поисковых запросах.
Конечно, эти рейтинги будут в чём-то совпадать, но прямой корреляции между ними нет.
Когда мы слепо доверяем только одному из них, рискуем столкнуться с неприятными последствиями.
Например, выбирая язык на основе его популярности у разработчиков, можем обнаружить, что соискателей, владеющих им, больше, чем требуется рынку труда.
Или наоборот: мы решили выбрать язык, исходя из потребностей работодателей. Но рейтинг определяет эту потребность исключительно в моменте. Возможно, через полгода спрос снизится, а мы окажемся не у дел. Примерно так сейчас происходит с разработчиками на Ruby: несколько лет назад этот язык был в пятёрке лидеров по популярности у работодателей. А сейчас число новых проектов на Ruby неуклонно снижается.
На мой взгляд, к рейтингам стоит относиться критически.
Важно оценить популярность языка по нескольким показателям, чтобы получить более объективную оценку. Но даже в этом случае изучение любой технологии разработки связано с определённым риском. Мир изменчив, и никто не знает, что будет популярно через год или два.
Поэтому в обучении так важно делать упор на «вечные ценности»: софт-скилы, знание алгоритмов и владение паттернами проектирования. Тогда даже переход на новый язык программирования будет даваться вам легко.
А что на ваш взгляд будет наиболее востребовано в ближайшие годы? Какой язык программирования посоветовали бы новичку для изучения?
👍8🔥4👏1😁1
Ты ведь станешь программистом? Правильные установки, которые помогли мне стать разработчиком
Эти установки помогли мне, когда я строил карьеру в IT. Уверен, они пригодятся и вам.
Твоя жизнь — это твоя жизнь. Только от тебя зависит, будет ли она яркой и осмысленной или серой и бесперспективной. Чтобы не плыть по течению, возьми на себя ответственность за всё, что с тобой происходит.
Никто не лучше и не хуже тебя. С такой установкой ты перестанешь обесценивать свои достижения, бесконечно сравнивая их с чужими. А ещё поймёшь, что переживания относительно своей ценности — не более чем эгоизм. Лучше сконцентрироваться на том, что ты делаешь для других.
Фокусируйся на процессе, а не на цели. Научись наслаждаться процессом познания и созидания. Помни, что жизнь так же не имеет цели — это процесс.
Восполняй жизненную энергию осознанно. Чтобы избавиться от привычек, которые тебя разрушают и мешают развитию, важно заменить их на здоровую альтернативу. Это должна быть та деятельность, которая сама по себе даёт внутреннее удовлетворение. Для меня — это всё, что направлено на созидание благ, объединяющих людей.
Правильные установки — только первый шаг к успеху. За ними должны последовать правильные действия. Какие именно — я рассказываю в статье, которая вышла на VC и Хабре. Если тема интересна — переходите и читайте.
И делитесь в комментариях, какие установки помогают вам по жизни?
Эти установки помогли мне, когда я строил карьеру в IT. Уверен, они пригодятся и вам.
Твоя жизнь — это твоя жизнь. Только от тебя зависит, будет ли она яркой и осмысленной или серой и бесперспективной. Чтобы не плыть по течению, возьми на себя ответственность за всё, что с тобой происходит.
Никто не лучше и не хуже тебя. С такой установкой ты перестанешь обесценивать свои достижения, бесконечно сравнивая их с чужими. А ещё поймёшь, что переживания относительно своей ценности — не более чем эгоизм. Лучше сконцентрироваться на том, что ты делаешь для других.
Фокусируйся на процессе, а не на цели. Научись наслаждаться процессом познания и созидания. Помни, что жизнь так же не имеет цели — это процесс.
Восполняй жизненную энергию осознанно. Чтобы избавиться от привычек, которые тебя разрушают и мешают развитию, важно заменить их на здоровую альтернативу. Это должна быть та деятельность, которая сама по себе даёт внутреннее удовлетворение. Для меня — это всё, что направлено на созидание благ, объединяющих людей.
Правильные установки — только первый шаг к успеху. За ними должны последовать правильные действия. Какие именно — я рассказываю в статье, которая вышла на VC и Хабре. Если тема интересна — переходите и читайте.
И делитесь в комментариях, какие установки помогают вам по жизни?
🔥10👍3❤1
Стоит ли доверять моде на языки программирования?
Если мы выбираем, какому языку посвятить ближайшие пять лет, не оценивать его популярность было бы глупо.
Востребованность языка влияет на многое:
• количество вакансий,
• качество документации и материалов для изучения,
• уровень зарплат.
Но не всё так однозначно: не всегда популярный язык = востребованность и высокая зарплата. Почему?
Если язык популярен, на нём пишут многие. Это создаёт высокую конкуренцию среди программистов. Иногда выгоднее быть редким специалистом со знанием специфической технологии, чем владеть популярным языком программирования.
Кроме востребованности языка важно оценивать другие факторы:
Область применения. Вам должна быть интересна та сфера, для которой вы пишете код. Это основной фактор, на который я бы стал ориентироваться, при выборе своего вектора развития. Мода на языки проходит, а вот выбрать область, в которой хочется разбираться до мелочей — это то, что даст вам мощную мотивацию развиваться.
Простота входа. В качестве первого языка, лучше подойдёт тот, который проще понять. Если у вас нет явного предпочтения какого-то направления разработки, можно ориентироваться именно на этот показатель. Тогда у вас больше шансов не забросить и дойти до профессионального уровня.
Но какой бы путь вы не выбрали, лучше сразу уйти от установки: выучить один язык и на всю жизнь. Переучиваться — это нормально.
В утешение скажу: сложнее всего даётся именно первый язык. Вместе с ним вы осваиваете ещё и базовые навыки построения программ. Когда эти навыки уже сформированы, другие языки будут даваться намного легче.
Согласны с этим?
Ориентировались на рейтинги популярных языков, когда выбирали свою специализацию?
Если мы выбираем, какому языку посвятить ближайшие пять лет, не оценивать его популярность было бы глупо.
Востребованность языка влияет на многое:
• количество вакансий,
• качество документации и материалов для изучения,
• уровень зарплат.
Но не всё так однозначно: не всегда популярный язык = востребованность и высокая зарплата. Почему?
Если язык популярен, на нём пишут многие. Это создаёт высокую конкуренцию среди программистов. Иногда выгоднее быть редким специалистом со знанием специфической технологии, чем владеть популярным языком программирования.
Кроме востребованности языка важно оценивать другие факторы:
Область применения. Вам должна быть интересна та сфера, для которой вы пишете код. Это основной фактор, на который я бы стал ориентироваться, при выборе своего вектора развития. Мода на языки проходит, а вот выбрать область, в которой хочется разбираться до мелочей — это то, что даст вам мощную мотивацию развиваться.
Простота входа. В качестве первого языка, лучше подойдёт тот, который проще понять. Если у вас нет явного предпочтения какого-то направления разработки, можно ориентироваться именно на этот показатель. Тогда у вас больше шансов не забросить и дойти до профессионального уровня.
Но какой бы путь вы не выбрали, лучше сразу уйти от установки: выучить один язык и на всю жизнь. Переучиваться — это нормально.
В утешение скажу: сложнее всего даётся именно первый язык. Вместе с ним вы осваиваете ещё и базовые навыки построения программ. Когда эти навыки уже сформированы, другие языки будут даваться намного легче.
Согласны с этим?
Ориентировались на рейтинги популярных языков, когда выбирали свою специализацию?
🔥16👍3👏3
Эти рекомендации я хотел бы дать самому себе в начале карьеры.
Наверняка они сохранили бы мне нервы и, возможно, ускорили профессиональный рост.
Если советы кажутся вам очевидными — так и есть. Большинство рабочих лайфхаков устроены довольно просто. Но от этого не теряют своей эффективности.
Критически оцени задачу прежде, чем приступать к её выполнению
Будь занудой, когда получаешь рабочее задание. Уточняй все детали и ограничения: сроки, с кем согласовывать, в каком виде сдавать работу.
Если условия позволяют, согласовывай промежуточный вариант решения с тем, кто будет принимать итоговую работу.
Так тебе не придётся переделывать работу по несколько раз.
Пиши понятный код
Эта привычка пригодится и на больших проектах и при индивидуальной работе. Она помогает максимально быстро разобраться в коде и тратить меньше времени на его отладку.
• максимально декомпозируй код: он станет более прозрачным и контролируемым;
• используй понятные имена переменных и функций: во многих компаниях есть готовые соглашения об именах и стандарты оформления кода. Если нет — вырабатывай свои или копируй чужие из открытых источников;
• оставляй комментарии к сложным и неочевидным решениям.
Позаботься об удобной рабочей среде
У каждого разработчика есть свой набор инструментов, чтобы писать, запускать и тестировать код. Как минимум это: среда разработки (IDE), средства локального развертывания (Docker Desktop, Minikube и т.д.), набор полезных скриптов.
Выбирай их осознанно и научись использовать все возможности этих инструментов. Так ты автоматизируешь рутинные задачи и сэкономишь уйму времени.
Главное — не язык, который ты знаешь, а объем задач, который способен решить
Подбирай учебные и рабочие проекты таким образом, чтобы расширять список и сложность своих задач. На них ты сможешь максимально быстро расти в профессии.
Единственно правильного пути не существует
Не пытайся сравнивать себя с другими: ты всегда будешь кому-то проигрывать. Лучше сфокусируйся на своих достижениях и тех шагах, которые помогут тебе стать круче.
Полагаю, что каждый опытный IT-джедай может дополнить этот список жизненной мудрости. Если ты — один из них, делись в комментариях, какой годный совет мог бы дать программисту-новичку.
Наверняка они сохранили бы мне нервы и, возможно, ускорили профессиональный рост.
Если советы кажутся вам очевидными — так и есть. Большинство рабочих лайфхаков устроены довольно просто. Но от этого не теряют своей эффективности.
Критически оцени задачу прежде, чем приступать к её выполнению
Будь занудой, когда получаешь рабочее задание. Уточняй все детали и ограничения: сроки, с кем согласовывать, в каком виде сдавать работу.
Если условия позволяют, согласовывай промежуточный вариант решения с тем, кто будет принимать итоговую работу.
Так тебе не придётся переделывать работу по несколько раз.
Пиши понятный код
Эта привычка пригодится и на больших проектах и при индивидуальной работе. Она помогает максимально быстро разобраться в коде и тратить меньше времени на его отладку.
• максимально декомпозируй код: он станет более прозрачным и контролируемым;
• используй понятные имена переменных и функций: во многих компаниях есть готовые соглашения об именах и стандарты оформления кода. Если нет — вырабатывай свои или копируй чужие из открытых источников;
• оставляй комментарии к сложным и неочевидным решениям.
Позаботься об удобной рабочей среде
У каждого разработчика есть свой набор инструментов, чтобы писать, запускать и тестировать код. Как минимум это: среда разработки (IDE), средства локального развертывания (Docker Desktop, Minikube и т.д.), набор полезных скриптов.
Выбирай их осознанно и научись использовать все возможности этих инструментов. Так ты автоматизируешь рутинные задачи и сэкономишь уйму времени.
Главное — не язык, который ты знаешь, а объем задач, который способен решить
Подбирай учебные и рабочие проекты таким образом, чтобы расширять список и сложность своих задач. На них ты сможешь максимально быстро расти в профессии.
Единственно правильного пути не существует
Не пытайся сравнивать себя с другими: ты всегда будешь кому-то проигрывать. Лучше сфокусируйся на своих достижениях и тех шагах, которые помогут тебе стать круче.
Полагаю, что каждый опытный IT-джедай может дополнить этот список жизненной мудрости. Если ты — один из них, делись в комментариях, какой годный совет мог бы дать программисту-новичку.
👍13🔥8👏1
Человек-тульский пряник: идеальный кандидат в IT, какой он?
У эйчаров есть такое понятие: «портрет идеального кандидата». Это список качеств, которые напрямую не связаны с профессиональными компетенциями человека, но помогают ему хорошо адаптироваться в компании и стать эффективным специалистом.
Список таких качеств мало меняется не только от должности к должности, но даже от компании к компании. Правила игры у всех плюс-минус одни и те же.
За эти качества кандидату могут простить многое: и недостаток опыта, и не совсем подходящие компетенции. У меня самого так было. Видел, что человек сырой, но инициативный — и брал его. Каждый раз такой кандидат быстро нагонял недостающий опыт и вырастал в хорошего спеца.
Что входит в портрет идеального кандидата для IT?
Конечно, это больше про софт-скилы. Но не только. Есть ещё базовые знания, которые помогают быстрее включаться в рабочие задачи. На них тоже обращают внимание.
1. Инициативность
Это показатель того, что человек любит выбранное дело и будет работать на совесть, а не из страха наказания.
Как проявляется на собеседовании?
• Широкий кругозор: человек знает больше, чем требует его специализация. Ему интересно разбираться в профессии и вникать в тонкости.
• У него есть проекты «для души»: например, учебные или экспериментальные работы, о которых он с увлечением рассказывает.
• Он сам активно задаёт вопросы про будущую работу и устройство процессов в компании.
2. Ответственность
Это про готовность отвечать за результат своей работы и правильно реагировать на критику. Первая проверка на ответственность — это отправка резюме. Если резюме с ошибками и плохим оформлением, не учитывает специфику вакансии, для эйчара это первый звоночек.
О том, как правильно откликаться на вакансию, писал здесь.
На собеседовании будет ещё одна проверка на ответственность. Это вопросы про то, как кандидат справлялся с трудностями в работе, как он будет реагировать на ту или иную рабочую ситуацию. Советую заранее подготовить пару жизненных историй о том, как было сложно, но вы проявили себя молодцом и всё получилось.
3. Ориентация на интересы бизнеса
Она проявляется через неформальный подход к работе. Когда сотрудник не пытается сделать и забыть, а старается принести кому-то пользу.
Как проявляется на собеседовании?
• Человек задаёт дополнительные вопросы к тестовому заданию, чтобы лучше понять задачу и выявить её ограничения.
• Когда описывает предыдущий опыт, может объяснить, какую проблему решала его работа и как повлияла на конечный результат.
4. Знание базы программирования
Что в неё входит и почему это важно знать — подробно писал ранее.
Если кратко, то база даёт понятийную основу для грамотной постановки задачи и оценки эффективности выбранного решения.
Это мой список качеств «идеального кандидата». Пока что он меня не подводил. Не важно, искал я работу сам или нанимал кого-то.
Подозреваю, что он неполный. Знаете другие важные качества идеального кандидата? Пишите о них в комментариях. А также делитесь, какие качества помогли вам устроиться на хорошую работу.
У эйчаров есть такое понятие: «портрет идеального кандидата». Это список качеств, которые напрямую не связаны с профессиональными компетенциями человека, но помогают ему хорошо адаптироваться в компании и стать эффективным специалистом.
Список таких качеств мало меняется не только от должности к должности, но даже от компании к компании. Правила игры у всех плюс-минус одни и те же.
За эти качества кандидату могут простить многое: и недостаток опыта, и не совсем подходящие компетенции. У меня самого так было. Видел, что человек сырой, но инициативный — и брал его. Каждый раз такой кандидат быстро нагонял недостающий опыт и вырастал в хорошего спеца.
Что входит в портрет идеального кандидата для IT?
Конечно, это больше про софт-скилы. Но не только. Есть ещё базовые знания, которые помогают быстрее включаться в рабочие задачи. На них тоже обращают внимание.
1. Инициативность
Это показатель того, что человек любит выбранное дело и будет работать на совесть, а не из страха наказания.
Как проявляется на собеседовании?
• Широкий кругозор: человек знает больше, чем требует его специализация. Ему интересно разбираться в профессии и вникать в тонкости.
• У него есть проекты «для души»: например, учебные или экспериментальные работы, о которых он с увлечением рассказывает.
• Он сам активно задаёт вопросы про будущую работу и устройство процессов в компании.
2. Ответственность
Это про готовность отвечать за результат своей работы и правильно реагировать на критику. Первая проверка на ответственность — это отправка резюме. Если резюме с ошибками и плохим оформлением, не учитывает специфику вакансии, для эйчара это первый звоночек.
О том, как правильно откликаться на вакансию, писал здесь.
На собеседовании будет ещё одна проверка на ответственность. Это вопросы про то, как кандидат справлялся с трудностями в работе, как он будет реагировать на ту или иную рабочую ситуацию. Советую заранее подготовить пару жизненных историй о том, как было сложно, но вы проявили себя молодцом и всё получилось.
3. Ориентация на интересы бизнеса
Она проявляется через неформальный подход к работе. Когда сотрудник не пытается сделать и забыть, а старается принести кому-то пользу.
Как проявляется на собеседовании?
• Человек задаёт дополнительные вопросы к тестовому заданию, чтобы лучше понять задачу и выявить её ограничения.
• Когда описывает предыдущий опыт, может объяснить, какую проблему решала его работа и как повлияла на конечный результат.
4. Знание базы программирования
Что в неё входит и почему это важно знать — подробно писал ранее.
Если кратко, то база даёт понятийную основу для грамотной постановки задачи и оценки эффективности выбранного решения.
Это мой список качеств «идеального кандидата». Пока что он меня не подводил. Не важно, искал я работу сам или нанимал кого-то.
Подозреваю, что он неполный. Знаете другие важные качества идеального кандидата? Пишите о них в комментариях. А также делитесь, какие качества помогли вам устроиться на хорошую работу.
🔥8👍4❤3👏1
В чём отличие джуна от синьора?
Для начала определимся, для чего вообще задают такой вопрос. Так мы сможем сформулировать информативный ответ.
Чтобы оценить себя внутри компании
Общих стандартов для отделения джунов от мидлов или сеньоров нет. Нет и смысла искать ответ в интернете. Об этом надо спрашивать своего тимлида или технического директора. Только его мнение будет иметь для вас смысл и ценность.
А что делать, если не согласен с тимлидом? Например, начальство только ругает и не замечает достижений?
Искать людей со стороны, которые могли бы дать независимую оценку: идти на собеседования или к карьерному консультанту. Но даже если правда за вами, и руководство вас действительно не ценит, проще уволиться, чем кого-то переубедить.
При поиске работы
Ещё раз: общих правил для определения джуна или сеньора нет. Каждый, кто составляет текст вакансии, вкладывает в эти формулировки что-то своё. Нет смысла играть в угадайку, лучше ориентироваться только на список требований к должности.
Чтобы составить свой трек развития
Вот здесь начинается содержательный разговор, который может дать конкретную пользу: понимание, к какой точке стоит стремиться и в какую сторону прикладывать усилия.
Для меня сеньор — это сочетание 4 ключевых факторов:
1. Время: не всякий программист с пятилетним опытом — сеньор. Но всякий сеньор должен иметь не меньше 5 лет работы за плечами. Нужно время, чтобы сформировать и автоматизировать навыки разработки.
2. Сложность и разнообразие проектов, в которых участвовал разработчик. Сеньору важно знать и применять на практике разнообразные алгоритмы и паттерны проектирования. На однотипных задачах можно стать опытным спецом в конкретной задаче. Но вырасти в того, кто принимает решения по архитектуре проекта, не получится.
3. На каких стадиях специалист подключился к работе: MVP, продакшен, сопровождение. Сеньор — тот, кто может провести проект через все стадии самостоятельно.
4. Уровень личного влияния на проект. Джун согласует свои решения с другими специалистами. Сеньор может принимать решения за себя и свою команду.
Как вырасти в сеньора?
Пробовать новое: искать интересные проекты,
подключаться к разным стадиям разработки, изучать и внедрять новые приёмы. И дать себе время. Время на рост, время на обучение, время на то, чтобы развиваться.
Согласны с этим?
Пишите в комментариях, как вы определяете, кто такой сеньор, и как им стать.
Для начала определимся, для чего вообще задают такой вопрос. Так мы сможем сформулировать информативный ответ.
Чтобы оценить себя внутри компании
Общих стандартов для отделения джунов от мидлов или сеньоров нет. Нет и смысла искать ответ в интернете. Об этом надо спрашивать своего тимлида или технического директора. Только его мнение будет иметь для вас смысл и ценность.
А что делать, если не согласен с тимлидом? Например, начальство только ругает и не замечает достижений?
Искать людей со стороны, которые могли бы дать независимую оценку: идти на собеседования или к карьерному консультанту. Но даже если правда за вами, и руководство вас действительно не ценит, проще уволиться, чем кого-то переубедить.
При поиске работы
Ещё раз: общих правил для определения джуна или сеньора нет. Каждый, кто составляет текст вакансии, вкладывает в эти формулировки что-то своё. Нет смысла играть в угадайку, лучше ориентироваться только на список требований к должности.
Чтобы составить свой трек развития
Вот здесь начинается содержательный разговор, который может дать конкретную пользу: понимание, к какой точке стоит стремиться и в какую сторону прикладывать усилия.
Для меня сеньор — это сочетание 4 ключевых факторов:
1. Время: не всякий программист с пятилетним опытом — сеньор. Но всякий сеньор должен иметь не меньше 5 лет работы за плечами. Нужно время, чтобы сформировать и автоматизировать навыки разработки.
2. Сложность и разнообразие проектов, в которых участвовал разработчик. Сеньору важно знать и применять на практике разнообразные алгоритмы и паттерны проектирования. На однотипных задачах можно стать опытным спецом в конкретной задаче. Но вырасти в того, кто принимает решения по архитектуре проекта, не получится.
3. На каких стадиях специалист подключился к работе: MVP, продакшен, сопровождение. Сеньор — тот, кто может провести проект через все стадии самостоятельно.
4. Уровень личного влияния на проект. Джун согласует свои решения с другими специалистами. Сеньор может принимать решения за себя и свою команду.
Как вырасти в сеньора?
Пробовать новое: искать интересные проекты,
подключаться к разным стадиям разработки, изучать и внедрять новые приёмы. И дать себе время. Время на рост, время на обучение, время на то, чтобы развиваться.
Согласны с этим?
Пишите в комментариях, как вы определяете, кто такой сеньор, и как им стать.
👍15🔥6👎1👏1🤡1
Сложность управления разработкой на крупных проектах растёт экспоненциально. Она становится серьёзной проблемой и требует нестандартных подходов в организации труда.
Традиционное объединение программистов по специализации вызывает взрывной рост бюрократизации и усложнение согласования любых решений.
Один из способов справиться с проблемой — использование потоковых команд.
Что это такое?
Потоковые команды предполагают объединение специалистов вокруг сквозных задач. Группы могут быть междисциплинарными и привлекать разработчиков с разной квалификацией. Всё зависит от поставленной цели.
Главные плюсы такого подхода — это мобильность и ориентация на интересы бизнеса. Дополнительный бонус — развитие компетенций участников команды за счёт знакомства со смежными направлениями.
Сколько участников должно быть в команде?
Не больше 8. Малой группой проще управлять, поэтому мы экономим ресурсы на координацию рабочих процессов.
Минус потоковых команд
Это разобщённость между группами, которая грозит рассогласованием их результатов.
Чтобы координировать работу нескольких потоковых команд, необходима команда поддержки. Она согласовывает действия нескольких групп на разных уровнях. Например, занимается созданием общих ресурсов, создаёт единые стандарты разработки, помогает наладить коммуникацию между группами.
Что стоит продумать заранее
Кто имеет право вносить изменения в код?
Есть два подхода к этому вопросу:
Сильное владение. Оно предполагает, что такое право есть только у команды, которая занимается разработкой кода. Это гарантирует его целостность и безопасность. Но может быть неудобным, если важна скорость.
Коллективное владение. Каждая команда может вносить изменения в общий код по мере необходимости. В данном случае требуется тщательная координация, чтобы команды не мешали друг другу.
Интересна эта тема? Переходите на мою подробную статью. Там я описал признаки, отличающие потоковую команду от традиционной. А также, какую роль играют технические средства в организации автономных рабочих групп.
Традиционное объединение программистов по специализации вызывает взрывной рост бюрократизации и усложнение согласования любых решений.
Один из способов справиться с проблемой — использование потоковых команд.
Что это такое?
Потоковые команды предполагают объединение специалистов вокруг сквозных задач. Группы могут быть междисциплинарными и привлекать разработчиков с разной квалификацией. Всё зависит от поставленной цели.
Главные плюсы такого подхода — это мобильность и ориентация на интересы бизнеса. Дополнительный бонус — развитие компетенций участников команды за счёт знакомства со смежными направлениями.
Сколько участников должно быть в команде?
Не больше 8. Малой группой проще управлять, поэтому мы экономим ресурсы на координацию рабочих процессов.
Минус потоковых команд
Это разобщённость между группами, которая грозит рассогласованием их результатов.
Чтобы координировать работу нескольких потоковых команд, необходима команда поддержки. Она согласовывает действия нескольких групп на разных уровнях. Например, занимается созданием общих ресурсов, создаёт единые стандарты разработки, помогает наладить коммуникацию между группами.
Что стоит продумать заранее
Кто имеет право вносить изменения в код?
Есть два подхода к этому вопросу:
Сильное владение. Оно предполагает, что такое право есть только у команды, которая занимается разработкой кода. Это гарантирует его целостность и безопасность. Но может быть неудобным, если важна скорость.
Коллективное владение. Каждая команда может вносить изменения в общий код по мере необходимости. В данном случае требуется тщательная координация, чтобы команды не мешали друг другу.
Интересна эта тема? Переходите на мою подробную статью. Там я описал признаки, отличающие потоковую команду от традиционной. А также, какую роль играют технические средства в организации автономных рабочих групп.
👍7❤1🔥1👏1
Как я открыл своё дело
Сразу предупреждаю: это не история о том, как я долго шёл к успеху, и всё закончилось хорошо.
Начнём с того, что мой бизнес возник стихийно. Он стал продолжением работы на фрилансе: один из проектов для европейского заказчика перерос в длительное сотрудничество. Было это в 2018 году. Наверно, с того момента и можно отсчитывать мой путь предпринимателя.
4 года фирма спокойно развивалась. Штат рос. Работы хватало всем.
Но самое интересное было впереди.
По понятным причинам после февраля 2022 года нам пришлось переориентироваться на отечественный рынок.
С чем мы столкнулись?
Наша специфика — это высоконагруженные системы. Малому и среднему бизнесу в России они не нужны.
Основные наши клиенты — это крупные корпорации и госпредприятия. Для нас это значило участие в тендерах. Не буду вдаваться в детали. Просто скажу, что это сложно, долго и муторно.
И вот тут мы возвращаемся к тому, почему жизнь не похожа на сказку:
ты можешь сделать всё правильно и всё равно проиграть.
У меня была команда профессионалов, уникальная экспертиза, умение и желание работать. Но этого оказалось мало.
Работа с крупным бизнесом обернулась тем, что мы могли согласовывать проект по полгода. Всё это время я должен был держать команду на низком старте, но не получал выручку.
Стресс от того, что я не мог планировать будущее фирмы на 4 месяца меня вымотал. Через 1,5 года, я понял, что полностью выгорел и занимаюсь не тем.
Не было такого момента, когда я сказал: «Стоп», — и распустил команду. Просто довёл до конца проекты, выполнил свои финансовые обязательства и не стал искать новых заказчиков. Сейчас могу сказать, что Solonkov.team официально завершила работу.
Жалею ли я об этом периоде жизни?
Нет. Он научил меня многому, что я не получил бы в найме.
Думаю, чтобы описать, что именно, нужен отдельный пост. Так что продолжению быть. Ждите вторую часть )
Сразу предупреждаю: это не история о том, как я долго шёл к успеху, и всё закончилось хорошо.
Начнём с того, что мой бизнес возник стихийно. Он стал продолжением работы на фрилансе: один из проектов для европейского заказчика перерос в длительное сотрудничество. Было это в 2018 году. Наверно, с того момента и можно отсчитывать мой путь предпринимателя.
4 года фирма спокойно развивалась. Штат рос. Работы хватало всем.
Но самое интересное было впереди.
По понятным причинам после февраля 2022 года нам пришлось переориентироваться на отечественный рынок.
С чем мы столкнулись?
Наша специфика — это высоконагруженные системы. Малому и среднему бизнесу в России они не нужны.
Основные наши клиенты — это крупные корпорации и госпредприятия. Для нас это значило участие в тендерах. Не буду вдаваться в детали. Просто скажу, что это сложно, долго и муторно.
И вот тут мы возвращаемся к тому, почему жизнь не похожа на сказку:
ты можешь сделать всё правильно и всё равно проиграть.
У меня была команда профессионалов, уникальная экспертиза, умение и желание работать. Но этого оказалось мало.
Работа с крупным бизнесом обернулась тем, что мы могли согласовывать проект по полгода. Всё это время я должен был держать команду на низком старте, но не получал выручку.
Стресс от того, что я не мог планировать будущее фирмы на 4 месяца меня вымотал. Через 1,5 года, я понял, что полностью выгорел и занимаюсь не тем.
Не было такого момента, когда я сказал: «Стоп», — и распустил команду. Просто довёл до конца проекты, выполнил свои финансовые обязательства и не стал искать новых заказчиков. Сейчас могу сказать, что Solonkov.team официально завершила работу.
Жалею ли я об этом периоде жизни?
Нет. Он научил меня многому, что я не получил бы в найме.
Думаю, чтобы описать, что именно, нужен отдельный пост. Так что продолжению быть. Ждите вторую часть )
🔥20👍7
Что ещё, кроме денег, дал мне опыт предпринимательства?
Масштабный взгляд на разработку
В найме часть рутинных задач захватывает всё внимание — ты переоцениваешь их важность. А другая часть находится вне поля зрения — ты не осознаёшь её важность.
Если руководишь всем сам, видишь этапы разработки целиком, оцениваешь их как части единой системы во всей сложности взаимосвязей.
Гибкость мышления
Довольно быстро осознаёшь, что у любой задачи есть несколько правильных решений. Взять опытного мидла или вложиться в своего джуна, вести переговоры со сложным заказчиком или отказаться от него — каждый из вариантов правильный, и каждый несёт свои последствия.
А значит — если что-то не получается, всегда есть способ решить проблему по-другому.
Адекватную оценку своих способностей
Ты быстро начинаешь осознавать, за какие навыки люди готовы тебе платить, а за какие — нет. Этот сильно меняет представление о себе и своей ценности. Например, тот, кто не верит в себя, получает подтверждение востребованности. Но лишнюю спесь этот опыт тоже лечит.
Умение делегировать
Не делать самому, а объяснить другому, что ты от него хочешь — это сложно. Ещё сложнее — создавать механизмы командной работы, которые будут повышать эффективность системы.
Пока сам не оказался в роли начальника, не понимал, как много сил это может отнимать.
Управление приоритетами
Это, наверное, самый сложный для меня урок. Долгое время я старался реагировать на все возможности, которые предоставляли обстоятельства.
Когда окончательно выгорел, понял: иногда нужно говорить «нет», чтобы не терять фокус на своих целях.
Навык признавать ошибки
Для тех, кто не любит ошибаться, бизнес не подходит. Здесь ты будешь делать это часто, по-крупному и в мелочах.
Я убеждён, что количество попыток уменьшает вероятность неудач. Чем больше разнообразных гипотез я отработаю, тем выше у меня шансы добиться успеха.
Я благодарен себе за то, что однажды решился открыть свою фирму. Бизнес сформировал меня как личность и профессионала.
А как вы относитесь к работе на себя?
Масштабный взгляд на разработку
В найме часть рутинных задач захватывает всё внимание — ты переоцениваешь их важность. А другая часть находится вне поля зрения — ты не осознаёшь её важность.
Если руководишь всем сам, видишь этапы разработки целиком, оцениваешь их как части единой системы во всей сложности взаимосвязей.
Гибкость мышления
Довольно быстро осознаёшь, что у любой задачи есть несколько правильных решений. Взять опытного мидла или вложиться в своего джуна, вести переговоры со сложным заказчиком или отказаться от него — каждый из вариантов правильный, и каждый несёт свои последствия.
А значит — если что-то не получается, всегда есть способ решить проблему по-другому.
Адекватную оценку своих способностей
Ты быстро начинаешь осознавать, за какие навыки люди готовы тебе платить, а за какие — нет. Этот сильно меняет представление о себе и своей ценности. Например, тот, кто не верит в себя, получает подтверждение востребованности. Но лишнюю спесь этот опыт тоже лечит.
Умение делегировать
Не делать самому, а объяснить другому, что ты от него хочешь — это сложно. Ещё сложнее — создавать механизмы командной работы, которые будут повышать эффективность системы.
Пока сам не оказался в роли начальника, не понимал, как много сил это может отнимать.
Управление приоритетами
Это, наверное, самый сложный для меня урок. Долгое время я старался реагировать на все возможности, которые предоставляли обстоятельства.
Когда окончательно выгорел, понял: иногда нужно говорить «нет», чтобы не терять фокус на своих целях.
Навык признавать ошибки
Для тех, кто не любит ошибаться, бизнес не подходит. Здесь ты будешь делать это часто, по-крупному и в мелочах.
Я убеждён, что количество попыток уменьшает вероятность неудач. Чем больше разнообразных гипотез я отработаю, тем выше у меня шансы добиться успеха.
Я благодарен себе за то, что однажды решился открыть свою фирму. Бизнес сформировал меня как личность и профессионала.
А как вы относитесь к работе на себя?
👍11🔥4👏1
Стоит прочитать: Адитья Бхаргава «Грокаем алгоритмы»
Я уже рекомендовал эту книгу в списке базовой литературы для разработчика. Сегодня расскажу почему.
Те, кто только начинает изучать алгоритмы, часто совершают одну и ту же ошибку. Берутся сразу за фундаментальные академические труды и быстро теряют интерес к теме из-за сложного и сухого изложения. Так во всяком случае было у меня, когда я в первый раз открыл «Искусство программирования» Кнута.
Чтобы не застревать в начале обучения, в него надо «вкатываться» постепенно: от простого к сложному. И книга «Грокаем алгоритмы» идеально подходит для первого знакомства с темой.
В книге — 11 глав. Каждая содержит описание определёного типа алгоритмов. Для каждого типа есть иллюстрации, объясняющие на пальцах общий принцип работы, и примеры его реализации в коде. Примеры написаны на Питоне, но их легко понять, зная базовый синтаксис любого другого языка программирования.
«Грокаем алгоритмы» читается легко и не пугает сложными формулами. Но после неё основательные труды по алгоритмам заходят гораздо проще.
Минус книги — поверхностность изложения. Её явно недостаточно, чтобы основательно разобраться в вопросе. Если хочется глубокого погрузиться в тему, нужна дополнительная литература. Какая именно — расскажу в конце.
И ещё: будет огромным заблуждением считать, что после прочтения одной книги вы действительно освоите алгоритмы. Для этого нужна дополнительная практика по решению задач. Что порешать для практики — тоже напишу ниже.
Освоили «Грокаем алгоритмы» и готовы двигаться дальше?
Стоит прочитать:
• Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн «Алгоритмы. Построение и анализ»,
• Н. Вирт «Алгоритмы и структуры данных»,
• Д. Кнут «Искусство программирования».
Наработать практику:
визуализация алгоритмов и структур данных
VisuAlgo
базы заданий
InterviewBit
LeetCode
CodeWars
Знаете другие хорошие ресурсы по алгоритмам? Делитесь в комментариях.
Что помогло вам изучить эту тему?
Я уже рекомендовал эту книгу в списке базовой литературы для разработчика. Сегодня расскажу почему.
Те, кто только начинает изучать алгоритмы, часто совершают одну и ту же ошибку. Берутся сразу за фундаментальные академические труды и быстро теряют интерес к теме из-за сложного и сухого изложения. Так во всяком случае было у меня, когда я в первый раз открыл «Искусство программирования» Кнута.
Чтобы не застревать в начале обучения, в него надо «вкатываться» постепенно: от простого к сложному. И книга «Грокаем алгоритмы» идеально подходит для первого знакомства с темой.
В книге — 11 глав. Каждая содержит описание определёного типа алгоритмов. Для каждого типа есть иллюстрации, объясняющие на пальцах общий принцип работы, и примеры его реализации в коде. Примеры написаны на Питоне, но их легко понять, зная базовый синтаксис любого другого языка программирования.
«Грокаем алгоритмы» читается легко и не пугает сложными формулами. Но после неё основательные труды по алгоритмам заходят гораздо проще.
Минус книги — поверхностность изложения. Её явно недостаточно, чтобы основательно разобраться в вопросе. Если хочется глубокого погрузиться в тему, нужна дополнительная литература. Какая именно — расскажу в конце.
И ещё: будет огромным заблуждением считать, что после прочтения одной книги вы действительно освоите алгоритмы. Для этого нужна дополнительная практика по решению задач. Что порешать для практики — тоже напишу ниже.
Освоили «Грокаем алгоритмы» и готовы двигаться дальше?
Стоит прочитать:
• Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн «Алгоритмы. Построение и анализ»,
• Н. Вирт «Алгоритмы и структуры данных»,
• Д. Кнут «Искусство программирования».
Наработать практику:
визуализация алгоритмов и структур данных
VisuAlgo
базы заданий
InterviewBit
LeetCode
CodeWars
Знаете другие хорошие ресурсы по алгоритмам? Делитесь в комментариях.
Что помогло вам изучить эту тему?
👍15🔥4
Почему не стоит бояться менять профессию?
Я не буду советовать смену профессии каждому, кто просто устал от своей работы. Сам в своё время переходил из сисадминов в программисты. Понимаю, как это трудно, особенно если уже есть финансовые обязательства и устоявшийся быт.
Такое решение должно учитывать все риски и последствия. Но есть 4 деструктивных страха, которые точно не стоит брать в расчёт.
Ко мне иногда обращаются люди, которые хотят перейти в IT из других профессий. Обычно у них присутствует как минимум один из них. И вот, что я им говорю:
Страшно начинать всё с нуля
Вы начинаете не с нуля: у вас есть проработанные софт-скиллы и широкий кругозор.
А в некоторых случаях предыдущий опыт работы может стать дополнительным бонусом. Например, я знаю программистов, которые ушли из разработки и пишут статьи для Хабра. Они не сильно потеряли в деньгах, но очень востребованы на рынке.
Я не в том возрасте
Совру, если скажу, что дискриминации по возрасту нет. Многие руководители с опаской смотрят на кандидата, если он начинает свою карьеру после 30. Но это не повод отказываться от своей мечты, а причина тщательнее продумать самопрезентацию. В ней вы должны отработать возражения, связанные с возрастом.
Ещё одно решение — начинать свою карьеру на фрилансе. Здесь ваш возраст никого не волнует.
Страшно не найти работу
Если не получается совмещать старую работу и поиск новой, можно рассмотреть возможность фриланса или стажировки.
А чтобы в новой профессии не потерять в деньгах в начале пути, лучше заранее накопить финансовую «подушку». Она поможет продержаться, пока вы не начнёте нормально зарабатывать.
Что скажут люди?
Строить свою жизнь так, чтобы оправдать чьи-то ожидания — заранее проигрышная позиция: так невозможно стать счастливым. Настоящая зрелость начинается тогда, когда выбираешь заботу о себе, даже если кому-то это кажется нелепым.
Делитесь в комментариях, меняли когда-нибудь профессию? Какие страхи были у вас в тот момент, и как вы с ними справились?
Я не буду советовать смену профессии каждому, кто просто устал от своей работы. Сам в своё время переходил из сисадминов в программисты. Понимаю, как это трудно, особенно если уже есть финансовые обязательства и устоявшийся быт.
Такое решение должно учитывать все риски и последствия. Но есть 4 деструктивных страха, которые точно не стоит брать в расчёт.
Ко мне иногда обращаются люди, которые хотят перейти в IT из других профессий. Обычно у них присутствует как минимум один из них. И вот, что я им говорю:
Страшно начинать всё с нуля
Вы начинаете не с нуля: у вас есть проработанные софт-скиллы и широкий кругозор.
А в некоторых случаях предыдущий опыт работы может стать дополнительным бонусом. Например, я знаю программистов, которые ушли из разработки и пишут статьи для Хабра. Они не сильно потеряли в деньгах, но очень востребованы на рынке.
Я не в том возрасте
Совру, если скажу, что дискриминации по возрасту нет. Многие руководители с опаской смотрят на кандидата, если он начинает свою карьеру после 30. Но это не повод отказываться от своей мечты, а причина тщательнее продумать самопрезентацию. В ней вы должны отработать возражения, связанные с возрастом.
Ещё одно решение — начинать свою карьеру на фрилансе. Здесь ваш возраст никого не волнует.
Страшно не найти работу
Если не получается совмещать старую работу и поиск новой, можно рассмотреть возможность фриланса или стажировки.
А чтобы в новой профессии не потерять в деньгах в начале пути, лучше заранее накопить финансовую «подушку». Она поможет продержаться, пока вы не начнёте нормально зарабатывать.
Что скажут люди?
Строить свою жизнь так, чтобы оправдать чьи-то ожидания — заранее проигрышная позиция: так невозможно стать счастливым. Настоящая зрелость начинается тогда, когда выбираешь заботу о себе, даже если кому-то это кажется нелепым.
Делитесь в комментариях, меняли когда-нибудь профессию? Какие страхи были у вас в тот момент, и как вы с ними справились?
👍10🔥4👏1
Про ЗОЖ и карьеру
У меня в жизни был период, когда я сам себе не нравился: были проблемы с лишним весом, болела спина, временами накатывала слабость.
Пытался решать проблемы разными способами:
• Ограничивал себя в еде — постоянно срывался и не мог удержать вес.
• Укреплял спину на тренировках — боли ушли, но возвращались время от времени.
• Повышенную утомляемость и проблемы с концентрацией «заливал» кофе — в моменте это помогало, но через несколько часов я снова был без сил.
• Пробовал всякие БАДы и приёмы биохакинга — вообще не почувствовал эффекта.
Не зная причин, я пытался работать со следствиями.
Качественно изменить ситуацию я смог только тогда, когда перестал заниматься самолечением и обратился к врачу.
То, о чём я сейчас напишу, не реклама и не призыв всем повторять за мной. Но лично мне помог интегративный врач-нутрициолог, Анна Павлова. Она выяснила, каких именно микроэлементов мне не хватает, и рассказала, как их компенсировать.
С помощью питания и комплекса витаминов мы уже убрали проблему утомляемости. Без усилий ушёл лишний вес: организм компенсировал недостаток нужных веществ, и желание переедать исчезло.
Сейчас занимаемся моей спиной. Источник проблем с позвоночником был в том, что не хватало аминокислот для восстановления хрящевой ткани. В моём случае из-за повреждения межпозвонковых дисков нагрузка в зале не только не помогала, но и могла стать причиной ещё больших проблем.
Поставил задачу на будущее — укрепить иммунитет и вылечить аллергию.
Ситуация с лечением стала для меня уроком:
Самостоятельное решение ≠ хорошее. Мудрый совет специалиста помогает не только сэкономить время, но и избавить от ошибок.
Со здоровьем вроде всё ясно: есть проблемы — иди к врачу.
Но то же самое действует и в работе — лучше взять консультацию у наставника, чем пытаться справиться со всем самостоятельно. Не зная контекста, не разбираясь в причинах и следствиях, легко разочароваться в себе, не достигнув желаемой цели.
Согласны?
Пишите в комментариях, пользовались ли вы услугами наставников. Считаете ли эту практику эффективной?
У меня в жизни был период, когда я сам себе не нравился: были проблемы с лишним весом, болела спина, временами накатывала слабость.
Пытался решать проблемы разными способами:
• Ограничивал себя в еде — постоянно срывался и не мог удержать вес.
• Укреплял спину на тренировках — боли ушли, но возвращались время от времени.
• Повышенную утомляемость и проблемы с концентрацией «заливал» кофе — в моменте это помогало, но через несколько часов я снова был без сил.
• Пробовал всякие БАДы и приёмы биохакинга — вообще не почувствовал эффекта.
Не зная причин, я пытался работать со следствиями.
Качественно изменить ситуацию я смог только тогда, когда перестал заниматься самолечением и обратился к врачу.
То, о чём я сейчас напишу, не реклама и не призыв всем повторять за мной. Но лично мне помог интегративный врач-нутрициолог, Анна Павлова. Она выяснила, каких именно микроэлементов мне не хватает, и рассказала, как их компенсировать.
С помощью питания и комплекса витаминов мы уже убрали проблему утомляемости. Без усилий ушёл лишний вес: организм компенсировал недостаток нужных веществ, и желание переедать исчезло.
Сейчас занимаемся моей спиной. Источник проблем с позвоночником был в том, что не хватало аминокислот для восстановления хрящевой ткани. В моём случае из-за повреждения межпозвонковых дисков нагрузка в зале не только не помогала, но и могла стать причиной ещё больших проблем.
Поставил задачу на будущее — укрепить иммунитет и вылечить аллергию.
Ситуация с лечением стала для меня уроком:
Самостоятельное решение ≠ хорошее. Мудрый совет специалиста помогает не только сэкономить время, но и избавить от ошибок.
Со здоровьем вроде всё ясно: есть проблемы — иди к врачу.
Но то же самое действует и в работе — лучше взять консультацию у наставника, чем пытаться справиться со всем самостоятельно. Не зная контекста, не разбираясь в причинах и следствиях, легко разочароваться в себе, не достигнув желаемой цели.
Согласны?
Пишите в комментариях, пользовались ли вы услугами наставников. Считаете ли эту практику эффективной?
👍8🔥3