Ваши советы начинающим программистам?
Публичный пост
2 февраля 2021
2547
Я тут на днях наконец-то признался себе в том, что я спустил 3 года в унитаз и у меня не получилось стать программистом. Надо искать работу вне IT.
Напоследок хочется собрать тред с советами для тех кто только начинает.
Дайте пару советов абстрактному человеку решившему стать программистом.
Отрефлексировав почему не получилось, начну с себя:
- На старте кажется что главное это язык, но алгоритмы и прочие фундаментальные знания оказываются важнее.
- Многие говорят о том, что алгоритмы не нужны или переоценены, но на собесах их будут спрашивать.
- Не начинайте, если не готовы к
слишкомдолгому поиску работы. - Идея бросить работу, чтобы учиться — сильно хуже, чем кажется.
Не стоит идти в IT только ради денег: если тебе это действительно не нравится - быстро выгоришь
Надо учиться не ради учёбы, а пытаться что-то сделать, что можно показать. Алгоритмы, языки, фреймворки - все это спрашивают у тебя, потому что тебе нечего показать и неочем рассказать. Про что спрашивать на собеседовании, если ты ничего не сделал? Как иначе оценить уровень знаний новичка? Только прощупав теорию...
Будет что показать или рассказать - будет о чем спрашивать, кроме алгоритмов.
Если у тебя есть сделанный тобой сайт, сервис, приложение в Google Play/App Store, Telegram bot, да хоть что угодно, что можно показать - тебя пригласят и на интервью и потом на работу. Может сначала trainee, но пригласят.
Поэтому, я думаю, что ключевой навык уметь что-то сделать.
Я вот с самого начала понимал, что программирование - не совсем моё, поэтому пошел сразу в аналитику и дата саенс. Отлично для зарплаты, отвратительно для самооценки - чувтсвую себя одновременно и плохим программистом, и плохим математиком и недопродактом :)
Ну а если шутки в сторону, то совет такой - если нет 100% кайфа от самого процесса написания кода, как, видимо, в твоем случае, то стоит подумать над тем, что именно нравится во всем этом АйТи и рядом. И позиционировать себя соответсвующим образом. В моем случае основной кайф от работы - это решение проблем и ответы на вопросики, а программирование - всего лишь инструмент, поэтому как-то сам собой пришел в аналитику, не в програмисты. Похожее вроде бы есть у ученых, они пишут отвратительный код, но у них никто за это не спрашивает, лишь бы цифры были верные. Короче говоря, найти ту область, которая нравится и получается, и в которой навыки именно программирования будут не на первом месте.
Часто проблема не в навыках, а подать себя так, чтобы выделиться среди других.
У нас в культуре стыдно себя хвалить, а надо.
Мне помог этот канал: https://www.youtube.com/user/Yenotte1984
У меня и просмотры на hh выросли в несколько раз и количество собесов тоже, и работа сразу нашлась.
Очень тяжело устроиться джуном, я почти 3 года фрилансила прежде чем идти в офис устраиваться, и то не за 1 день нашла.
Говорят, hr за выходные получают по 200-300 откликов от джунов на позицию. Выхода 2, или фрилансить пока не дойдешь до уровня мидла, или пробиваться.
Знакомая, получив айтишную вышку, 8 месяцев искала работу, погрязла в депрессии, помогли близкие, и в итоге нашла. То есть важно еще и вылезать из этого состояния постоянных отказов. И понимать, что с тобой все ок, просто конкуренция и не принимать на свой счет. И откликаться, и резюме улучшать, и спрашивать знакомых, у меня норм резюме или как улучшить? А позиции у вас нет открытой и быть готовым работать за любые деньги и на любых условиях на первой работе в IT. И никогда не сдаваться!
Нашла и заценила твое CV на hh
Описать процессы которые ты выполнял на работе - недостаточно, подумай как следует и напиши, какую пользу ты принес бизнесу в цифрах, в процентах.
Больше года на фрилансе ты делал телеграм ботов и такое ощущение что ты это ненавидишь. 1 фраза и все) Опиши увлекательно и сочно, чтобы hr захотела сама этих ботов ваять.
Рекомендую убрать весь нерелевантный опыт, оставить только то, что поможет тебе в текущей работе и очень положительно характеризует, например, какой-то волонтерский опыт.
Зачем нужен опыт в продажах в IT? Я бы не указывала это в разделе о себе, но написала бы свои сильные качества, навыки и чем бы ты был полезен бизнесу, компании, куда устраиваешься
Прежде чем называть себя программистом, пусть и начинающим, сделай что-нибудь реальное , работающее, для людей.
Напиши конструктор квизов.
Или может наложение фильтров на фото.
Выложи свою игру в маркет . Что-то такое, зависит от направления. Желательно потом поддерживай его .
Поставь цель, учись и делай пока не будет готово.
и вот еще https://habr.com/ru/company/alconost/blog/341304/
Чтобы устроится на работу - надо ломится, хоть куда, хоть за любые гроши. Можно попытаться устроиться стажёром.
Также можно попытаться влиться в среду. То есть, если ты живёшь в крупном городе искать различную движуху, хакатоны там, всякие клубы IT-шников. Даже вастрик клуб тот же. Знакомишься с людьми АККУРАТНО спрашиваешь о работе, авось по знакомству и легче будет.
Не буду гадать про конкретный случай, но в смысле "советов начинающим программистам", мне кажется, есть разница между студентами профильных ВУЗов, ищущими первую работу, и взрослыми, переквалифицирующимися в программистов.
Про последних я, если честно, ничего не могу сказать, я их просто не знаю. И я не могу сказать, почему именно я их не знаю, но даже среди многих сотен просмотренных резюме они попадались мне крайне редко, а те, что всё же попадались, были очень и очень слабыми. Возможно, дело в том, что у них тоже нет референтной группы, которая могла бы им помочь улучшить резюме. Возможно, ещё в чём-то.
Студентам профильных ВУЗов я бы советовала банальностей: учиться, разбираться в тех самых алгоритмах, поменьше отношения "да нафига мне это всё нужно?", сдавать лабы, пилить пет-проекты, инвестировать в нетворкинг, а после окончания ВУЗа постараться попасть на стажировку программистом в действительно крутое место с классными инженерными практиками, даже если там вообще не заплатят. И не спешить. Не спешить заработать первый айтишный охренилиард, не спешить открывать с пинка двери, не спешить промоутиться в менеджмент или уходить в сопутствующие роли. Добросовестно и с отдачей поработать single contributor-ом несколько лет, пройти все стадии развития проектов, потрогать ручками все современные инженерные практики, и только потом начинать раздумия на тему "хочулия, могулия", в смысле в какую сторону расти и где зеленее охренилиарды (хотя, скорее всего, к этому времени и без тяжких раздумий всё будет ясно, а рекрутёры будут соревноваться в предложении охренилиардов).
Если для вас само приглашение на собеседование уже было радостью, то, значит, проблема в другом:
Все остальное — ерунда, если вы не в фаанг хотите попасть. У большинства моих знакомых в принципе нет резюме и профилей на хх или линкеде. И работают же как-то.
У меня есть опыт близкого человека, который стал программистом (вот недавно прошел испытательный срок), несмотря ни на что (декрет, двух маленьких детей, меня, непрофильное образование, карантин, рынок работодателя для junior).
Пара наблюдений за всем этим:
И напоследок моя любимая цитата, c ней я согласен на 100% :
https://aphyr.com/posts/301-clojure-from-the-ground-up-welcome
Я сам учусь. Встречал совет, что если ты можешь выполнить несколько этих тестовых, то ты готов: https://github.com/Hexlet/ru-test-assignments
И вообще у Хекслета хорошие дорожные карты по разным стекам.
И про себя скажу, что проекты дают максимальную скорость прокачки. Это реально выход из зоны комфорта щёлканья мелких задачек.
Неэтичный лайфхак: если совсем нет денег на обучение, всегда можно скачать книги и курсы, попытаться что-то сделать и напроситься на ревью. С первой зп задонатишь авторам. Вон у jetbrains academy (https://hyperskill.org/) действуют рефералки на 5 мес бесплатного доступа. В клубе есть, как минимум, 1 разработчик оттуда. И там очень классный контент по какому хочешь стеку. А сколько всего на сайте их первого детища - stepik.
Также полезнее измерять время учёбы не годами, а кол-вом реальных часов. Сколько занимался системно и регулярно. Хотя бы примерно. Например, если набралось часов 100, и занимался по выходным пару часов, то это несерьезно.
Не слушайте никаких советов, там сплошная ошибка выжившего.
Мой совет, кстати, не исключение.
Если парадокс выше приятно пощекотал вам мозг, то, возможно, вы по адресу.
Ну у нас тут и "Ху из хайринг" есть - попробовать податься, и мок-интервью - получить фидбек. И даже "Кто ищет работу".
Вообще, какой-то фидбек от собеседующих был? Позитивный\негативный?
У меня жена переквалифицировалась из разработчика ПЛИСов в питониста-датасаентиста.
На ее примере могу дать главный совет: обязательно нужно делать реальные проекты (игру написать, приложение какое-нибудь).
Без практического применения все эти курсы и теоретические знания ничего не стоят, и человек просто не понимает смысла того, что он делает. И еще скучно.
После того, как сделал пару кривых-косых проектов, можно уже углубленно заниматься теорией.
Госорганы, госкорпорации и просто крупные неайтишные компании остро нуждаются в JSON'оукладчиках и XML-трансформаторах. Их зарплаты уже никак не добивают до рынка, и кадровый голод огромен.
Мне кажется - это лучшие места для набивки первого опыта. Там в большинстве случаев не смотрят на возраст, т.к коллективы и так возрастные.
Во-первых: это работа в команде, что выгодно отличит вас от тех, кто наработал первый опыт в одиночку, на фрилансе. Во-вторых это сложные задачи, хоть они и связаны с легаси-кодом. В-третьих, свичнуться в более модный-молодежный стек будучи миддлом очень легко, если вы конечно захотите.
Основная проблема в том, что роют тыловые интеграционные REST-траншеи в основном на Java или C#, а на фронт бросают тех, кто умеет держать в руках jQuery.
Cоответственно, Python, Ruby, Elixir, R и прочее - мимо, как и Node.js чаще всего. А ведь именно это на курсах чаще всего и преподают. Но эти технологии востребованы в малом бизнесе - там, где вас будут нанимать на порядок более тщательно проверяя, потому что нанимающий, прямо или косвенно, будет платить вам зарплату из своего кармана.
TL/DR совет стремящимся: Учите Java, учите jQuery, идите в госку или на заводы поддерживать ПО из нулевых за чеканную монету и опыт, потом свитчнетесь куда угодно если будет нужно. С опытом в пару лет вы попадёте в другую лигу.
Оценивай реально свои силы и когнитивные способности.
Пройди пару IQ тестов. Если у тебя меньше 100 - это стоит держать в уме при обучении. Понимать, что если кому-то потребовалось три месяца на что-то, то тебе возможно понадобится год. Что джуном ты будешь потом не год, а три, ну и так далее.
Возможно, стоило понизить планку качества/размера компаний, куда подавал резюме, и рассмотреть более маленькие студии. Судя по тому, что везде просили алгоритмы, подавался ты в компании побольше. В маленькие же попасть намного легче, круг того, над чем придётся работать, скорее всего, будет больше, получишь концентрированный опыт за короткое время. Получаешь первый опыт, и уже можешь подаваться на более интересные позиции, и так до тех пор, пока не дойдешь до трёхсот какосеков.