Хотите стать инженером-программистом? Вот мой опыт, и я бы хотел, чтобы кто-нибудь рассказал мне об этом раньше…
Это был долгий путь, очень долгий путь. Я до сих пор помню усилия, которые потребовались мне, чтобы стать инженером-программистом, и даже сейчас мне очень жаль, что кто-то не поделился этим со мной, и это сэкономило бы мне так много времени.
Прежде чем мы начнем, позвольте мне сначала немного рассказать о себе. Я пришел из среды, имеющей несвязанную степень. Самая первая работа, которую я начал, была торговым представителем 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. Выбор пути в разработке программного обеспечения
Это все, что у меня есть для вас. Я надеюсь, что обмен информацией, основанный исключительно на моем личном опыте, будет более полезным и практичным для всех вас, кто читает эту статью.