Как я стал программистом

Читал пост на пикабу, где человек рассказывал как попал в Data Science. История заключалась в том, что он много часов в день отдавал на учёбу, очень старался и в итоге всё выучил и попал на работу в IT компанию. У меня ситуация совсем другая. Я никогда не был таким пробивным и волевым человеком, сидеть за учёбой по 6+ часов, чтобы всё эффективно понимать и запоминать у меня не получалось, но тем не менее всё получилось и я хочу рассказать, что всё в ваших руках, главное найти правильный подход.

В данный момент я работаю .net разработчиком в крупной IT компании у меня всё хорошо:)

Как всё начиналось.

Я школе и вообще большую часть своей жизни никогда не интересовался программированием, из компьютерных интересов у меня были только игры. После школы я поступил в техникум, формально его закончил, отслужил в армии и устроился на работу и близко не связанной с программированием. После трёх лет работы меня всё очень достало и я начал задумываться о смене профессии. Тогда я тоже особо не думал, чем буду заниматься, поэтому просто подал документы в ВУЗ на программиста. Про образование в вузе это отдельная история, оно никакое)
Но там меня очень замотивировали, мол учись и всё будет хорошо.
Для себя я изучил рынок, посмотрел более менее универсальный языки и средние зарплаты и выбрал C#.

Язык выбрали, идём дальше.

Потом я начал искать источники, где можно это всё дело выучить. На одном ресурсе наткнулся на книгу "Язык программирования C# 6.0 и платформа .NET 4.6 | Троелсен Эндрю, Джепикс Филипп", которую в последствии заказал. Книжка не маленькая, около 1500 страниц. Я про себя подумал, что я же умный мальчик и договорился с собой читать по 100 страниц в день, т.е. 2 недели и всё, я проггер. На второй день я перестал укладываться в свой график и забил на неё на 3 месяца. Спустя эти три месяца у меня уже подходил на работе контракт к концу и я решил, что всё таки нужно становиться программистом. Я теперь не стал рвать жопу с 100 страниц в день и начал составлять себе четкие и не сильно нагруженные графики. К примеру  я решил читать в день по 5 страниц очень внимательно. 5 страниц - это для даже самого ленивого реально. Читал я их через день, а между этими днями я их повторял. Каждые 20 страниц я перечитывал всё. Каждую главу я перечитывал главу. Т.к. я не отличаюсь особым умом, то в среднем у меня выходило на каждую страницу по 4-5 перечиток. На некторые уходило 8. Но, с таким графиком знания на столько глубоко впитываются в мозг, что мне потом на собесе было очень легко. На книгу у меня ушло примерно пол года.

После книги.

Потом я решил пойти на курсы. Курс направлен на разработку более-менее умных сайтов, с базой данных и т.д. За курс я отдал примерно 800$ и хочу сказать, что всё это я мог сделать дома бесплатно.
После курсов.

После курсов я всё равно не очень уверенно чувствовал себя в программировании, но к тому времени я уже уволился с основной работы и начал просматривать вакансии. И когда я просматривал вакансии более менее подходящих к моему уровню, то мне попались на глаза другие курсы. Некоторые IT компании организовывают бесплатные курсы для студентов, после которых берут на работу. Записавшись меня пригласили на пробное тестирование, которое я с лёгкостью прошел, после чего начались сами курсы. На курсах было человек 100, которые во всём лучше меня. Я обычный лох, которому уже 26 лет, который ели закончил школу и имеет диплом электрика, а там ребятки из топовых вузов, которые это программирование за завтрак едят. Но тем не менее благодаря книге и привычке следовать графику учебы я прошел этот курс успешно и меня взяли. Чтоб вы понимали, на моё направление (C#) было 35 человек, а взяли только 5. Теперь я работаю в этой компании и это просто неописуемо. В сравнении с моей старой работой это небо и земля. Коллектив, руководство - всё супер!

Итог

Пройдя этот путь я понял, что нет ничего невозможного ни для кого! Нет такого понятия, что что-то не твоё или тебе не дано. Главное это подход. Если вы решите замахнуться на другую профессию, то у вас тоже всё получится. Самое главное, это на первых порах не рвать жопу!
Составляете себе лёгкие графики, по 5, по 3 страницы, но стабильно. Здесь главное выработать привычку учиться и спустя месяц-два вы уже сможете читать по 20-40 страниц технической литературы в день и всё понимать.
Спасибо за внимание, всем мотивации!

5
Автор поста оценил этот комментарий

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


В начале карьеры довелось поработать в одном крупном проекте с прошаренными ребятами, половина с кандидатскими степенями. Там был свой тулсет алгоритмов сжатия для базы данных использующейся в программе (оффлайн). Так вот база в не сжатом виде присылалась нам на 30+ компакт-дисках, сжатая Zip с максимальной компрессией занимала 10, а пережатая нашими алгоритмами помещалась на 1 диске вместе с программой. Фишка в том, что база сжималась не целиком, а каждое поле отдельно и под каждое свой алгоритм и настройки сжатия. Чаще всего вариации на тему известных алгоритмов (вроде Хафмана, LZW, и другой классики), но в своей реализации с модификациями и с тюнингом на конкретный тип поля и настройки его диапазон и точность (некоторые было допустимо сжимать с ограниченными потерями). Не менее интересные и уникальные решения были разработаны для многократной оптимизации типовых запросов, индексации, поиска и пр. Конкуренты выглядели "как паинт супротив фотошопа" при этом занимали несколько дисков и тупили "как хром супротив нотепада".


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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

1
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

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

показать ответы
Автор поста оценил этот комментарий

@amurahskevich, дружище, у тебя есть какие то контакты? ВК, вайбер и т.д. Есть вопросы.

раскрыть ветку (1)
Автор поста оценил этот комментарий

С чего начать изучать программирование?) и какой язык?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Начал с C++, но там на самом деле сложно очень. Из плюсов понял только, что такое методы и переменные, даже до классов не дошел.
А лучше, если хочешь учиться, то скачай или купи книгу, о которой я писал в посте. Там нужно начинать читать с 3-ей главы и там прям всё понятно)

