«Я хочу стать разработчиком программного обеспечения, но не уверен, что это для меня».

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

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

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

Так что расслабься, сделай вдох.

Теперь вернемся к вашей первоначальной проблеме. «Я не уверен, что это для меня». Здесь, мой дорогой интернет-незнакомец, тебе снова повезло. Когда вы изучаете медицину, сколько времени пройдет, прежде чем вы сможете поставить кому-нибудь диагноз и отправить его в веселую погоду? Как инженер, сколько мостов вы построите на втором курсе? Как студент-экономист, как… ну, я не совсем уверен, чем они занимаются, но вы поняли мою точку зрения. Во многих областях, помимо разработки программного обеспечения, вы не сможете ощутить, что значит быть профессионалом, пока не получите свой первый рабочий день. В этом заключается магия разработки: с некоторой долей гугл-фу, самомотивацией и желанием учиться вы можете создать и запустить простую веб-страницу в течение недели (или даже дня).

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

При всем вышесказанном, разработка программного обеспечения - это не только ваши технические навыки и способность создавать приложения. Речь идет о том, чтобы быть командным игроком, иметь хорошие коммуникативные навыки и уметь решать головоломки. Подавляющая часть моей работы - это решение проблем, изучение потенциальных решений и их реализация. Я также не смог бы сделать это без помощи моей (потрясающей) непосредственной команды. У нас есть поговорка: «Никто не делает свою работу». Все помогают друг другу, независимо от должности или зарплаты.

Быть разработчиком программного обеспечения также зависит от вашего желания учиться. Любите вы это или ненавидите, получение степени в области разработки программного обеспечения (независимо от того, насколько она тщательная) только продлит вас на работе. Вы не прекращаете учиться в день выпуска. Меняются технологии, должны меняться и ваши навыки.

Это не значит, что все, что вы изучаете каждый год, становится неактуальным в следующем, далеко не так. Ваши основные основы (шаблоны проектирования, эффективность алгоритмов, HTML / CSS и т. Д.) Будут служить вам долгие годы, но то, как вы применяете эти навыки, вероятно, изменится. Разработчики среднего и высшего звена, на которых я равняюсь (по совпадению, также и лучшие разработчики, которых я знаю), постоянно интересуются технологическим ландшафтом и ищут новые способы делать то, что они делали 100 раз. Я знаю разработчиков, которые ненавидят тот факт, что всегда есть новая структура, которую нужно изучать каждые несколько лет, или новая версия Java, которую нужно изучать, потому что лямбда-функции сейчас так популярны. Я также знаю разработчиков, которые просто не могут насытиться. Это зависит от того, какой вы человек. Все, что я могу сказать, это то, что если у вас есть это любопытство и драйв, у вас есть в высшей степени хорошие шансы на успех в этой области.

Подводя итог, если вы не уверены, что разработка программного обеспечения для вас, вот несколько вещей, которые вы можете сделать. Создавайте приложения, веб-сайты, программы, скрипты. Все, что вас интересует. Смотрите обучающие видео на Youtube, они бесплатны, и есть фантастически увлеченные создатели, предлагающие золото по цене 5-секундной рекламы. Если вы не знаете, с чего начать, я составил список моих любимых в этой статье. Говорите с людьми. Обмен сообщениями был фантастическим первым шагом, но я всего лишь один человек, и мои переживания и реакции будут полностью отличаться от ваших. Не принимайте мое мнение как евангелие, потому что я случайно разместил его в Интернете, поговорил с максимально возможным количеством людей и сформулировал собственное мнение на основе этих встреч.

Удачи в будущем.

@mattkjer