Новиков > путь в Big Tech
183 subscribers
94 photos
194 links
От зеро-кодинга на стройке до написания высоконагруженных сервисов в Big Tech. 

Пишет SWE в Avito.ru (backend), в прошлом: .NET developer и сертифицированный специалист по использованию BIM.

Написать автору: @nvkv_ai

Книги: https://boosty.to/time2code
Download Telegram
Резюме:
- Александр
- 26 лет
- Инженер
- Санкт-Петербург
Первые мысли о том, чтобы стать программистом, начали зарождаться с той или иной периодичностью многие годы назад. Но, к моему огорчению, дальше складирования гигабайтов самоучителей, книг и полезных ресурсов на жестком диске мое обучение не продвинулось.

Все начало меняться в марте 2020 года, когда я твердо решил, что дальше нельзя откладывать и либо сейчас я начинаю, либо я откидываю эту мысль раз и навсегда.
👍1
Самый популярный вопрос, который становится перед людьми, решившими изучать программирование: “Какой язык программирования (ЯП) выбрать?”.

Может сложиться ощущение, что выбираешь свою будущую судьбу (а это нелегкий выбор), и, сломав на этом вопросе голову, с грустью откладываешь изучение программирования на лучшие времена. Так происходило со мной.
Моя основная деятельность - информационное моделирование зданий. Звучит красиво и есть определенный в ней шарм, но сейчас я понял, что уперся в некий потолок, преодолеть который мне сможет помочь только кардинальная смена деятельности. Тем не менее, имея неплохой достаток в крупной строительной компании, и довольно здравый рассудок, у меня также был и страх потерять то, что имел и не получить то, что желал.
<Рассуждения о работе отбрасывают нас на несколько лет назад, но они необходимы для понимания, как мы оказались там, где сейчас.>

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

1) Строительная программа, в которой я работал, предлагала расширить имеющийся функционал при помощи визуального программирования. То есть фактически ты программировал, но уже из готовых блоков, как в детстве складывают из кубиков башню, ты мог из этих блоков составить работающий алгоритм, автоматизирующий рутинные операции. Я сразу стал этим заниматься и даже преуспел в рамках компании.

2) Когда готовых блоков стало мало, я стал искать другие возможности, и быстро понял, что такие готовые блоки, которые я использовал, можно писать самому, используя уже ЯП - Python! Конечно, я не мог писать на Python, но я мог создавать свои блоки, заглядывая внутрь чужих и делая по аналогии. Чуть позже я изучил, как писать самому простенькие блоки, это уже было круто и начинало вызывать интерес. Тем не менее, я понимал, что это неполноценное программирование и потолок тоже видел, хоть он был и выше.

3) Изучив глубже вопрос по автоматизации строительной программы, я также узнал, что существуют еще макросы и даже полноценные плагины, но их нужно уже писать на C#. Вот здесь я и стал колебаться между двумя языками: Python или C#? Из-за чего даже стал прокрастинировать и забросил оба. Опять погряз в ежедневной и монотонной рутине.

4) Шло время, ничто не стояло на месте и наш отдел стал расширяться. Мы набрали несколько программистов, которые стали делать Web-приложение для наших строительных нужд. Когда стали появляться первые рабочие версии, то я понял, насколько крут Web и загорелся создать свое Web-приложение, но уже для своих задач в рамках компании.
Я увидел для себя 3 варианта:

1) Бросить работу и закрыться на месяцы для интенсивного изучения ЯП, а также подготовки к собеседованиям в надежде устроиться в айти-компанию на самую младшую должность.

2) Продолжать работать и в свободное время активно изучать программирование для автоматизации задач компании в надежде, что это будет замечено руководством и можно будет пересмотреть мои обязанности на текущем месте, а может, и должность в случае успеха на этом поприще.

3) Ничего не менять и забыть о программировании.