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

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

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

Создайте портфолио примеров кода

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

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

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

Вот здесь и появляется «портфолио». Практикуйтесь в кодировании на одном из веб-сайтов, созданных для этого. Использование одного из этих веб-сайтов для отработки одного или нескольких популярных языков (например, Python, SQL, Java ) и начать рано - чтобы у меня был «многолетний опыт», который я мог бы закрепить в своем резюме, - было бы действительно полезно для меня при приеме на работу и собеседованиях. Таких сайтов масса; Я опишу здесь лишь некоторые из них.

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

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

Последний сайт, о котором я упомянул, - это Project Euler, где перечислены задачи по математике и компьютерному программированию. В отличие от HackerRank, в упражнениях которого содержится немного кода для начала работы с проблемой, Project Euler более простой, без таймеров, без поля ввода кода и без сервера для запуска кода; это просто поле для ответа. Вот первая из перечисленных задач: Найдите сумму всех кратных 3 или 5 ниже 1000. Настоящий трюк в поиске решения - это не обязательно понимание математики, но ноу-хау в программировании, чтобы найти ответ менее чем за 60 секунд (их рекомендуемый предел времени). Вы получаете доступ к доске обсуждений, где другие публикуют [то, что они считают] элегантными решениями на разных языках программирования, как только вы отправите правильный ответ.

Участвуйте в проектах с открытым исходным кодом

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

Чтобы начать работу над GitHub, нужно довольно круто научиться, поэтому позвольте мне объяснить некоторые из более общих преимуществ этого. Первый - это разоблачение. Знание даже базовой структуры крупномасштабного программного проекта полезно при обсуждении практики технической компании. Многолетний опыт только углубит ваше понимание. Многие компании используют GitHub для размещения своих проектов, хотя для многих из них предусмотрен «частный» просмотр.

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

Еще одно преимущество - и оно очень большое - это изучение Git. Это система контроля версий, которая является важным инструментом для отслеживания изменений, внесенных в проекты, включая то, какие файлы были изменены, кто несет ответственность, дату и время, а также описание характера изменений. Я использовал Git на протяжении всей аспирантуры (и вы тоже должны!), Чтобы отслеживать мои проекты и избегать сохранения нескольких версий файла с сумасшедшими именами, такими как draft_2019-March-3_newIntroByLindsey.pdf. Вместо этого я назвал файл чем-то простым, например draft.pdf, и набрал git log в терминале, чтобы отобразить красивую и четкую запись всех изменений, которые я недавно внес, например Добавить новое введение 3 марта 2019 года.

Но Git - это гораздо больше, чем просто удобный способ отслеживать файлы на вашем локальном компьютере. GitHub использует функции Git (и многие другие полезные инструменты), чтобы позволить создавать миллионы проектов, в некоторых случаях, тысячами разработчиков. Некоторые из самых популярных модулей Python (например, NumPy) создаются разработчиками-добровольцами на GitHub. Быть частью такого крупного проекта может быть сложно, но начните с создания проблемы или отправки небольшого исправления в документации. Существуют репозитории, использующие любой язык кодирования, который вы только можете придумать, с фокусом от научных вычислений (например, SciPy) до образования. Вы также можете разместить на сайте свои личные проекты!

Развивайте присутствие в Интернете

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

Первое, что я предлагаю, - это присоединиться к профессиональному сетевому сайту, подобному LinkedIn. Для создания значительного числа связей требуется время, и эти связи могут дать советы, подтверждения навыков, рекомендации в компаниях и интересные возможности трудоустройства. Здесь вы можете поделиться своими профессиональными интересами и опубликовать содержательные [профессиональные] статьи, которые вы читали. Я также использую их страницу вакансий для поиска открытых вакансий.

Затем обратный вызов предыдущему совету: GitHub. Мой профиль выглядит довольно слабым, особенно из-за всех пустых квадратов за последние несколько месяцев :(.

Наконец, создайте личный веб-сайт. Для этого потребуется немного денег вперед, но оно того стоит. Вам нужно будет приобрести доменное имя на таком сайте, как GoDaddy. Мой - очевидный lindseyhiltner.com. Вы можете пойти на что-то более креативное, но сделайте это актуальным и профессиональным. Если у вас есть домен, вам нужно будет найти службу хостинга, чтобы ваш сайт заработал. Затем наступает самое интересное: проектирование страницы и создание контента. Если дизайн не для вас, передайте его сервису вроде Squarespace или Wix. В противном случае используйте свой сайт как возможность попрактиковаться в HTML, CSS, JavaScript и любых других инструментах веб-разработки, которые вы сочтете достаточно смелыми, чтобы попробовать.

Используйте этот небольшой кусочек Интернета, чтобы собрать свое разрозненное присутствие в сети в одном персонализированном месте. Свяжите с вашими учетными записями в социальных сетях; посвятите страницу своему [code] портфолио; вести блог о том, что вас интересует; «Создайте свой бренд». Ссылка на свой веб-сайт из профилей / биографий ваших учетных записей для создания подключенного онлайн-присутствия.

Найдите интересное хобби

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

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

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

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

Вывод

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

Но самый важный совет: не забывай повеселиться;).