Pull to refresh

Comments 29

PinnedPinned comments

Изучив базовые вещи нужно что-то начинать писать. Потом писать что-то полезное для себя или для кого-то. Знания программирования приходят с практикой. Знания всех фреймворков не нужны, все равно их не изучить все, да и с новыми версиями вносятся изменения, иногда меняя вообще весь фреймворк. Главное знание технологий в общих чертах, какие есть известные фреймворки, для чего применяются и их достоинства/недостатки относительно друг друга. Книжки про архитектуру и паттерны нужно читать не сразу, а после некоторой практики, когда уже будет некоторая боль отладки и рефакторинга плохо написанного кода.

Прогресс оценить на самом деле легко. Оценка - это сколько ты можешь заработать за единицу времени. Сначала легкие и дешевые задачки, которые тобой решаются достаточно долго. Потом эти задачки начинаешь решать быстро и замахиваться на более сложные задачи, но которые решаются дольше. А потом и они решаются достаточно быстро и время переходить к более сложным и дорогим. И так по кругу.

Изучив базовые вещи нужно что-то начинать писать. Потом писать что-то полезное для себя или для кого-то. Знания программирования приходят с практикой. Знания всех фреймворков не нужны, все равно их не изучить все, да и с новыми версиями вносятся изменения, иногда меняя вообще весь фреймворк. Главное знание технологий в общих чертах, какие есть известные фреймворки, для чего применяются и их достоинства/недостатки относительно друг друга. Книжки про архитектуру и паттерны нужно читать не сразу, а после некоторой практики, когда уже будет некоторая боль отладки и рефакторинга плохо написанного кода.

Прогресс оценить на самом деле легко. Оценка - это сколько ты можешь заработать за единицу времени. Сначала легкие и дешевые задачки, которые тобой решаются достаточно долго. Потом эти задачки начинаешь решать быстро и замахиваться на более сложные задачи, но которые решаются дольше. А потом и они решаются достаточно быстро и время переходить к более сложным и дорогим. И так по кругу.

Ещё для отслеживания прогресса вполне подойдёт гит. Открыл свой код трехмесячной давности (чем больше опыта, тем дальше надо откатиться) и посмотри на него. Если он хуже, значит есть рост.

Согласен, больно и стыдно, поэтому как-то даже не хочется на них ссылаться здесь и говорить, смотрите что я сделал.

Спасибо за комментарий! Я с ним полностью согласен и судя по по плюсам, не я один. Я его закрепил наверху, как наставнический. Надеюсь, вы не будете против.

От себя лишь могу дополнить, что действительно нужно как можно скорее браться за реальное программирование и не закапываться в книжках. Книги – это хорошо, их безусловно стоит читать и изучать, но ориентироваться надо в первую очередь на практику. Я не вынес и не обсуждал это в статье, потому что ошибки как таковой не совершал и сразу понимал, что надо как можно скорее что-то писать своими руками. Так появились пару рабочих сервисов, у которых даже есть реальные пользователи, еще один доделываю и хочу в следующем месяце запустить. И пока их делал, на практике понимал гораздо глубже тонкости, чем описано в любой книге. Что-то не так работает - пошел читать статью, другую статью, официальное руководство, стэковерфлоу, пробовать реализовать так или как-то иначе. В итоге заработало, понял почему так и считай разобрался и научился. И да, и так по кругу.

Программист как умник, набирает опыт только на своих ошибках, чужие решения, как правило, вначале не запоминаются.

Я бы добавил сюда ещё высказывание кого-то из старой школы - "Если хочешь научиться программировать, просто смотри, как это делают другие".
Т.е. крайне не лишним будет изучение кода других людей, благо, что сейчас не 90е прошлого века, и кода в свободном доступе сколько угодно.
Способность читать и понимать чужой код сильно пригодится в будущем.

опыт не приходит без ошибок, поэтому самый лучший выбор - это не бояться их повторить

Меня зовут Ваьсен

Как правильно произносится Ваше имя?

