Мой путь в программисты в 27
Пост создан по просьбам многих пикабушников к комментарию.
Напомню, что это просто мой путь, а не инструкция в первой инстанции. Он не идеален, но с его помощью я достиг своей цели.
(Кому личные истории не интересны, то ссылки на материалы в порядке изучения будут в конце.)
Я не учился на программиста в университете, но бакалавриат у меня по радиофизике, а магистратура ядерная физика. Обе специальности не приносили мне удовольствия, поэтому связывать с ними свою жизнь я не особо хотел. После университета несколько лет работал преподавателем. В какой-то момент узнал про очень хорошие ЗП программистов, но это было что-то очень далекое от меня. Казалось, что мне это уже не светит и если не учился в универе, то и думать нет смысла про эту профессию.
Вскоре многие знакомые начали перетекать в айти, а на моей работе я уже давно уперся в потолок зарплаты, плюс сменилось руководство и в целом стало очень скучно и неприятно там находится. Хотелось куда-то бежать и решение пришло само собой.
Выбор языка. С#
Язык мне подсказал мой знакомый, который обещал меня консультировать по возможности. Им стал си шарп. Плюсов к этому решению добавляло наличие большого количества материалов на русском языке, переведенных книг, ресурс с документацией на русском от самих майкрософт и неспешное развитие языка (т.е. почти все материалы 5-10 летней давности по этому языку вполне себе актуальны и сегодня. За исключением веб технологий). Плюс язык имеет статическую типизацию и очень сильную по функционалу среду разработки. (Незнакомым с программированием это ничего не скажет, но мне тогда это казалось очень важным)
Курс 1
Первым курсом стал "Основы программирования" на степике. Сейчас он стоит 2к рублей, хотя я его проходил, когда он еще был бесплатным.
Если кратко, то он великолепен. Понятное изложение, большое количество простых задач, проверка кода прямо на сайте. Красивое отслеживание общего прогресса, под каждой задачей есть комменты, где можно найти подсказки, если буксуешь. Он прямо для тех, кто совсем ноль в коде.
Курс меня зацепил и сильно заинтересовал. Пройден был за 3 недели по по 2-3 часа в день.
(чуть дальше будет бесплатная альтернатива).
После завершения курса я записался на курс обучения по .net от одной компании, где в течении 6 недель мы встречались два раза в неделю, слушали лекцию на полтора часа и потом делали домашку к следующей лекции. Ради этого я даже взял отпуск на работе. Основной контингент состоял из студентов 3-5 курсов, поэтому у них домашки были формата "вспомнить универ" и не занимали много времени. Для меня же все было в новинку. На домашку уходил весь промежуток времени между лекциями, кодить и разбираться приходилось по 12-13 часов в день. В конце третьей недели у меня начали накапливаться долги, а на пятой я покинул обучение, т.к. отпуск кончился и наверстать упущенное стало нереально.
От такого режима обучения я перегорел, поэтому на несколько месяцев бросил учиться. Так что планируйте с умом свое расписание.
Компаний, которые проводят бесплатные курсы, очень много. Но они не пытаются вас прямо таки учить. У них задача простая: с минимальными усилиями из большого количества желающих отобрать лучших для найма.
Для вас, как для учеников, самое полезное от этих курсов - это обратная связь по коду и актуальные темы\задачи по выбранной технологии. Знаний эти курсы не дадут никаких напрямую, но благодаря им вы поймете куда копать.
Курс 2
Второй курс я просто нашел на торренте. Он был самым огромным по весу (что-то около 140гб видосов). Это были курсы от ITVDN
В отличии от первого, данный курс уже не такой простой. Лекции по 2-3 часа, некоторые домашние задания занимали у меня по 6-8 часов, каждая тема рассматривается настолько глубоко, насколько это позволяют отведенные 3 часа.
Прохождение этого курса стало для меня целым испытанием. Но именно он дал основу моим знаниям, которые позволили мне найти работу. Первый курс завлек меня конфеткой, а этот просто выебал и высушил меня полностью.
По C# в курсе три больших раздела: starter, essential и proffesional. Внутри стартера есть все темы курса со степика. Но у вас не будет сайта, где проверят ваш код. Не будет комментов к дз. Т.е. ебитесь как хотите (на самом деле прямо как в жизни и это тоже плюс).
Сейчас, когда финансы позволяют, я уже накупил всяких курсов на их офф сайте и вернул свой "долг" так сказать. У них часто бывают распродажи, так что за 3-5к можно урвать очень дохера видосов. Внутри пакета "С# разработчик" около 400 часов видео общей сложностью.
Под конец прохождения второго курса я прикупил себе книгу CLR via C# Рихтера. Весь интернет говорит, что она обязательна к прочтению. Ну кто я такой, чтобы спорить со всем интернетом? Тем более она на русском. Версия языка в книге 4.5, сейчас вышла уже 10 версия, но язык просто оброс новыми приколами, база не поменялась и книга актуальна до сих пор.
Параллельно с обучением я поглощал контент в видео формате. Накидаю просто самые популярные каналы, а дальше сами уже найдете подходящие для себя.
а. Обучение С# https://www.youtube.com/user/admshwan
б. Обучение С# https://www.youtube.com/channel/UCtLKO1Cb2GVNrbU7Fi0pM0w
в. Для мемов https://www.youtube.com/watch?v=86KLS8das2k&list=PLuGqgO5WmeGPTZqDHZDIum3h7HnfBfzmZ
г. Для понимания профессий и индустрии. https://www.youtube.com/c/ITBEARD
Еще одна маленькая деталь. Блядский джаваскрипт.
Найти работу бэк разработчиком без базовых знаний фронта нереально. Понимание хтмл, ксс и джаваскрипта необходимы. Достаточно пролистать джуновские\стажерские вакансии.
Я учил и учу сейчас жс на том же itvdn, но если честно, то у них курсы веба намного слабее, чем курсы по шарпам. Поэтому тут советую уже самостоятельно подойти к поиску обучающего контента. Благо ЖС намного популярнее шарпов, а значит и курсов в миллион раз больше. Попробуйте начать с хекслета. Их бесплатный курс покроет все потребности бэк разработчика (так мне говорили). Сам я не пробовал, но его мне советуют в первую очередь.
SQL тоже необходим для устройства на работу. Тут тоже не составит труда самому найти где его выучить. Можно базу освоить за неделю по вечерам, в сравнении с шарпами временные затраты очень маленькие.
Дальше будет просто список со ссылками на все материалы и краткими комментариями.
1. Первый курс Основы программирования 2 тыщи рублей. Если не хочется платить, то в п.2. аналогичные темы тоже есть
2. Второй курс. ITVDN c# разработчик. Старые версии есть на торренте. Вас интересуют три блока - starter, essential и proffessional
3. Книга CLR via C#. Спорное чтиво для начинающего, но я читал. На собеседованиях выезжал за счет знаний из этой книги.
4. https://metanit.com/sharp/ шпаргалка по всему языку.
5. https://docs.microsoft.com/ru-ru/dotnet/csharp/ - офф документация от мелкософта
6. Задачи на алгоритмы. Желательны для прокачки, но не обязательны
а. https://www.codewars.com/ - я сидел тут, интерфейс темный зашел больше)
б. https://leetcode.com/ - внутри есть раздел с обучением. Я не пробовал, но многие советовали. Только на англ
в. https://www.hackerrank.com/ - хз что там, просто пусть будет.
7. Вопросы по .net для подготовки к собеседованию
8. Ориентир для дальнейшего развития
9. Ахеренная статья про полиморфизм. Новички ничего не поймут, но его лучше на будущее сохранить. Её прочтение перед собесом меня спасло от тупняков и собрало все кусочные знания о полиморфизме в кучу.
10. Книга "Грокаем алгоритмы" Бхаргава Адитья. Просто крутая книга для развития, читаю сейчас, всем советую. Примеры на питоне
11. Трекер времени - для самоогранизации и вырабатывания привычки не отвлекаться. По крайней мере у меня он выполняет такую функцию.
12. В какой-то момент (скорее всего после прохождения курса essential от itvdn) необходимо будет начать пилить свои мини приложения, а не только ориентироваться на домашку. Картинка с примерами мелких проектов может помочь с выбором.
Если пикабу пережмет картинку, то в комменты скину ссылку на оригинал.
Ну и просто мысли от себя.
Мысль 1.
Без английского в профессии многого не достичь. Рано или поздно вы упретесь в стену, где необходим язык. На русский язык литература переводится с запозданием минимум в год, а то и больше. Великий https://stackoverflow.com/ с ответами на вопросы по коду полностью на англ. Да, там есть ру подсайт, но этого мало. Любое узкое место в технологии потребует гугления на английском.
Отсутствие знаний английского отрежет вам около 50% всех вакансий. И почти 90% вакансий в лучших компаниях.
Как говорил мне мой друг-программист: "Шаг 0 в изучении программирования - это изучения английского".
Просто держите это в голове. Прогать можно и без англ, просто будет труднее.
Мысль 2.
До первой работы придется учиться минимум 300-350 часов в зависимости от качества обучения
Мысль 3.
Задача номер один - это просто понять как кодить.
Первый язык учить очень долго и сложно. Выучить второй в раз 5 будет легче. Третий еще легче.
Все языки очень похожи друг на друга, c# на джаву похож на 70% точно в базовых вещах. Некоторые строчки кода вообще будут идентичны
Мысль 4.
Очень советую найти какого-нибудь знакомого учить шарпы вместе с тобой. Если зайдет, то вдвоем учиться легче и быстрее.
Я так со знакомым прошлым летом огромный кусок шарпов за две недели отпуска на работе осилил. Он тоже взял себе отпуск и мы задротили две недели по 6-8 часов в день и пинали друг друга. Сам бы я это месяца 3-4 учил
Правда если найдете распиздяя, то он будет тебя тянуть вниз.
Пс. Сегодня 3 января у меня официально закончилась трехмесячная стажировка и я стал наконец джуниор разработчиком.