1
Автор поста оценил этот комментарий

Короче, я там понял, единственный выход - идти учиться в вуз. Все эти онлайн курсы - фигня и даже джуниором с какой-то перспективой трудоустройства там не станешь?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

На самом деле всё фигня) Я вот в универе(может дело во мне или в нём) получил только мотивацию. На курсы нужно идти, если ты 100% знаешь какой будет препод и что он тебе поможет. На моих курсах был чувак, который просто читал лекцию со слайда и давал какое-то домашнее задание, которое я делал сам. Он проверял только на работоспособность, на сам код даже не смотрел. Даже если я делал суперкриво, то всё равно мне ставили положительную оценку и я не знал, делают ли так в жизни или нет. На вопросы отвечал вяло и максимально абстракно. За 1,5 месяца сказал сделать сайтик и пропал.  Короче денег своих не стоит.


Лучше самому учиться и стараться делать свои проектики маленькие. К примеру если по языку, то сделайте какой-нибудь консольный склад, куда можно добавлять товары, редактировать и удалять. И чтобы всё это хранилось в файле.

Если язык знаете, то сделать сайтик на asp.net. На метаните всё очень доступно написано. Просто поставте себе цель сделать интернет магазин, с корзиной и т.д.

показать ответы
2
Автор поста оценил этот комментарий

Ага, то есть вы стали программистом, просто прочитав книгу. Внимательно прочитали, все поняли и ура-ура, стали программистом. Зовите кота, несите лампу.


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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Не выдумал, честно)

Там ситуация такая, что в книге все понятия показываются на практике. К примеру есть раздел"инициализация переменных" и он к примеру на 5 страничк. Я сначала всё это переписывал себе кодом и пытался понять, а потом просто несколько раз перечитывал этот раздел. К концу книги у менч было уже 60-70 маленьких проектиков по 30-40 строк кода. Потом к примеру на метаните есть топик по поводу вопросов к собесу, я там тоже что-то брал, что не понимаю и кодом тестил.  Плюс к этому всему в универе были курсовые и лабы, которые немножко давали практики. К примеру сделать консольное приложение "Магазин компьютеров". Ну и вот отсюда практика бралась.

Ты прав, что без практики эти книги хоть зачитайся, но ничего не получится.

1
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

ООО, это отдельная тема. Я до работы вообще инглиш не знал, просто 0 был. Когда искал работу, то для некоторых знание английского было принципиальным. Но я решил, силы отдавать на программирование, а английский как-нибудь потом. Ну и в принципе знаний программирования без английского было достаточно, чтобы попасть на работу. Но если у вас есть время, то лучше чутка позанимайтесь. Из хороших ресурсов могу порекомендовать Полиглот и вот этот сайтик https://www.learnamericanenglishonline.com/. Очень крутые источники

12
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Ну в универе немножко другое. Там знания более фундаментальные, чем те, которыми мы пользуемся на практике. Взять даже алгоритмы, к примеру та же сортировка. Уже очень умные разработали, протестировали и добавили быструю сортировку в стандартную библиотеку и каким бы вы крутым алглритмистом не были, уже всё давно придумано за вас.

показать ответы
3
Автор поста оценил этот комментарий

Автор, на каком уровне Вы поняли, что ваши знания достаточны для вхождения в профессию и начали ходить по собеседованиям? На тот момент были какие-либо pet projects? Дело в том, что я аналогично изучаю .net и получается ситуация как у Сократа "Чем больше я знаю тем больше понимаю, что ничего не знаю". Нет, знания то остаются, есть несколько рабочих petProject(писались полностью с 0 самостоятельно), это Windows Service для записи эфира онлайн радио по времени. И погодный агрегатор, собирает данные с 6 серверов усредняет их и выдает прогноз. Но тут как на дереве, чем выше лезешь тем больше ответвлений появляется.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Если Вы Рихтера прочли, то вам уже давно пора по собесам ходить)

А у меня было так, что я к курсам уже уволился и жил только на накопленные средства, так что мне в принципе нужна была работа. Да и даже окажется, что знаний не так уж много, то ребята Вам подскажут на какие моменты стоит обратить внимание. Так что делайте резюме и отправляйте куда только можно)

показать ответы