Мне кажется что для того чтобы начать работать программистом ты делаешь слишком много лишних телодвижений, распыляешься. А надо то всего-то прочитать книжку чтобы понять базовые вещи, потом придумать себе проект и делать его. Что-то реальное желательно. Это полезно, т.к. опыт и понимание приходит только с практикой. И большинство людей прекрасно понимают, что если джун без опыта про всё читал и про всё слышал, хто вообще не факт что он хоть что-то может. Бесплатная идея для своего проекта - напиши торгового робота для биржи. Опыт + заодно проверишь гипотезы о "халявном" заработке на бирже.

Я в статье писал про ошибки, которые совершил. Не рассказывал про сделанные проекты, ибо не особо люблю как-то "хвастаться", да и не уверен в их качестве. Но все же, сразу после того, как изучил основы языка, я начал делать реальные проекты. У одного из них есть живые пользователи и обратная связь, а это спустя после пары месяцев после начала учебы.

Бесплатная идея для своего проекта - напиши торгового робота для биржи.

Не поверишь - именно такой бот и есть. Точнее по этому принципу бот и работает, мониторит тысячи страниц на одном сайте с ценами, и если цена упала - присылает уведомление. Правда в рамках это внутриигровой валюты и одной игры, но главное ведь технологии, реализация и принцип, а это все тоже самое.

Как по мне, свои проекты это главное для старта. По поводу торгового робота я имел в виду немного другое, не парсер, а интеграцию с апи какого-нибудь брокера. Если ты придёшь на собеседование и скажешь, например, что однажды ты ради интереса решил проверить некую торговую гипотезу, и для её проверки решил написать робота, чтобы совместить приятное с полезным, то шансы на приём на работу невероятно увеличатся. Потому что сделав эту работу ты считай прошёл весь полный цикл разработки серьезной задачи. Ты провел аналитику, поставил задачу, разобрался с апи сторонней системы, сделал интеграцию с ней, реализовал логику твоей торговой гипотезы, получил результат. Это очень крутой был бы проект, т.к. он показыаает что ты умеешь работать, решать задачи, а не просто теоретик.

Как по мне, главное - поскорее устроиться на работу. Работа это самый мощный катализатор твоего роста. Для того, чтобы успешно устроиться на работу, нужно знать, какие навыки и технологии востребованы в индустрии. Один из способов определить это - это изучение вакансий и выписывание требований, которые они предъявляют к кандидатам. После того как определишь топ 5-7 технологий, сделай проект который будет использовать эти технологии и желательно, хотя бы в теории будет полезен людям. У тебя появиться знания в ширь, ты поймешь как технологии взаимодействуют друг с другом, что поможет устроиться. В глубь будешь копать когда уже вкатишься и узнаешь специфику домена.

Никогда ничего не изучал с целью изучить для будущего применения. Всегда изучал из-за появившейся необходимости в конкретной работе.

Начни с написания ботов для телеги. Тематика ограничена воображением, а применение и использование инструментов и практик - безграничны.
Есть различные чаты по направлению, где опытные энтузиасты еще могут и провести ревью кода, что практически бесценно. В большинстве своём даже бесплатно.

Боты есть, с них и начинал практику. Один покупал игры через турецкий аккаунт, пока майкрософт не прикрыл лавочку, другой парсит тысячи страниц с одного сайта, проверяет цены и присылает уведомление в телеграм. Работает отлично.

Если считать это за коммерческий опыт, то выходит, что он у меня оказывается есть =)

Какой у вас хороший Roadmap, так всю прекрасно структурировано. Сам уже больше 10 лет в NET, но часть технологий/сервисов вижу впервые

Это не мой роадмап, взял из репозитория гитхаб, вроде и ссылку указал. У меня он гораздо проще и скромнее.

Что-то не найду ссылочки на гитхаб репозиторий с роадмапом. Поделитесь, пожалуйста

хех, больше 20)

но тоже кое что вижу первый раз..

Повторите попытку лет через 5 :)

> 25 но тоже кое что вижу первый раз :) Однако новые слова все время появляются, а вот все технологии в целом знакомы.

