Год в проекте PowerShell Core


Да, я уже год в проекте PowerShell Core!
В рамках борьбы с искажениями истории задокументирую, как это было.

В сентябре прошлого года под впечатлением от сообщения о того, что Microsoft Windows PowerShell стал проектом с открытым кодом, я задумался, а не вспомнить ли давние годы и не попробовать ли вновь программировать. И главное — реально ли поучаствовать в серьезном проекте вроде PowerShell Core?

Посмотрев на открытые проблемы — Issues, которых на тот момент было около 700 в проекте, я решил попробовать открыть несколько своих, чтобы сообщить об известных мне проблемах. Для этого пришлось зарегистрироваться на GitHub.
Уже в октябре наблюдение за проектом всколыхнуло дух авантюризма, и я начал пытаться найти места в коде, где можно было бы исправить зарегистрированную мой проблему. Быстро пришло понимание, что без наличия практического опыта и без знаний C# это безнадежное дело, и нужен отладчик, чтобы своими глазами увидеть, как работает код.

В результате я установил Visual Studio Community, Visual Studio Code, GitHub Desktop и начал разбираться, как с этим всем можно скомпилировать проект. Оказалось, что это не так уж и сложно. После нескольких попыток я увидел окошко запущенного PowerShell Core, который я только что сам скомпилировал. На удивление он ещё и работал! Первые попытки использовать отладчик в VS Code укрепили мою уверенность, что шанс разобраться в поставленной самому себе задаче есть.

Спустя какое-то время, благодаря отладчику, мне удалось найти место в коде, где скрывалась ошибка. После стольких значительных для новичка усилий не удивительно, что у меня появилось желание попробовать исправить проблему. Ни что так не способствует быстрому освоению незнакомого языка программирования, а мои познания в C# были нулевыми, как попытки что-то реализовать на нём. Наличие фундаментального инженерного ИТ образования и опыт программирования в давние годы, я начинал ещё с ассемблера PDP-11, оказались хорошей основой. Поэтому разобраться с базовой симантикой языка C# не составило большого труда, и я уже мог делать простейшие вещи в коде. Новичку трудно что-то создать с нуля, но вполне по силам вносить изменения с существующий код.
И вот наспутил момент, когда мне удалось исправить проблему. Теперь надо было как-то доставить моё исправление в базу проекта. Началось моё познавание Git. Это тот ещё монстр. Но все его возможности и не нужны. Мне пришлось разобраться всего лишь с несколькими командами — комбинация вэб-интерфейса GitHub и интерфейса GitHub Desktop многое упрощает, документация в Интернете отличная. Пара первых блинов, как и положено, подгорели, но вот мой первый Pull Request (PR) создан.

С этого момента началось моё первое общение с командой PowerShell Core. Каждая команда работает по неким правилам. Часть их описана. Скорее меньшая. На это есть две причины. Во-первых, команда MSFT PowerShell новичок в такого рода открытых проектах, набирается опыта и совершенствует процесс разработки день ото дня. Во-вторых, не все можно формализовать, существует что-то вроде духа, который складывается между членами команды, которые ежедневно работают над проектом. Новичку надо читать как можно больше сообщений в обсуждениях, чтобы уловить этот дух, быть в курсе текущих событий и неформализованных правил.
Главное, что я увидел в документах проекта это приглашение команды: мы хотим, чтобы как можно больше людей участвовали в обсуждении нового кода (code review).
Я начал читать комментарии экспертов MSFT и в скором времени уже осмелился делать свои. Когда видишь, как работают профессионалы, есть чему поучиться. Когда не только видишь, но и работаешь с профессионалами, именно это даёт участие в проекте, быстро набираешься бесценного опыта, знаний и умений. Этот фактор вдохновляет меня на продолжение работы в проекте PowerShell Core уже целый год.

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

После первого шока от работы с командой над моим первым (PR) не прошло и нескольких дней, как мне захотелось реализовать ещё одну задумку. Потом были исправления мелких и не очень мелких багов, реализация новых фич — как-то незаметно, шаг за шагом, я оказался в топе самых активных участников проекта.

Каково же было моё удивление, когда несколько месяцев назад команда MSFT решила включить меня в список мантейнеров проекта! Когда я только начинал знакомиться с проектом, я просмотрел список мантейнеров и там было сказано, что команда MSFT в будущем готова включить в него несотрудников Microsoft. В тот момент я подумал, что если я проработаю в этом проекте несколько лет, то вполне могу стать мантейнером. Это случилось гораздо раньше — работая с профессионалами и экспертами прогрессируешь намного быстрее, чем когда варишься в собственном соку. Это событие ещё раз подтвердило правильность моего выбора, в каком проекте развивать свои навыки.

Вот такая у меня получилась история и сегодняшняя реальность.

Осталось только сказать — добро пожаловать в проект PowerShell Core!

Реклама

Один ответ

  1. круто

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

w

Connecting to %s

%d такие блоггеры, как: