Советы по переходу на технологии из другой области

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

Прямо сейчас

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

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

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

Должен ли я пойти в обычный класс или попробовать учиться самостоятельно?

Могу ли я начать с общего обзора программирования или сразу перейти к какой-то конкретной области, например разработке мобильных приложений или веб-сайтов?

Однако самое важное - вы почувствуете вкус технологий и определите, нравится ли это вам. Если вы учитесь в колледже, вы можете добавить учебный курс «Введение в CS» в свой список курсов, а также проходить курсы по существующей специальности, чтобы у вас была возможность изучить и то, и другое. Я лично выбрал свой первый урок информатики, когда еще учился в школе медсестер, чтобы оставить оба варианта открытыми. Если вы не ходите в школу или у вас нет свободных мест в загрузке курса, выберите книгу, веб-сайт или онлайн-класс и выделите определенное время для занятий каждый день. Не так важно то, как вы начнете, а то, что вы это сделаете. Таким образом, вы сможете увидеть, нравится ли вам программирование, и заложить основу, необходимую для изучения нового.

Основы построения времени

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

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

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

«Чемпионы создаются, когда никто не смотрит»

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

Задавайте вопросы рано и часто

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

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

Я: я потратил 4 часа, пытаясь определить X, но все еще не могу заставить его работать. Я хочу спросить Джесси, но покажусь глупым из-за того, что не знаю. Наверное, лучше не буду.

Я (еще два часа спустя): думаю, мне нужно будет спросить. «Джесси, я работал над X и пробовал Y и Z, но все еще испытываю следующие ошибки. Сталкивались ли вы с подобной проблемой раньше? »

Джесси: О, это должна быть проблема только с A. Вы можете просто добавить B и C, и это должно решить проблему!

Me: :’)

Признать, что ты чего-то не знаешь, сложно, но становится легче. Я лично думаю, что это не потому, что у нас за плечами больше опыта, а потому, что этот опыт учит нас тому, что не знать всего - это нормально. Поскольку технологии постоянно развиваются, невозможно даже поцарапать поверхность всего, что там есть. Это совершенно нормально. А кто знает? Через несколько месяцев вы, возможно, сможете поделиться этими знаниями с кем-то еще, кто еще раньше отправился в путь.

Создавайте то, что вас волнует

Один из лучших способов освоить новые навыки - это работа над небольшими проектами в интересующих вас областях. Это также отличный способ стать свидетелем творческих аспектов программирования. Есть что-то волшебное в том, чтобы придумывать идею, участвовать во всех аспектах ее разработки и реализации и наблюдать, как она воплощается в жизнь на ваших глазах. Хотите улучшить класс? Создайте надстройку для Google Таблиц со скриптом приложений, которая поможет преподавателям систематизировать и анализировать данные в классе. В восторге от здоровья и благополучия? Создайте чат-бота, который поможет людям быстро получить доступ к информации о питании на их любимой платформе обмена сообщениями.

Когда вы только начинаете, идея создать что-то с нуля может показаться устрашающей. Если вы впервые познакомились с программированием в академической среде, вероятно, вы в основном работали с Java, Python или C ++ и что ваши программы основывались на командной строке. Однако, когда вы почувствуете себя комфортно с основными конструкциями вашего основного языка, попробуйте разветвляться и бросить вызов себе, чтобы посмотреть, что еще вы можете построить. Скорее всего, это потребует приобретения новых языков, фреймворков или инструментов, но применить то, что вы уже узнали, будет намного проще, чем вы думаете. Начните с малого и постепенно наращивайте. Хотя может показаться невозможным воссоздать Facebook с нуля, создание небольшого инструмента, который служит одной цели, может быть намного более управляемым. Разбейте большую проблему на более мелкие, выполнимые части. Какие части необходимы и как они будут построены? Как эти части сочетаются друг с другом?

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

Найдите сообщество

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

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

Документируйте свой прогресс

Наконец, когда вы начинаете свой переход к технологиям, я призываю вас задокументировать свой прогресс, чтобы было на что оглянуться. Это может быть журнал, заметки на телефоне или даже онлайн-документ. Запишите плюсы и минусы обучения программированию. Когда я впервые начал свой курс Intro to CS, я создал документ Google, который я неофициально использовал для еженедельного документирования своего прогресса. В этом документе я размышлял о недостатках, таких как попытки изучить базовые конструкции программирования, грусть после провала моего первого технического собеседования и неуверенность, стоящую за существенным изменением карьеры в конце колледжа. Тем не менее, во время этого процесса я также достиг многих достижений - таких как получение моей первой технической стажировки, работа со студентами, чтобы понять сложные концепции в качестве TA, получение работы на полный рабочий день в компании, которую я люблю, и, в конечном итоге, получение диплома со степенью в Информатика.

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

Если вы когда-нибудь чувствуете себя застрявшим или думаете, что недостаточно хороши, знайте, что это совершенно нормально. Как люди, мы склонны смотреть вперед на то, чего у нас еще нет, вместо того, чтобы на мгновение оглянуться на препятствия, которые мы уже преодолели. Когда вы боретесь, пересмотрите свои победы, чтобы достичь того, чего вы достигли сегодня, и знайте, что ваши способности будут продолжать расти так же, как и раньше. Одна из моих любимых цитат:

«Помните, когда вы хотели то, что имеете сейчас»

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

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