Интересная статья - я сам начал свой путь в современном .NET в декабре 2022, но до этого имел крайне ограниченный опыт в IT (эникейщик, 3 года, до этого учился на считающейся IT-related специальностью, где шарпом пользовался как основным языком с 2 по 4 курсы). И да, с бОльшинством проблем/особенностей из статьи я сталкивался или сталкиваюсь прямо сейчас.

Roadmap мне тоже понадобился, в основном для того, чтобы понять, что за технологии есть вообще, где используются, какие альтернативы и т.д.

Leetcode лично не очень понравился, хотя решение задач таких помогало вспомнить про давно забытые алгоритмы и просто размять ум.

Отклики на вакансии с целью получить тестовое - хороший совет. Сам за 55 откликов (месяц, может, чуть больше откликался с сопроводительными, искал удалёнку по РФ и очную в городе, где живу) получил только одно тестовое (RESTful API интернет-магазина со Swagger, кэшированием и авторизацией), но это было хорошей практикой.

В общем, у меня очень похожий опыт. Спасибо за статью, дала буст к морали, так сказать. Пойду дальше писать код, а Вам удачи в поиске работы и учёбе.

Для полноты картины не хватает указания технологий и фреймворков, которые за последние 10 лет стали историей (OWIN тот же), и того, что в этом списке есть, что станет историей через 5 и 10 лет.

И да, веб - это далеко не весь дотнет.

Пока вы изучаете программирование, вы же где-то учитесь/работаете, да? Вот и подумайте, какую программу вы можете написать, которая облегчит, автоматизирует вашу работу. Можете предложить эту услугу вашим друзьям, родственникам. Бесплатно. Хотя даже символическая оплата дисциплинирует. Так появится опыт реальных проектов, взаимодействия с заказчиком. А сам факт ведения подобных проектов зачтется как инициативность.

У меня на 300 откликов два тестовых выпало. Первый не понял в принципе, второй - на CV, который я не знаю. Не успел вовремя выполнить. На всякий нужно добить и кинуть в гитхаб, так же по приколу нужно в гитхаб кинуть мое решение титаника из каггла.

Долбился к одним разрабам, пытался им предложить наваять рекомендательную систему "как в нетфликсе". Они сказали что им это очень интересно и забили ТТ

Понимаю твою боль. Свичнулся с октября того года в поисках любимого дела, в геймдев разработку, почти все сошлось. Остаётся надеяться, что это совпадение) Отличного самочувствия автору.

Что могу добавить к выше сказанному, если вы идёте в геймдев, не берите тестовые задания сделай игру за сутки и в целом избегайте подобных компаний.Берегите себя, свои нервы и время.

Из полезного, изучите на старте интерфейс движка детально, каждую кнопочку в контекстном меню, в настройках копаться не нужно.

Используйте свой набор пресета окон и пространства в движке под конкретные задачи, окружение напрямую влияет на вашу продуктивность.

Насколько хорошо подходят под тестовые задания разного рода тесты школы при крупных it компаниях?

Лично на мой субъективный взгляд, подходят любые задачи, которые подразумевают под собой что-то из этого списка (чем больше – тем лучше):

  • Конкретное и ясное задание. Что-то наподобие ТЗ, с которым вы будете встречаться в дальнейшем. Вам должны поставить конкретные требования к результату, к инструментарию, к реализации и т.д. Если Ваша задача выглядит чем-то вроде "Разработайте API сервиса, который должен/может... Рассмотрите возможность того-то, хранить данные надо там-то, проверить такие случи, что ..." - то отлично походит. Если это задача на перестановку строк местами – то сомневаюсь, что поможет.

  • Есть сроки. Свои пет проекты можно ковырять бесконечно долго, переосмысливая что-либо, начиная с нуля, или просто решив добавить функционал. Когда вам ставят конкретный срок – то это погружает Вас в среду более близкой к реальным. Есть задача, есть срок – будьте добры успеть.

  • Задание подразумевает обратную связь. Это редкость, потому что даже на стажировку много откликов и зачастую, если результат не удовлетворил рекрутера, то могут заигнорить. Опять же, заранее это не известно, поэтому когда есть ощущение, что Ваш код будут смотреть, то будете стараться писать адекватно, думать над стилистикой и общепринятыми стандартами.

Sign up to leave a comment.

Articles