Зарплатный коуч.
Моя позиция Lead\Senior Full-Stack Software Engineer. У меня за плечами более 5 лет коммерческой разработки программного обеспечения.
Основная специализация Java\Kotlin\TypeScript, в данный момент для компании разрабатываю проекты с использованием Spring и Angular.
Я прошёл более 60 очных собеседований на различные IT должности, в компании разных размеров, на ЗП от 500$ до 8000$.
Работал во всемирно известных немецких, американских и русских компаниях.
За эти года я просмотрел тысячи резюме и провёл больше сотни собеседований на должности Backend и Frontend разработчиков.
Жизнь закидывала меня в разные ситуации, я проходил собеседования и принимал на работу.
Если вы хотите повысить шанс успешного прохождения собеседования, то я объясню, что может оттолкнуть и расположить к себе интервьюеров.
Ссылки:
* https://ru.stackoverflow.com/users/184435/komdosh - более 10к репутации
* https://github.com/Komdosh - развиваю личные проекты
* https://komdosh.pro/ - личный сайт
Моя позиция Lead\Senior Full-Stack Software Engineer. У меня за плечами более 5 лет коммерческой разработки программного обеспечения.
Основная специализация Java\Kotlin\TypeScript, в данный момент для компании разрабатываю проекты с использованием Spring и Angular.
Я прошёл более 60 очных собеседований на различные IT должности, в компании разных размеров, на ЗП от 500$ до 8000$.
Работал во всемирно известных немецких, американских и русских компаниях.
За эти года я просмотрел тысячи резюме и провёл больше сотни собеседований на должности Backend и Frontend разработчиков.
Жизнь закидывала меня в разные ситуации, я проходил собеседования и принимал на работу.
Если вы хотите повысить шанс успешного прохождения собеседования, то я объясню, что может оттолкнуть и расположить к себе интервьюеров.
Ссылки:
* https://ru.stackoverflow.com/users/184435/komdosh - более 10к репутации
* https://github.com/Komdosh - развиваю личные проекты
* https://komdosh.pro/ - личный сайт
Stack Overflow на русском
Участник Komdosh
Вопросы и ответы для программистов
Отказ. Про деревья не расскажу.
На одно из собеседований на Senior Java пришёл к нам Lead Java Developer.
Резюме у него было составлено как надо, 15 лет работы по специальности Java программистом,
в свободное время также уделяет своим проектам, в общем по описанию надо было его урвать
всеми силами с руками и ногами. И вот пришло время технического интервью, где мы смогли
поговорить по душам. С моей стороны посыпались технические вопросы по Java и Spring,
на удивление он смог правильно ответить только на половину из них, ещё на небольшую часть
он смог ответить только с большими подсказками. На собеседовании очень важно понимать уровень
подготовленности человека, он действительно может забыть, как проходить собеседования и в жизни он
не замечал, как использовал что-то из заданных вопросов, мы делаем на это поправку. Всё стало совсем
странно, когда я предложил ему ответить на несколько вопросов по деревьям. Ему не предлагалось реализовывать
AVL-дерево, только обсудить основные моменты данных структур, вследствие чего он чуть ли не выкрикнул, что не будет
рассказывать про деревья ни в каком виде. Он считает, что понимание не нужно, все алгоритмы реализованы
и расписаны в гугле, а сами деревья ему ни разу не пригодились. Это странное поведение на собеседовании,
особенно для человека с 15 годами опыта. То, что он за эти 15 лет не встречался с ними, не означает,
что это не потребуется на новой работе. В конце ему был предложен вопрос на архитектуру,
с которым он справился достаточно хорошо, однако мнение интервьюеров уже было сформировано, этому человеку необходимо дать отказ.
По общению с ним было понятно, что он несколько отдалился от непосредственной разработки и написания кода,
а больше занимался задачами менеджера.
Отказ был дан по большей части из-за резкого и снисходительного общения с интервьюерами. Он открыто критиковал
и пытался переформулировать вопросы в свою сторону. Отказ от ответа на основании того, что вы считаете вопрос
странным, является неправильным ходом, лучше сказать, что вы недостаточно осведомлены, но попробуете. Лучше
попытаться ответить на вопрос, интервьюер смотрит на то, как вы мыслите, а не как вы заучили учебник.
Никогда не теряйте самообладание и ведите себя максимально уважительно, вам с этими людьми ещё работать.
На одно из собеседований на Senior Java пришёл к нам Lead Java Developer.
Резюме у него было составлено как надо, 15 лет работы по специальности Java программистом,
в свободное время также уделяет своим проектам, в общем по описанию надо было его урвать
всеми силами с руками и ногами. И вот пришло время технического интервью, где мы смогли
поговорить по душам. С моей стороны посыпались технические вопросы по Java и Spring,
на удивление он смог правильно ответить только на половину из них, ещё на небольшую часть
он смог ответить только с большими подсказками. На собеседовании очень важно понимать уровень
подготовленности человека, он действительно может забыть, как проходить собеседования и в жизни он
не замечал, как использовал что-то из заданных вопросов, мы делаем на это поправку. Всё стало совсем
странно, когда я предложил ему ответить на несколько вопросов по деревьям. Ему не предлагалось реализовывать
AVL-дерево, только обсудить основные моменты данных структур, вследствие чего он чуть ли не выкрикнул, что не будет
рассказывать про деревья ни в каком виде. Он считает, что понимание не нужно, все алгоритмы реализованы
и расписаны в гугле, а сами деревья ему ни разу не пригодились. Это странное поведение на собеседовании,
особенно для человека с 15 годами опыта. То, что он за эти 15 лет не встречался с ними, не означает,
что это не потребуется на новой работе. В конце ему был предложен вопрос на архитектуру,
с которым он справился достаточно хорошо, однако мнение интервьюеров уже было сформировано, этому человеку необходимо дать отказ.
По общению с ним было понятно, что он несколько отдалился от непосредственной разработки и написания кода,
а больше занимался задачами менеджера.
Отказ был дан по большей части из-за резкого и снисходительного общения с интервьюерами. Он открыто критиковал
и пытался переформулировать вопросы в свою сторону. Отказ от ответа на основании того, что вы считаете вопрос
странным, является неправильным ходом, лучше сказать, что вы недостаточно осведомлены, но попробуете. Лучше
попытаться ответить на вопрос, интервьюер смотрит на то, как вы мыслите, а не как вы заучили учебник.
Никогда не теряйте самообладание и ведите себя максимально уважительно, вам с этими людьми ещё работать.
Зачем на собеседованиях спрашивают алгоритмы?
Понимание алгоритмов не только показывает ваши познания и уровень образованности. Почти все задачи, которые задаются на техническом собеседовании подразумевают умение подобрать подходящий готовый алгоритм.
Задав вопрос про эффективный поиск элемента в отсортированном массиве, скорее всего интервьюер
желает услышать, знает ли кандидат про бинарный поиск. Дело в том, что при коммерческой разработке, очень часто возникает ситуация когда задача поставленная менеджером может быть легко сведена к одному из известных алгоритмов. Не стоит пренебрегать ими, но и отдавать предпочтение только им не следует.
Важно запомнить и общий алгоритм решения задач на собеседовании:
Внимательно выслушайте задачу
Представьте пример
Опишите решение в лоб
Оптимизируйте
Проведите пошаговый разбор
Только после этого приступайте к коду
Протестируйте своё решение.
Вам не обязательно уметь реализовывать алгоритм на языке программирования, важно понимать его суть, если вы продемонстрируете понимание интервьюеру, то это сразу ставит вас в выгодное положение.
Понимание алгоритмов не только показывает ваши познания и уровень образованности. Почти все задачи, которые задаются на техническом собеседовании подразумевают умение подобрать подходящий готовый алгоритм.
Задав вопрос про эффективный поиск элемента в отсортированном массиве, скорее всего интервьюер
желает услышать, знает ли кандидат про бинарный поиск. Дело в том, что при коммерческой разработке, очень часто возникает ситуация когда задача поставленная менеджером может быть легко сведена к одному из известных алгоритмов. Не стоит пренебрегать ими, но и отдавать предпочтение только им не следует.
Важно запомнить и общий алгоритм решения задач на собеседовании:
Внимательно выслушайте задачу
Представьте пример
Опишите решение в лоб
Оптимизируйте
Проведите пошаговый разбор
Только после этого приступайте к коду
Протестируйте своё решение.
Вам не обязательно уметь реализовывать алгоритм на языке программирования, важно понимать его суть, если вы продемонстрируете понимание интервьюеру, то это сразу ставит вас в выгодное положение.
Отказ. Мастер на все руки.
К моим знакомым в компанию по мобильной разработке срочно потребовались люди. Их всего было трое, один разобрался с Android, другой с Django (Python) и один стал менеджером.
И вот пришёл к ним на собеседование парень 1 курс магистратуры ИТМО, 4 года коммерческой разработки на Android, резюме было на английском с ошибками, но очень красочное, знает Kotlin, Java, работал с потоками, оптимизировал Garbage Collector и многое другое. Уж не знаю чем он зацепил этих троих, но они его взяли ... на должность Middle Android Developer за 2000$ в месяц. Захожу я к ним в офис (попросили помочь с WebSocket), а мне сразу показывают это чудо. С гордостью заявляют: "смотри кого мы отхватили, учится в ИТМО, просит всего 2000$ и весь SDK Android знает, правда по-русски не говорит. Сейчас он рефакторит всё и с Java на Kotlin переводит, пойди посмотри". Он провёл меня к своему рабочему месту, показывает код и как "рефакторит", тут мне стало смешно, я начал его спрашивать: "Ты ведь понимаешь, что просто нажать конвертировать Java код в Kotlin не достаточно, Android Studio конечно умная, но она шаблонно переделывает код, от такого рефакторинга выгоды нет". Он похоже не понял ни единого моего слова, я решил задать вопрос по-английски, но и здесь было 0 эмоций. Оказалось, что он ни по-русски, ни по-английски не понимает, это показалось странным. Тут я начал его пытать, кто он, какой у него опыт, задавал ему простейшие вопросы: что такое Fragment, Handler и т.п. Он мне рассказал о себе на очень корявом английском, ответов на мои вопросы я получил ровно 0. Просмотрел его код и позвал ребят, начал показывать его ошибки и комментировать его работу, после чего парень сдался и как бы это странно не звучало, он попросил быть его ментором.
Ребята не смогли мне внятно объяснить из-за чего они его взяли, то-ли из-за репозиториев, которые он явно скопировал, то ли из-за 4х лет разработки в компании (которые тоже видимо выдуманные). Ему дали испытательный срок в 1 неделю, но через 2 дня сами убедились, что он ничего из себя не представляет и попрощались с ним. Самое забавное, что через месяц он подал резюме на мою вакансию, но с опытом Spring и JS.
К моим знакомым в компанию по мобильной разработке срочно потребовались люди. Их всего было трое, один разобрался с Android, другой с Django (Python) и один стал менеджером.
И вот пришёл к ним на собеседование парень 1 курс магистратуры ИТМО, 4 года коммерческой разработки на Android, резюме было на английском с ошибками, но очень красочное, знает Kotlin, Java, работал с потоками, оптимизировал Garbage Collector и многое другое. Уж не знаю чем он зацепил этих троих, но они его взяли ... на должность Middle Android Developer за 2000$ в месяц. Захожу я к ним в офис (попросили помочь с WebSocket), а мне сразу показывают это чудо. С гордостью заявляют: "смотри кого мы отхватили, учится в ИТМО, просит всего 2000$ и весь SDK Android знает, правда по-русски не говорит. Сейчас он рефакторит всё и с Java на Kotlin переводит, пойди посмотри". Он провёл меня к своему рабочему месту, показывает код и как "рефакторит", тут мне стало смешно, я начал его спрашивать: "Ты ведь понимаешь, что просто нажать конвертировать Java код в Kotlin не достаточно, Android Studio конечно умная, но она шаблонно переделывает код, от такого рефакторинга выгоды нет". Он похоже не понял ни единого моего слова, я решил задать вопрос по-английски, но и здесь было 0 эмоций. Оказалось, что он ни по-русски, ни по-английски не понимает, это показалось странным. Тут я начал его пытать, кто он, какой у него опыт, задавал ему простейшие вопросы: что такое Fragment, Handler и т.п. Он мне рассказал о себе на очень корявом английском, ответов на мои вопросы я получил ровно 0. Просмотрел его код и позвал ребят, начал показывать его ошибки и комментировать его работу, после чего парень сдался и как бы это странно не звучало, он попросил быть его ментором.
Ребята не смогли мне внятно объяснить из-за чего они его взяли, то-ли из-за репозиториев, которые он явно скопировал, то ли из-за 4х лет разработки в компании (которые тоже видимо выдуманные). Ему дали испытательный срок в 1 неделю, но через 2 дня сами убедились, что он ничего из себя не представляет и попрощались с ним. Самое забавное, что через месяц он подал резюме на мою вакансию, но с опытом Spring и JS.
Принят. Без коммерческого опыта разработки.
На собеседованиях попадаются как прожжённые специалисты, так и учащиеся университетов без опыта, но страстно желающие работать. В некоторых случаях такие ребята показывают результаты сильно лучше, всё дело в их желании развиваться. Совсем недавно, я удачно собеседовал студента без коммерческого опыта разработки на должность Middle разработчика. Он подал заявку на вакансию в моей компании, по началу я хотел отклонить его заявку, из-за отсутствия опыта, но решил дать ему шанс из-за описания в разделе обо мне. Казалось бы человек без опыта, да ещё и на очной форме обучения, он должен пройти максимум на Junior и то скорее на стажировку. Однако практика показывает, что увлечённые студенты лучше разбираются в технологиях и подходах к программированию. Вот и этот кандидат показал отличное понимание работы компонентов Spring, структур данных, архитектур Web приложений. У него имелись GitHub репозитории с актуальным кодом, где он выкладывал не учебные, а личные проекты. В них он демонстрировал решение реальных задач, не те глупые "создать REST контроллер с репозиторием данных и выдать данные по запросу", а например построение маршрутов с сохранением истории запросов пользователя. Более того у него был живой аккаунт на HackerRank и StackOverflow, что тоже подкупает интервьюеров. Спустя пол года работы, я понял, что принятие его на работу было правильным решением, он не подвёл мои ожидания.
Мне пришлось пересмотреть свои автоматические фильтры и убрать требования к опыту работы. Не стоит воспринимать эту историю, как руководство к действию и бежать искать студентов, у меня было много негативного опыта с ними, так как многие бесцельно проводят время в университете на специальности, которая им даже не нравится, а просто считается модной. Однако и пренебрегать такими кадрами не стоит.
На собеседованиях попадаются как прожжённые специалисты, так и учащиеся университетов без опыта, но страстно желающие работать. В некоторых случаях такие ребята показывают результаты сильно лучше, всё дело в их желании развиваться. Совсем недавно, я удачно собеседовал студента без коммерческого опыта разработки на должность Middle разработчика. Он подал заявку на вакансию в моей компании, по началу я хотел отклонить его заявку, из-за отсутствия опыта, но решил дать ему шанс из-за описания в разделе обо мне. Казалось бы человек без опыта, да ещё и на очной форме обучения, он должен пройти максимум на Junior и то скорее на стажировку. Однако практика показывает, что увлечённые студенты лучше разбираются в технологиях и подходах к программированию. Вот и этот кандидат показал отличное понимание работы компонентов Spring, структур данных, архитектур Web приложений. У него имелись GitHub репозитории с актуальным кодом, где он выкладывал не учебные, а личные проекты. В них он демонстрировал решение реальных задач, не те глупые "создать REST контроллер с репозиторием данных и выдать данные по запросу", а например построение маршрутов с сохранением истории запросов пользователя. Более того у него был живой аккаунт на HackerRank и StackOverflow, что тоже подкупает интервьюеров. Спустя пол года работы, я понял, что принятие его на работу было правильным решением, он не подвёл мои ожидания.
Мне пришлось пересмотреть свои автоматические фильтры и убрать требования к опыту работы. Не стоит воспринимать эту историю, как руководство к действию и бежать искать студентов, у меня было много негативного опыта с ними, так как многие бесцельно проводят время в университете на специальности, которая им даже не нравится, а просто считается модной. Однако и пренебрегать такими кадрами не стоит.
А нужно ли вам идти в программисты?
Серьёзно, задайте себе вопрос, готовы ли вы всю жизнь посвятить программированию и всему что с ним связано. Сейчас об IT говорят абсолютно все, люди стремятся бросить стройки, такси, юриспруденцию, экономику и стать джунами в 30-40 лет. Школьники старших классов выбирают программерские направления в университетах. Самое ужасное в этой ситуации, что люди идут за деньгами, а не потому что им это нравится.
Все мы жаждем хорошей жизни, но вы должны трезво оценивать свои желания и возможности. Если у вас не будет страсти к этому виду деятельности, то на зарплату в 80-120к, и уж тем более, в 200-400к в месяц вы не выйдете. Самая большая проблема в знаниях. Те кто выбрал путь программирования без увлечения, будут знать сильно меньше, чем те, у кого есть огромный интерес. Ни один университет, ни один курс не привьёт вам страсть к этой профессии и не положит в ваш мозг те знания, которые вам будут необходимы для работы.
В моей группе в университете, по специальности программирование, на 1 курс поступило 30 человек, из них только 15 закончили бакалавриат и 11 магистратуру. Самое интересное, что только 6-8 человек пошли работать программистами. Многие мои одногруппники поняли, что сделали ошибку и начали её исправлять, один пошёл в театральный, другой стал монтировать видео, третей была интересна бизнес-аналитика. Это прекрасно, что они вовремя осознали, что выбрали неверный для них самих путь. Они демонстрируют отличные успехи в той области, что им по душе.
В одной книге прочитал, несмотря ни на что, можно стать специалистом в любой области, достаточно потратить 10000 часов на практику. Вот и считайте, сколько лет у вас займёт кодинг без желания, уделяя по 2 часа после работы.
Серьёзно, задайте себе вопрос, готовы ли вы всю жизнь посвятить программированию и всему что с ним связано. Сейчас об IT говорят абсолютно все, люди стремятся бросить стройки, такси, юриспруденцию, экономику и стать джунами в 30-40 лет. Школьники старших классов выбирают программерские направления в университетах. Самое ужасное в этой ситуации, что люди идут за деньгами, а не потому что им это нравится.
Все мы жаждем хорошей жизни, но вы должны трезво оценивать свои желания и возможности. Если у вас не будет страсти к этому виду деятельности, то на зарплату в 80-120к, и уж тем более, в 200-400к в месяц вы не выйдете. Самая большая проблема в знаниях. Те кто выбрал путь программирования без увлечения, будут знать сильно меньше, чем те, у кого есть огромный интерес. Ни один университет, ни один курс не привьёт вам страсть к этой профессии и не положит в ваш мозг те знания, которые вам будут необходимы для работы.
В моей группе в университете, по специальности программирование, на 1 курс поступило 30 человек, из них только 15 закончили бакалавриат и 11 магистратуру. Самое интересное, что только 6-8 человек пошли работать программистами. Многие мои одногруппники поняли, что сделали ошибку и начали её исправлять, один пошёл в театральный, другой стал монтировать видео, третей была интересна бизнес-аналитика. Это прекрасно, что они вовремя осознали, что выбрали неверный для них самих путь. Они демонстрируют отличные успехи в той области, что им по душе.
В одной книге прочитал, несмотря ни на что, можно стать специалистом в любой области, достаточно потратить 10000 часов на практику. Вот и считайте, сколько лет у вас займёт кодинг без желания, уделяя по 2 часа после работы.
Зачем меня спрашивают про другие языки и библиотеки?
Всё дело в кругозоре, если человек кроме одного языка ничего не видел, то скорее всего он либо новичок, либо ему программирование в целом не доставляет удовольствия и он просто погнался за деньгами. Мышление интервьюера в такой ситуации следующее: если человек писал даже простейшую программу, на языке, который сильно отличается от его основного (например C++ и Java), то скорее всего у него больше заинтересованность в том, что он создаёт и делает. Действительно, такие кандидаты показывают лучше результаты, так как понимают, что некоторые из задач бизнеса гораздо быстрее и проще решить используя более проработанный подход, нежели изобретать велосипед.
Тем не менее стоит разборчиво отнестись к подходу поиска языка или технологии, необходимо их подбирать на основе ваших предпочтений и сферы деятельности.
Всё дело в кругозоре, если человек кроме одного языка ничего не видел, то скорее всего он либо новичок, либо ему программирование в целом не доставляет удовольствия и он просто погнался за деньгами. Мышление интервьюера в такой ситуации следующее: если человек писал даже простейшую программу, на языке, который сильно отличается от его основного (например C++ и Java), то скорее всего у него больше заинтересованность в том, что он создаёт и делает. Действительно, такие кандидаты показывают лучше результаты, так как понимают, что некоторые из задач бизнеса гораздо быстрее и проще решить используя более проработанный подход, нежели изобретать велосипед.
Тем не менее стоит разборчиво отнестись к подходу поиска языка или технологии, необходимо их подбирать на основе ваших предпочтений и сферы деятельности.
🔹А вдруг я вам подойду? 🔹
На очередное собеседование, к нам на вакансию Java разработчика, подал резюме студент 2 курса магистратуры, который начал свой путь в IT на Python. У него было несколько заманчивых репозиториев на Github и год опыта коммерческой разработки, так что я решил связаться с кандидатом в онлайн-режиме и пообщаться.
Разговор начался с нескольких простых технических вопросов и немного затронули сам язык Java. В целом он смог сообразить как на них ответить, но у меня закралось чувство, будто он не совсем понимает, что говорит. Далее мы обсудили его желания по поводу проекта и технологий и вот здесь вскрылся важный момент, он не совсем понимал, что он хочет от компании и от проекта. Затем я прямо спросил, хватит ли ему знаний по Java, чтобы пройти техническое интервью, он решил не подавать виду. На вопрос как вы оцениваете свои знания по Java от 0 до 10, он ответил 8, я предложил ему получше оценить свои знания, так как далее последуют технические вопросы на основе этой оценки. Кандидат хмыкнул и ответил: "Ладно, на 7 твёрдо знаю". После этого ответа, от меня посыпались несложные вопросы, однако было видно, что он сильно плавает в тематике, более того, он плохо разбирался в типах и структурах данных, имел отдалённое понятия зачем нужны интерфейсы. Задача с наследованием поставила его в тупик. В то время когда я задавал вопрос, было слышно, что он пытается загуглить информацию. Вопросы были из разных категорий, так что он вполне мог проявить себя со знаниями Python, но и этого не произошло.
За 30 минут разговора стало понятно, что кандидат кроме как на Python ничего и не писал. Более того мы обсудили его репозитории и стало понятно, что он в коде очень плохо разбирается. Не могу судить о его опыте, впрочем, есть подозрение, что и он "нарисованный". В конце нашего разговора, я спросил зачем же он с опытом Python хочет пойти на Java, ответ поступил незамедлительно: "А вдруг я именно вам и подойду. Я на шару попробовал. У вас ЗП хорошая. Какая разница, какой язык? Все языки одинаковые, то что вам нужно - вы же и научите.". Такой настрой конечно порадовал, но пробелы в основах программирования и желание получать ЗП минимум 120к выглядит смешно.
На очередное собеседование, к нам на вакансию Java разработчика, подал резюме студент 2 курса магистратуры, который начал свой путь в IT на Python. У него было несколько заманчивых репозиториев на Github и год опыта коммерческой разработки, так что я решил связаться с кандидатом в онлайн-режиме и пообщаться.
Разговор начался с нескольких простых технических вопросов и немного затронули сам язык Java. В целом он смог сообразить как на них ответить, но у меня закралось чувство, будто он не совсем понимает, что говорит. Далее мы обсудили его желания по поводу проекта и технологий и вот здесь вскрылся важный момент, он не совсем понимал, что он хочет от компании и от проекта. Затем я прямо спросил, хватит ли ему знаний по Java, чтобы пройти техническое интервью, он решил не подавать виду. На вопрос как вы оцениваете свои знания по Java от 0 до 10, он ответил 8, я предложил ему получше оценить свои знания, так как далее последуют технические вопросы на основе этой оценки. Кандидат хмыкнул и ответил: "Ладно, на 7 твёрдо знаю". После этого ответа, от меня посыпались несложные вопросы, однако было видно, что он сильно плавает в тематике, более того, он плохо разбирался в типах и структурах данных, имел отдалённое понятия зачем нужны интерфейсы. Задача с наследованием поставила его в тупик. В то время когда я задавал вопрос, было слышно, что он пытается загуглить информацию. Вопросы были из разных категорий, так что он вполне мог проявить себя со знаниями Python, но и этого не произошло.
За 30 минут разговора стало понятно, что кандидат кроме как на Python ничего и не писал. Более того мы обсудили его репозитории и стало понятно, что он в коде очень плохо разбирается. Не могу судить о его опыте, впрочем, есть подозрение, что и он "нарисованный". В конце нашего разговора, я спросил зачем же он с опытом Python хочет пойти на Java, ответ поступил незамедлительно: "А вдруг я именно вам и подойду. Я на шару попробовал. У вас ЗП хорошая. Какая разница, какой язык? Все языки одинаковые, то что вам нужно - вы же и научите.". Такой настрой конечно порадовал, но пробелы в основах программирования и желание получать ЗП минимум 120к выглядит смешно.
Техлид или багфиксер?
В последнее время всё больше и больше вакансий стало появляться на должность Тех- и Тимлида. Но не всё так радужно, как может показаться на первый взгляд.
В начале описания вакансии вас завлекают тем что вам действительно хотелось бы видеть на данной должности: поиск и выбор технологий, разработка архитектуры, управление командой разработки с технической стороны и т.п. В общем всё по делу, то что и должен делать настоящий лидер, а именно вести команду разработки к решению бизнес проблем. Однако далее описание дополняется довольно интересными требованиями. Приведу некоторые из них и ранжирую в порядке популярности:
- Доступность 24/7
- Сопровождение ночного деплоя (Частота разная, от 1 раза в месяц, до 1 раза в неделю)
- Немедленное исправление критичных багов, о которых сообщает QA или тех. поддержка
- Доработка функционала за другими участниками проекта в сжатые сроки
Встречаются и другие уникальные требования, но те, что указаны выше встречались в двух и более вакансиях. Некоторые из этих требований всплывают в рамках собеседования, их умышленно скрывают, чтобы не оттолкнуть потенциального кандидата.
А теперь задумайтесь, если проект уже стоит на рельсах и вы вступаете в должность лида, то скорее всего все архитектурные и технологические решения уже были приняты и повлиять на них становится труднее. При этом, чем дольше проект находится в эксплуатации, тем больше исправления багов будет требоваться. Тем меньше спокойных ночей и выходных у вас будет + бесконечные неоплачиваемые переработки. Никто не будет вам давать выходной, если ночью вы исправляли баг в проде.
На собеседовании обязательно проговаривайте все требования. Решите нужно ли вам подрываться в 3-4 утра в воскресенье и бежать исправлять баги, потому что разработчик Василий неправильно использовал функцию и это выяснилось только в проде. Задайте себе вопрос, хотите ли вы этим заниматься. Да заработная плата может быть не маленькой и первое время покажется, что можно и потерпеть, но через пол года вы выгорите, а компания просто пойдёт искать следующую жертву, которая продлит жизнь проекту ещё на пол года.
В последнее время всё больше и больше вакансий стало появляться на должность Тех- и Тимлида. Но не всё так радужно, как может показаться на первый взгляд.
В начале описания вакансии вас завлекают тем что вам действительно хотелось бы видеть на данной должности: поиск и выбор технологий, разработка архитектуры, управление командой разработки с технической стороны и т.п. В общем всё по делу, то что и должен делать настоящий лидер, а именно вести команду разработки к решению бизнес проблем. Однако далее описание дополняется довольно интересными требованиями. Приведу некоторые из них и ранжирую в порядке популярности:
- Доступность 24/7
- Сопровождение ночного деплоя (Частота разная, от 1 раза в месяц, до 1 раза в неделю)
- Немедленное исправление критичных багов, о которых сообщает QA или тех. поддержка
- Доработка функционала за другими участниками проекта в сжатые сроки
Встречаются и другие уникальные требования, но те, что указаны выше встречались в двух и более вакансиях. Некоторые из этих требований всплывают в рамках собеседования, их умышленно скрывают, чтобы не оттолкнуть потенциального кандидата.
А теперь задумайтесь, если проект уже стоит на рельсах и вы вступаете в должность лида, то скорее всего все архитектурные и технологические решения уже были приняты и повлиять на них становится труднее. При этом, чем дольше проект находится в эксплуатации, тем больше исправления багов будет требоваться. Тем меньше спокойных ночей и выходных у вас будет + бесконечные неоплачиваемые переработки. Никто не будет вам давать выходной, если ночью вы исправляли баг в проде.
На собеседовании обязательно проговаривайте все требования. Решите нужно ли вам подрываться в 3-4 утра в воскресенье и бежать исправлять баги, потому что разработчик Василий неправильно использовал функцию и это выяснилось только в проде. Задайте себе вопрос, хотите ли вы этим заниматься. Да заработная плата может быть не маленькой и первое время покажется, что можно и потерпеть, но через пол года вы выгорите, а компания просто пойдёт искать следующую жертву, которая продлит жизнь проекту ещё на пол года.
Помогут ли курсы попасть в IT?
На просторах интернета всё больше рекламы различных IT курсов: "Стань Junior разработчиком с ЗП 500к", "Научись DevOps и получай 300к в час", "Data Scientist профессия будущего, 400к в секунду".
Большинство начинающих программистов прекращают заниматься на первых этапах обучения из-за возрастающей сложности. После написания калькулятора, начинается изучение пугающих тем, которые вам обязательно зададут на собеседовании: Структуры данных, алгоритмы, асимптотическая сложность алгоритмов, паттерны и т.п. Это звучит не так заманчиво, как написать своего чат-бота или социальную сеть. Попробуйте начать обучение бесплатно. Найдите несколько бесплатных обучающих роликов на YouTube по интересующей вас теме, обычно там даются домашние задания, попробуйте выполнить их. Если вы видите, что вам эта тема интересна, вам хотелось бы обсуждать свои проблемы с ментором и вы хотите продолжать обучение, то только тогда стоит задуматься о платных курсах.
Стоимость данных курсов от 30к до 500к. Где-то имеется только видео, хотя на мой взгляд такие источники надо обходить стороной, так как практической пользы мало, а стоимость, мне кажется, неоправданной. Лучше зайти на тот же CourseHunter, где вы получаете доступ к тем же видео с множества ресурсов, стоимостью 2-3к за ГОД. Другие курсы предлагают менторов и преподавателей, с ними уже интереснее, но там и ценник выше.
Полезны ли курсы? - Частично да. В них информация структурирована. Однако дело в мотивации, кого-то будет мотивировать, то что они отдают деньги за обучение. Кому-то нужно общение с ментором, чтобы постоянно допытывать его вопросами. Если вы мотивированы стать программистом, то обязательно им станете. Не так важны инструменты достижения цели: книги, курсы, менторы. Важно лишь ваше желание.
Помогают ли курсы найти работу? - Сложно сказать, у некоторых курсов есть договорённости с определёнными компаниями, которые предоставляют стажировки, но большинство из них просто предлагают написать в опыт работы свои курсы, а работодатели очень часто пропускают такие кандидатуры, т.к. коммерческий опыт отсутствует.
На просторах интернета всё больше рекламы различных IT курсов: "Стань Junior разработчиком с ЗП 500к", "Научись DevOps и получай 300к в час", "Data Scientist профессия будущего, 400к в секунду".
Большинство начинающих программистов прекращают заниматься на первых этапах обучения из-за возрастающей сложности. После написания калькулятора, начинается изучение пугающих тем, которые вам обязательно зададут на собеседовании: Структуры данных, алгоритмы, асимптотическая сложность алгоритмов, паттерны и т.п. Это звучит не так заманчиво, как написать своего чат-бота или социальную сеть. Попробуйте начать обучение бесплатно. Найдите несколько бесплатных обучающих роликов на YouTube по интересующей вас теме, обычно там даются домашние задания, попробуйте выполнить их. Если вы видите, что вам эта тема интересна, вам хотелось бы обсуждать свои проблемы с ментором и вы хотите продолжать обучение, то только тогда стоит задуматься о платных курсах.
Стоимость данных курсов от 30к до 500к. Где-то имеется только видео, хотя на мой взгляд такие источники надо обходить стороной, так как практической пользы мало, а стоимость, мне кажется, неоправданной. Лучше зайти на тот же CourseHunter, где вы получаете доступ к тем же видео с множества ресурсов, стоимостью 2-3к за ГОД. Другие курсы предлагают менторов и преподавателей, с ними уже интереснее, но там и ценник выше.
Полезны ли курсы? - Частично да. В них информация структурирована. Однако дело в мотивации, кого-то будет мотивировать, то что они отдают деньги за обучение. Кому-то нужно общение с ментором, чтобы постоянно допытывать его вопросами. Если вы мотивированы стать программистом, то обязательно им станете. Не так важны инструменты достижения цели: книги, курсы, менторы. Важно лишь ваше желание.
Помогают ли курсы найти работу? - Сложно сказать, у некоторых курсов есть договорённости с определёнными компаниями, которые предоставляют стажировки, но большинство из них просто предлагают написать в опыт работы свои курсы, а работодатели очень часто пропускают такие кандидатуры, т.к. коммерческий опыт отсутствует.
Руководство небольших компаний
С большими компаниями всё предельно понятно, начальство разбито на несколько уровней, на каждой ступеньке свой набор. Совет директоров принимает все самые важные решения.
А что же происходит в небольших компаниях и стартапах? Можно разделить такие организации на три категории.
В одной категории основатель и руководитель - это человек, который не имеет прямого отношения к IT. Если он ещё и с опытом открытия успешного бизнеса, то это может быть хорошо для развития организации, однако здесь кроется важная проблема для нас, как разработчиков. Случается, что такой руководитель не понимает аспектов работы и не представляет как устроен рынок разработчиков, ему будет казаться, что, наняв 5 джунов с ЗП 20к и одного Senior с ЗП 100к, можно построить Google. Зарплаты скорее всего будут занижаться, это самая главная статья расходов в бизнесе, надо их урезать. Заказов можно брать много, это прибыль компании, а разработчики всё равно целый день в монитор смотрят, что там может быть сложного, можно их загружать ещё.
В другой категории основателем может быть разработчик. Он понимает, как работать и как работают другие. Такой руководитель сам становится во главе команды и разрабатывает со всеми. Работы тоже может быть много, но оценка задач близка к реальной производительности команды. Для других разработчиков такой вариант будет предпочтительнее и в технологическом плане, т.к. заказы подбираются интереснее, чем стандартные интернет-магазины и мессенджеры. Правда, здесь тоже не всё радужно, начальник-программист не всегда стремится за золотыми горами. Более того многие аспекты бизнеса бывают упущены, а это прямо пропорционально сказывается на доходах компании.
В идеале, когда фирму одновременно основывают бизнесмен и технический специалист, они оба могут быть генеральными директорами, при этом будут дополнять друг друга. Один будет продавать идею того, что надо делать больше заказов, а другой будет заступаться за разработчиков.
При выборе компании, учитывайте факт, кто будет вами руководить.
С большими компаниями всё предельно понятно, начальство разбито на несколько уровней, на каждой ступеньке свой набор. Совет директоров принимает все самые важные решения.
А что же происходит в небольших компаниях и стартапах? Можно разделить такие организации на три категории.
В одной категории основатель и руководитель - это человек, который не имеет прямого отношения к IT. Если он ещё и с опытом открытия успешного бизнеса, то это может быть хорошо для развития организации, однако здесь кроется важная проблема для нас, как разработчиков. Случается, что такой руководитель не понимает аспектов работы и не представляет как устроен рынок разработчиков, ему будет казаться, что, наняв 5 джунов с ЗП 20к и одного Senior с ЗП 100к, можно построить Google. Зарплаты скорее всего будут занижаться, это самая главная статья расходов в бизнесе, надо их урезать. Заказов можно брать много, это прибыль компании, а разработчики всё равно целый день в монитор смотрят, что там может быть сложного, можно их загружать ещё.
В другой категории основателем может быть разработчик. Он понимает, как работать и как работают другие. Такой руководитель сам становится во главе команды и разрабатывает со всеми. Работы тоже может быть много, но оценка задач близка к реальной производительности команды. Для других разработчиков такой вариант будет предпочтительнее и в технологическом плане, т.к. заказы подбираются интереснее, чем стандартные интернет-магазины и мессенджеры. Правда, здесь тоже не всё радужно, начальник-программист не всегда стремится за золотыми горами. Более того многие аспекты бизнеса бывают упущены, а это прямо пропорционально сказывается на доходах компании.
В идеале, когда фирму одновременно основывают бизнесмен и технический специалист, они оба могут быть генеральными директорами, при этом будут дополнять друг друга. Один будет продавать идею того, что надо делать больше заказов, а другой будет заступаться за разработчиков.
При выборе компании, учитывайте факт, кто будет вами руководить.
Откуда такие цифры в зарплатах?
Года 3 назад проходил собеседования в различных компаниях и в некоторых из них ловил взгляды Senior Java программистов, которые не понимали, почему я Middle прошу зарплату 120000 на руки. Они и сами получали не больше, а я тогда удивлялся почему такой разрыв, ведь в то время Senior должен был получать от 170.
Время прошло и сейчас я понял, что всё меняется, особенно ценники. Сейчас вакансия Senior Java в Петербурге предполагает оплату в 300+ и это не максимальная планка, как было когда-то, а средняя. Буквально за год IT компании сильно подняли эту планку. Те Senior программисты, которые не просили повышения и не пытались сменить место работы даже и не подозревают о таком изменении рынка.
В итоге на собеседование приходят Junior программисты с просьбой о ЗП в 90к, Middle программисты просят 200к, а Senior программистов ещё попытайся найти. Это нормально.
Года 3 назад проходил собеседования в различных компаниях и в некоторых из них ловил взгляды Senior Java программистов, которые не понимали, почему я Middle прошу зарплату 120000 на руки. Они и сами получали не больше, а я тогда удивлялся почему такой разрыв, ведь в то время Senior должен был получать от 170.
Время прошло и сейчас я понял, что всё меняется, особенно ценники. Сейчас вакансия Senior Java в Петербурге предполагает оплату в 300+ и это не максимальная планка, как было когда-то, а средняя. Буквально за год IT компании сильно подняли эту планку. Те Senior программисты, которые не просили повышения и не пытались сменить место работы даже и не подозревают о таком изменении рынка.
В итоге на собеседование приходят Junior программисты с просьбой о ЗП в 90к, Middle программисты просят 200к, а Senior программистов ещё попытайся найти. Это нормально.
Полезные рекрутеры
Всякий раз, когда разработчик выкладывает резюме, на нас сваливается лавина звонков и писем рекрутёров. Cитуация в мире IT очень интересная, Senior разработчиков хантят ещё до того момента, как они решат выложить резюме. К сожалению, назойливость и повышенное внимание вызывает негатив. Технические специалисты становятся раздражительными и начинают снисходительно относиться к рекрутерам.
В этот момент разработчики ассоциируют себя с рок-звёздами и пытаются дать ответы рекрутерам в максимально пренебрежительной форме. Они рассматривают рекрутера, как незначительную ступень на пути к работе мечты, что не готовы тратить время на общение с ними. Однако это неверный шаг. Надо разговаривать с рекрутером и чем больше, тем лучше.
Рекрутер не враг, не в его интересах выкинуть ваше резюме и не показывать компании. Он рассчитывает продать вашу кандидатуру компании и чем дороже, тем лучше, т.к. в большинстве случаев, оплата зависит от ЗП на вашем новом месте. Это может быть 1-5 оклада или процент от вашей годовой ЗП.
У меня лично был случай, мне предложили хорошую вакансию в довольно известной фирме, я согласился и пытался быстрее завершить диалог, чтобы не тратить время. Сотрудник кадрового агентства всеми силами не давал закончить разговор с ним, сначала хотелось бросить трубку. Это было бы ошибкой. Мы побеседовали и он выяснил мои пожелания. В ходе беседы я осознал - эта вакансия не такая привлекательная. Рекрутер смог донести, что это не то что я ищу, мы попрощались. Через 3 дня он вернулся ко мне с предложением, которое действительно мне подходило, там были все мои пожелания и оплата была выше.
Рекрутер ваш друг, пообщайтесь с ним. Поинтересуйтесь на что обращают внимание интервьюеры, какие требования они предъявили к кандидату, возможно получится узнать вопросы. Вы в одной лодке и вам, и ему выгодно, чтобы вы заняли это место.
Общение с рекрутером сэкономит вам гораздо больше времени, чем вы можете потратить на собеседование и понять, что эта работа вам не подходит. Не пропускайте данный этап и будьте вежливы, в конце концов, кто знает, может именно этот рекрутер в будущем поможет вам устроиться в Google/Amazon/Apple и т.п.
Всякий раз, когда разработчик выкладывает резюме, на нас сваливается лавина звонков и писем рекрутёров. Cитуация в мире IT очень интересная, Senior разработчиков хантят ещё до того момента, как они решат выложить резюме. К сожалению, назойливость и повышенное внимание вызывает негатив. Технические специалисты становятся раздражительными и начинают снисходительно относиться к рекрутерам.
В этот момент разработчики ассоциируют себя с рок-звёздами и пытаются дать ответы рекрутерам в максимально пренебрежительной форме. Они рассматривают рекрутера, как незначительную ступень на пути к работе мечты, что не готовы тратить время на общение с ними. Однако это неверный шаг. Надо разговаривать с рекрутером и чем больше, тем лучше.
Рекрутер не враг, не в его интересах выкинуть ваше резюме и не показывать компании. Он рассчитывает продать вашу кандидатуру компании и чем дороже, тем лучше, т.к. в большинстве случаев, оплата зависит от ЗП на вашем новом месте. Это может быть 1-5 оклада или процент от вашей годовой ЗП.
У меня лично был случай, мне предложили хорошую вакансию в довольно известной фирме, я согласился и пытался быстрее завершить диалог, чтобы не тратить время. Сотрудник кадрового агентства всеми силами не давал закончить разговор с ним, сначала хотелось бросить трубку. Это было бы ошибкой. Мы побеседовали и он выяснил мои пожелания. В ходе беседы я осознал - эта вакансия не такая привлекательная. Рекрутер смог донести, что это не то что я ищу, мы попрощались. Через 3 дня он вернулся ко мне с предложением, которое действительно мне подходило, там были все мои пожелания и оплата была выше.
Рекрутер ваш друг, пообщайтесь с ним. Поинтересуйтесь на что обращают внимание интервьюеры, какие требования они предъявили к кандидату, возможно получится узнать вопросы. Вы в одной лодке и вам, и ему выгодно, чтобы вы заняли это место.
Общение с рекрутером сэкономит вам гораздо больше времени, чем вы можете потратить на собеседование и понять, что эта работа вам не подходит. Не пропускайте данный этап и будьте вежливы, в конце концов, кто знает, может именно этот рекрутер в будущем поможет вам устроиться в Google/Amazon/Apple и т.п.
Forwarded from АйТи собес
Media is too big
VIEW IN TELEGRAM
Типичный собес на позицию сеньора со ставкой 20к рублей
🔹Главное поставить цель🔹
В университете, на последних курсах, я решил попробовать себя в роли наставника и проводить занятия по Android-разработке. Желающих было не много, 10 человек пришло на первое занятие, на пятом занятии их оставалось уже 3. Позже и у этих троих возникли неотложные дела (мама не пускала, кошка рожала и тд). Занятия прекратились. Спустя месяц мне написала девушка Женя, которая интересовалась занятиями и говорила, что очень хочет ходить и заниматься. Я сообщил ей, что занятия уже не проходят, да и у меня уже не было столько времени и желания, тк я в тот момент перешел на новую работу. Спустя еще неделю Женя попросила меня скинуть литературу/курсы/статьи, по которым она могла бы обучаться. После обсуждения источников, она задала мне вопрос: "Можешь ли ты раз в неделю встречаться и задавать мне вопросы по тому материалу, который я изучу?". Она была настроена приезжать в любую точку города, чтобы я лично задавал ей вопросы. По видеосвязи она не хотела, аргументируя тем, что так она сможет подсмотреть ответ. Мне показалось, что Женя как и все мои "студенты" сольется после 2 занятия, поэтому я согласился. Мы обозначили, что каждую неделю она читает по 3-4 главы книги, смотрит курсы по этим темам, а потом я просто задаю вопросы.
Наши встречи проходили в университетской библиотеке, каждую неделю на пол часа. Я задавал вопросы - она отвечала. Так мы прошли все темы и книги, которые я ей посоветовал. Дальше она сама уже продолжила свое обучение. Еще спустя 3 месяца мы с ней составили резюме и она нашла работу Junior Android разработчиком. Я спросил, почему она выбрала такой способ подготовки, ведь я особо ее и ничему не учил, просто задавал вопросы. Она сказала, что ей было бы очень стыдно прийти ко мне на встречу неподготовленной, и самый большой страх - это выглядеть глупо. Поэтому таким способом она превратила свой страх в способ достижения цели. Сейчас Женя стала опытным разработчиком, который знает несколько языков программирования и консультирует меня по Android.
Мотивация должна исходить изнутри, не надейтесь, что кто-то будет вас пинать и таким образом вы станете разработчиком. Только самостоятельная работа поможет достигнуть высот.
В университете, на последних курсах, я решил попробовать себя в роли наставника и проводить занятия по Android-разработке. Желающих было не много, 10 человек пришло на первое занятие, на пятом занятии их оставалось уже 3. Позже и у этих троих возникли неотложные дела (мама не пускала, кошка рожала и тд). Занятия прекратились. Спустя месяц мне написала девушка Женя, которая интересовалась занятиями и говорила, что очень хочет ходить и заниматься. Я сообщил ей, что занятия уже не проходят, да и у меня уже не было столько времени и желания, тк я в тот момент перешел на новую работу. Спустя еще неделю Женя попросила меня скинуть литературу/курсы/статьи, по которым она могла бы обучаться. После обсуждения источников, она задала мне вопрос: "Можешь ли ты раз в неделю встречаться и задавать мне вопросы по тому материалу, который я изучу?". Она была настроена приезжать в любую точку города, чтобы я лично задавал ей вопросы. По видеосвязи она не хотела, аргументируя тем, что так она сможет подсмотреть ответ. Мне показалось, что Женя как и все мои "студенты" сольется после 2 занятия, поэтому я согласился. Мы обозначили, что каждую неделю она читает по 3-4 главы книги, смотрит курсы по этим темам, а потом я просто задаю вопросы.
Наши встречи проходили в университетской библиотеке, каждую неделю на пол часа. Я задавал вопросы - она отвечала. Так мы прошли все темы и книги, которые я ей посоветовал. Дальше она сама уже продолжила свое обучение. Еще спустя 3 месяца мы с ней составили резюме и она нашла работу Junior Android разработчиком. Я спросил, почему она выбрала такой способ подготовки, ведь я особо ее и ничему не учил, просто задавал вопросы. Она сказала, что ей было бы очень стыдно прийти ко мне на встречу неподготовленной, и самый большой страх - это выглядеть глупо. Поэтому таким способом она превратила свой страх в способ достижения цели. Сейчас Женя стала опытным разработчиком, который знает несколько языков программирования и консультирует меня по Android.
Мотивация должна исходить изнутри, не надейтесь, что кто-то будет вас пинать и таким образом вы станете разработчиком. Только самостоятельная работа поможет достигнуть высот.
История подписчика
Здравствуйте! Меня зовут Егор и мне 28 лет, работаю в IT-сфере 4 года в качестве Frontend-разработчика. Хочу поделиться историей, как я пришёл в эту отрасль. Возможно, Вам и вашим подписчикам она покажется интересной.
После окончания школы я поступил в университет на химика-технолога, учеба шла в тягость. На 4 курсе я устроился работать в Макдональдс. Там я познакомился с Олегом, который учился на программиста и был на 3 курсе. Ему нравилось программирование и он показывал свои личные проекты (это были и сайты с товарами, и различные игры, VR и AR). Мне казалось, что Олег может сделать все. Я был очень удивлён, что человек с такими навыками работает на кассе Макдональдса. Олег рассказал историю, как он устроился программистом в компанию за 12 тыс, однако его девушке не нравилось, что он так мало зарабатывал, поэтому он бросил работу и ушел работать в мак за 30 тыс. Да и сам он был не в восторге от этой работы, тк компания периодически задерживала ЗП и имела систему штрафов за опоздание, за уход с работы раньше времени и далее..
В тот момент моя мама открывала свой цветочный магазин и ей нужен был сайт. Денег не было, поэтому я решил спросить у Олега, может ли он помочь. На что Олег предложил мне самому попробовать написать сайт с его менторством, чтобы в дальнейшем я сам мог его поддерживать. Я согласился. Так начались наши уроки программирования. Спустя 3 месяца я сделал свой первый сайт для цветочного магазина. Мне это очень понравилось и я решил поискать работу. Откликнулся на 30 вакансий и стал ждать. Только 6 компаний со мной связались, и только 4 позвали на собеседование. Собеседования я провалил. В одной из компаний мне дали очень развернутый фидбек(за что я им очень благодарен), и составил план учёбы. Учился я по вечерам, на выходных, по дороге на работу, в перерывах. Мне приносило это удовольствие, поэтому усталости я не ощущал.
Прошло пракически пол года, я чувствовал себя гораздо увереннее, дополнил резюме, сделал несколько собсвенных проектов и пошел искать работу. Сходил на 6 собеседований и всех их провалил, хотя в эти разы они не заканчивались после 5 минут со старта. Одно из них длилось примерно 2 часа.
Олегу в этот период предложили повышение, он бросил учебу и стал менеджером. Он всячески отговаривал меня продолжать, тк у меня не было диплома и из опыта работы только "Свободная касса!", да и по интеллекту я ему в этой сфере значительно уступал. Мы поругались. Спустя еще несколько собеседований мне предложили пройти стажировку за 20 тыс. И, О БОГИ, я был счастлив и согласился. Да, это было меньше, чем я получал в Маке, но я ощущал себя супергероем, приходя на работу каждый день. Спустя 3 года работы моя зарплата выросла в 7 раз.
Стоит сказать, что я ни на минуту не пожалел о своём решении стать программистом. Этот опыт помог мне выработать принципы, которые помогают мне в работе и жизни:
не получилось - попробуй ещё;
кто-то всегда будет умнее, но это не делает тебя хуже;
быстрые деньги - не всегда хорошо;
свой опыт - всегда лучше чужого.
Здравствуйте! Меня зовут Егор и мне 28 лет, работаю в IT-сфере 4 года в качестве Frontend-разработчика. Хочу поделиться историей, как я пришёл в эту отрасль. Возможно, Вам и вашим подписчикам она покажется интересной.
После окончания школы я поступил в университет на химика-технолога, учеба шла в тягость. На 4 курсе я устроился работать в Макдональдс. Там я познакомился с Олегом, который учился на программиста и был на 3 курсе. Ему нравилось программирование и он показывал свои личные проекты (это были и сайты с товарами, и различные игры, VR и AR). Мне казалось, что Олег может сделать все. Я был очень удивлён, что человек с такими навыками работает на кассе Макдональдса. Олег рассказал историю, как он устроился программистом в компанию за 12 тыс, однако его девушке не нравилось, что он так мало зарабатывал, поэтому он бросил работу и ушел работать в мак за 30 тыс. Да и сам он был не в восторге от этой работы, тк компания периодически задерживала ЗП и имела систему штрафов за опоздание, за уход с работы раньше времени и далее..
В тот момент моя мама открывала свой цветочный магазин и ей нужен был сайт. Денег не было, поэтому я решил спросить у Олега, может ли он помочь. На что Олег предложил мне самому попробовать написать сайт с его менторством, чтобы в дальнейшем я сам мог его поддерживать. Я согласился. Так начались наши уроки программирования. Спустя 3 месяца я сделал свой первый сайт для цветочного магазина. Мне это очень понравилось и я решил поискать работу. Откликнулся на 30 вакансий и стал ждать. Только 6 компаний со мной связались, и только 4 позвали на собеседование. Собеседования я провалил. В одной из компаний мне дали очень развернутый фидбек(за что я им очень благодарен), и составил план учёбы. Учился я по вечерам, на выходных, по дороге на работу, в перерывах. Мне приносило это удовольствие, поэтому усталости я не ощущал.
Прошло пракически пол года, я чувствовал себя гораздо увереннее, дополнил резюме, сделал несколько собсвенных проектов и пошел искать работу. Сходил на 6 собеседований и всех их провалил, хотя в эти разы они не заканчивались после 5 минут со старта. Одно из них длилось примерно 2 часа.
Олегу в этот период предложили повышение, он бросил учебу и стал менеджером. Он всячески отговаривал меня продолжать, тк у меня не было диплома и из опыта работы только "Свободная касса!", да и по интеллекту я ему в этой сфере значительно уступал. Мы поругались. Спустя еще несколько собеседований мне предложили пройти стажировку за 20 тыс. И, О БОГИ, я был счастлив и согласился. Да, это было меньше, чем я получал в Маке, но я ощущал себя супергероем, приходя на работу каждый день. Спустя 3 года работы моя зарплата выросла в 7 раз.
Стоит сказать, что я ни на минуту не пожалел о своём решении стать программистом. Этот опыт помог мне выработать принципы, которые помогают мне в работе и жизни:
не получилось - попробуй ещё;
кто-то всегда будет умнее, но это не делает тебя хуже;
быстрые деньги - не всегда хорошо;
свой опыт - всегда лучше чужого.
❤1🔥1
Учителя, менторы и их курсы
В директ часто получаю от Вас вопросы, какие курсы выбрать для обучения. Но почему-то никто не задумывается о том, кто преподает эти курсы, имеет ли этот человек достаточную квалификацию и опыт.
Однажды ко мне на собеседование пришёл преподаватель с достаточно известного курса по backend-разработке. Сначала, как всегда, я прошу кандидата рассказать о себе, о своем опыте работы и тд. Кандидат не был скромным в своих ответах, отметил знание Java и различных фрейморков как 10 из 10, вырастил и обучил 100+ программистов за свои 3 года опыта, в общем компания держалась только на нём. Сразу, конечно, возникли вопросы о его желаемой заработной плате, ожидал услышать цифры от 2500$, но нет, кандидат просил не больше 1000$. Мы приступили к технической части собеседования, на все вопросы кандидат отвечал четко, как по учебнику, без ошибок и запинок. Все стандартные вопросы были для него простыми. И я решил сменить русло нашего собеседования в задачу на понимание в глубину и рассуждение. И вот тут кандидат поплыл, я начал понимать, что он знает теорию, но не знает как ее применять в реальных проектах. В ходе собеседования выяснилось, что его пригласили быть учителем на этих курсах сразу после их окончания. Его знания были как стартовый туториал по нейронным сетям, он знает как отличить кошечек от собак, а бизнес-задачу решить не может.
Еще пример с индивидуальными менторами. Как-то наткнулся на профиль 15-летнего парня, который продавал свой авторский видеокурс, больше рассмешило описание обо мне: "Прошёл собеседование в гугл, но не пошёл туда". И тут вопрос, какое это было собеседование? На сайтике, где был опрос, могли бы Вы работать в Google? Бывают такие, которые пишут, что имеют 10+ опыта разработки, и прилагают свой гитхаб. Заходишь в репозиторий и понимаешь, что да, молодец, ты смог зарегистрировать гитхаб. В лучшем случае там будет проект-калькулятор, написанный год назад.
И что в итоге мы имеем? По hh.ru можно даже определять какие курсы только что закончились, появляется толпа программистов, у которых резюме, сертификаты и проекты на гите одинаковые. К сожалению, большинство хотят продать, а не научить. Опытные разработчики просто понимают, что обучение других не очень благодарное дело. У тебя должны быть: хорошая аппаратура, качественный материал, последовательная информация, доступность 24/7, а главное это время и желание. Нужно спокойно относится к таким вопросам: "а как мне смотивировать себя?", или "когда я буду получать миллион?", или "а давай ты отдашь мне свой курс бесплатно, потому что у меня денег нет, а братишка?". Проще становится взять проект на фрилансе и за неделю заработать те деньги, которые тебе заплатит 100 человек за курс.
Я не могу посоветовать конкретный курс, однако все они +/- одинаковые и затрагивают общие темы. Старайтесь оценивать современность, ищите отзывы. В начале пути, любой курс будет полезен, т.к. всё будет в новинку. Поищите бесплатные видеоуроки и курсы, сформируйте мнение и только после этого переходите на следующий уровень.
В директ часто получаю от Вас вопросы, какие курсы выбрать для обучения. Но почему-то никто не задумывается о том, кто преподает эти курсы, имеет ли этот человек достаточную квалификацию и опыт.
Однажды ко мне на собеседование пришёл преподаватель с достаточно известного курса по backend-разработке. Сначала, как всегда, я прошу кандидата рассказать о себе, о своем опыте работы и тд. Кандидат не был скромным в своих ответах, отметил знание Java и различных фрейморков как 10 из 10, вырастил и обучил 100+ программистов за свои 3 года опыта, в общем компания держалась только на нём. Сразу, конечно, возникли вопросы о его желаемой заработной плате, ожидал услышать цифры от 2500$, но нет, кандидат просил не больше 1000$. Мы приступили к технической части собеседования, на все вопросы кандидат отвечал четко, как по учебнику, без ошибок и запинок. Все стандартные вопросы были для него простыми. И я решил сменить русло нашего собеседования в задачу на понимание в глубину и рассуждение. И вот тут кандидат поплыл, я начал понимать, что он знает теорию, но не знает как ее применять в реальных проектах. В ходе собеседования выяснилось, что его пригласили быть учителем на этих курсах сразу после их окончания. Его знания были как стартовый туториал по нейронным сетям, он знает как отличить кошечек от собак, а бизнес-задачу решить не может.
Еще пример с индивидуальными менторами. Как-то наткнулся на профиль 15-летнего парня, который продавал свой авторский видеокурс, больше рассмешило описание обо мне: "Прошёл собеседование в гугл, но не пошёл туда". И тут вопрос, какое это было собеседование? На сайтике, где был опрос, могли бы Вы работать в Google? Бывают такие, которые пишут, что имеют 10+ опыта разработки, и прилагают свой гитхаб. Заходишь в репозиторий и понимаешь, что да, молодец, ты смог зарегистрировать гитхаб. В лучшем случае там будет проект-калькулятор, написанный год назад.
И что в итоге мы имеем? По hh.ru можно даже определять какие курсы только что закончились, появляется толпа программистов, у которых резюме, сертификаты и проекты на гите одинаковые. К сожалению, большинство хотят продать, а не научить. Опытные разработчики просто понимают, что обучение других не очень благодарное дело. У тебя должны быть: хорошая аппаратура, качественный материал, последовательная информация, доступность 24/7, а главное это время и желание. Нужно спокойно относится к таким вопросам: "а как мне смотивировать себя?", или "когда я буду получать миллион?", или "а давай ты отдашь мне свой курс бесплатно, потому что у меня денег нет, а братишка?". Проще становится взять проект на фрилансе и за неделю заработать те деньги, которые тебе заплатит 100 человек за курс.
Я не могу посоветовать конкретный курс, однако все они +/- одинаковые и затрагивают общие темы. Старайтесь оценивать современность, ищите отзывы. В начале пути, любой курс будет полезен, т.к. всё будет в новинку. Поищите бесплатные видеоуроки и курсы, сформируйте мнение и только после этого переходите на следующий уровень.
Задачка в портфолио Frontend: Сапёр
Среди Frontend-разработчиков распространены следующие проекты: Калькулятор, TODO List, Магазин, Список покупок, Сайт Визитка. Реализаций столько, что начинающим программистам достаточно открыть первую страницу Google и скопировать тот проект, который понравится больше всего. К сожалению, если вы копируете код без понимания, это быстро вскрывается на собеседовании. Мы, интервьюеры, почти всегда просматриваем Github потенциального кандидата и если там один проект калькулятор или список задач, то мгновенно закрываем его.
Если вы хотите продемонстрировать свои навыки и умения, надо выделяться на фоне остальных. Предлагаю реализовать проект "Сапёр". Плюсом будет, если вы развернёте его на Github Pages и будет возможность не только изучить ваш код, но и насладиться игрой :)
Правила известны: Игроку показывается поле вида NxN с закрытыми ячейками. При нажатии левой кнопкой мыши на ячейку - она открывается (желательно, чтобы первая всегда открывалась, а не взрывалась). Открытая ячейка может быть в одном из трёх состояний:
пустая, по близости нет бомб, необходимо открывать все пустые ячейки по близости, до тех пор, пока не упрёмся в цифры;
цифра - демонстрирует количество бомб на соседних клетках;
бомба - при открытии ячейки с бомбой, игра заканчивается.
Должна быть возможность пометить ячейку флажком, нажатием правой кнопкой мыши.
Дальше подключайте фантазию, добавьте очки, возможность задавать размер поля, уровень сложности, таймер.
Среди Frontend-разработчиков распространены следующие проекты: Калькулятор, TODO List, Магазин, Список покупок, Сайт Визитка. Реализаций столько, что начинающим программистам достаточно открыть первую страницу Google и скопировать тот проект, который понравится больше всего. К сожалению, если вы копируете код без понимания, это быстро вскрывается на собеседовании. Мы, интервьюеры, почти всегда просматриваем Github потенциального кандидата и если там один проект калькулятор или список задач, то мгновенно закрываем его.
Если вы хотите продемонстрировать свои навыки и умения, надо выделяться на фоне остальных. Предлагаю реализовать проект "Сапёр". Плюсом будет, если вы развернёте его на Github Pages и будет возможность не только изучить ваш код, но и насладиться игрой :)
Правила известны: Игроку показывается поле вида NxN с закрытыми ячейками. При нажатии левой кнопкой мыши на ячейку - она открывается (желательно, чтобы первая всегда открывалась, а не взрывалась). Открытая ячейка может быть в одном из трёх состояний:
пустая, по близости нет бомб, необходимо открывать все пустые ячейки по близости, до тех пор, пока не упрёмся в цифры;
цифра - демонстрирует количество бомб на соседних клетках;
бомба - при открытии ячейки с бомбой, игра заканчивается.
Должна быть возможность пометить ячейку флажком, нажатием правой кнопкой мыши.
Дальше подключайте фантазию, добавьте очки, возможность задавать размер поля, уровень сложности, таймер.
Задачка в портфолио Backend
Если вы Backend разработчик, то скорее всего, для портфолио вам все советуют реализовать CRUD приложение для работы с базой. Возможно вы уже написали "Ветеринарную клинику", "Веб калькулятор", "Прогноз погоды".
Предлагаю решить задачку поинтереснее: Реализовать веб-сервер для индексации текстовых документов. Класс хранилища (БД) должен быть реализован вами, в выбранной вами структуре данных. Напишите свой класс, который предоставляет возможность поиска и сортировки по тексту. Желательно не прибегать к стандартным методам sort, а реализовывать свои.
Сервер должен иметь 3 Endpoints:
POST /api/v1/document - сохранение документа в базе. На вход принимается текст документа в RequestBody.
Пример запроса:
POST /api/v1/document
RequestBody: {"text":"Very Very Happy Day"}
GET /api/v1/document/search/{phrase} - поиск всех документов в которых содержится запрашиваемая поисковая строка {phrase}. Ответ должен содержать массив объектов, где будут указаны текст и количество вхождений данной поисковой фразы.
Пример запроса:
GET /api/v1/document/search/Very
Response: [{"text":"Very Very Happy Day", "count": 2}]
POST /api/v1/document/process - На вход принимается массив строк в RequestBody. Каждая строка содержит поисковую фразу. Обработка заключается в следующем: Из базы выгружаются все сохранённые документы, которые содержат данную поисковую строку. Затем тексты сортируются по количеству найденных поисковых фраз. После сортировки, все поисковые фразы в текстах заменяются на хеш.
Пример запроса:
POST /api/v1/document/process
Response: [{"text":"151 151 Happy Day", "count": 2}]
Подключите фантазию, расширьте функционал, напишите юнит тесты, используйте сторонние программы для кэширования, дерзайте.
Если вы Backend разработчик, то скорее всего, для портфолио вам все советуют реализовать CRUD приложение для работы с базой. Возможно вы уже написали "Ветеринарную клинику", "Веб калькулятор", "Прогноз погоды".
Предлагаю решить задачку поинтереснее: Реализовать веб-сервер для индексации текстовых документов. Класс хранилища (БД) должен быть реализован вами, в выбранной вами структуре данных. Напишите свой класс, который предоставляет возможность поиска и сортировки по тексту. Желательно не прибегать к стандартным методам sort, а реализовывать свои.
Сервер должен иметь 3 Endpoints:
POST /api/v1/document - сохранение документа в базе. На вход принимается текст документа в RequestBody.
Пример запроса:
POST /api/v1/document
RequestBody: {"text":"Very Very Happy Day"}
GET /api/v1/document/search/{phrase} - поиск всех документов в которых содержится запрашиваемая поисковая строка {phrase}. Ответ должен содержать массив объектов, где будут указаны текст и количество вхождений данной поисковой фразы.
Пример запроса:
GET /api/v1/document/search/Very
Response: [{"text":"Very Very Happy Day", "count": 2}]
POST /api/v1/document/process - На вход принимается массив строк в RequestBody. Каждая строка содержит поисковую фразу. Обработка заключается в следующем: Из базы выгружаются все сохранённые документы, которые содержат данную поисковую строку. Затем тексты сортируются по количеству найденных поисковых фраз. После сортировки, все поисковые фразы в текстах заменяются на хеш.
Пример запроса:
POST /api/v1/document/process
Response: [{"text":"151 151 Happy Day", "count": 2}]
Подключите фантазию, расширьте функционал, напишите юнит тесты, используйте сторонние программы для кэширования, дерзайте.