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

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

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

1. Исследовательские навыки

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

2. Непрерывное обучение

Делая докторскую степень, исследователи должны быть в курсе последних достижений в своей области знаний. Область исследований, как правило, постоянно развивается, и важно быть в курсе последних событий. Это справедливо и для программистов. Технологии развиваются очень быстро, и очень важно быть в курсе последних разработок и лучших практик. Отчет HackerRank за 2020 год показывает, что 60% опрошенных full-stack разработчиков должны были изучить совершенно новый фреймворк в течение предыдущего года. Независимо от уровня карьеры, изучение чего-то нового всегда будет частью работы программиста.

3. Обучение и наставничество

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

4. Навыки письма

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

5. Публичное выступление

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

6. Тайм-менеджмент

Кандидат наук. студенты должны управлять своими собственными исследовательскими проектами. У них есть ограниченное время для написания диссертации, и они часто работают в сжатые сроки. Они учатся ставить цели SMART, устанавливать сроки и отслеживать прогресс. Это важно и для программистов. Программистам нужно будет ставить цели и задачи для себя и своей команды. Им необходимо расставлять приоритеты в своей работе и предлагать реалистичные оценки времени выполнения работы.

Могут возразить, что — в конце концов — эти навыки не являются ключевыми для инженеров-программистов, поскольку навыки программирования — это то, что делает кого-то хорошим инженером. Я не хочу отрицать, что способность писать качественный код имеет решающее значение для того, чтобы стать хорошим инженером-программистом. Однако набор навыков хороших инженеров намного шире, чем их навыки программирования. Например, в структуре развития карьеры инженеров-программистов в CircleCi говорится, что технические навыки составляют лишь 20% компетенций, которые они ожидают от инженеров. Всесторонне развитые исследователи, у которых нет знаний в области компьютерных наук, но которые готовы изменить свою карьеру и научиться кодировать, могут, тем не менее, обнаружить, что их ранее приобретенные навыки будут чрезвычайно полезны.

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