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

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

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

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

Опять же, как и многие из нас, я пошел в местное ИТ-учреждение, потратил довольно много денег, и самым первым языком, который я выучил, была Java (не JavaScript!). Да, один из самых сложных языков программирования.

Примерно через 6 месяцев курс закончился, и я получил четкое представление о том, что делает язык программирования?

Однозначный ответ – нет.

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

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

Вам знакомо? Рад, что мой опыт помогает. Давайте пройдемся по всем деталям и позвольте мне рассказать вам, что я сделал.

Сначала я начал с программирования чистого интерфейсного приложения. Под интерфейсом я имел в виду в основном JavaScript. Что касается CSS и HTML, то они на самом деле не являются языком программирования, и вы освоитесь с ними, потратив некоторое время на программирование внешнего интерфейса.

На YouTube есть множество бесплатных видеороликов о проектах внешнего интерфейса, и код, написанный построчно, имеет огромное значение.

После того, как я ближе познакомился с JavaScript, я выбрал фреймворк для разработки внешнего интерфейса, а именно React.

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

Язык интерфейса > Структура интерфейса

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

Это время, когда я начал искать работу, ориентируясь на разработчика внешнего интерфейса.

Я понимаю, что многие из нас захотят почувствовать себя «уверенными» в своих навыках программирования, прежде чем подавать заявление о приеме на работу, но, честно говоря, этот день никогда не наступит. Самый быстрый способ учиться — через работу (активное обучение).

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

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

На работе я узнал о разработке Agile/Scrum, которая представляет собой структуру управления проектами, обеспечивающую плавный цикл разработки; Я многое узнал о DevOps, который требует от нас завершения автоматического тестирования и автоматического развертывания приложения.

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

Я изучил много новых навыков, таких как Python, C#, Docker, Kubernetes, Azure и т. д.

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

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

В общем, моя дорожная карта выглядит так:

1. Интерфейс

2. Начал работать фронтенд-инженером

3. Создание фронтенд-приложений на работе

4. Помощь в разработке бэкенда

5. Начал заниматься DevOps

6. Выбор пути в разработке программного обеспечения

Это все, что у меня есть для вас. Я надеюсь, что обмен информацией, основанный исключительно на моем личном опыте, будет более полезным и практичным для всех вас, кто читает эту статью.