Чому участь в Open Source проектах це цікаво і корисно



У цій статті не буде психологічних досліджень на тему open-source і розробки.
Не буде аналізу open-source проектів за допомогою R або Python.
І не розповім про те, як правильно контрибьютить.
Можливо я навіть буду говорити якісь банальні речі.

Але я всього лише хочу поділитися тим, як участь в open-source проектах зробило моє життя розробника яскравіше і продуктивніше.



Вперше я дізнався про світ відкритого ЗА де-то в 2009 році, коли почав серйозно займатися програмуванням і заробляти цим.
Але вперше відправив pull request в open-source проект році тільки в 2012. Це була спроба додавання Redis в якості провайдера для кеша в Joomla Framework. Скажімо так, спроба була не вдала, але дуже хотілося спробувати.

Повернувся я до open-source пізніше — в 2015.
Тривалий час Я намагався придумати і реалізувати з друзями і колегами різні ідеї, «замутити стартап» і тд. Але всі чомусь захлинався, особисто мені не вистачало мотивації.
Тоді я спробував поглянути на цю ситуацію і зрозуміти, чому це відбувається.
Я зрозумів, що вся справа в тому, що мене цікавили не самі ідеї, стартапи, бізнес, мені була цікава розробка та програмування.
І зрозумівши це, я вирішив, що якщо мені цікаво програмування як таке, то чому б не направити це в корисне русло і не допомогти поліпшити інструменти, якими я користуюся. Так я почав періодично відправляти pull request'и в проекти, які мені подобаються (Yii2, Design Patterns, Django

Чому це цікаво?



1. Знайомство з новими людьми
За весь час, що я контрибьютил у відкритий код, я познайомився з великою кількістю чудових людей. Всі вони неймовірні професіонали, з якими приємно спілкуватися, ділитися, пізнавати нове. У кожного з нас є можливість поспілкуватися з творцями улюблених продуктів, отримати від них відповідь. В цілому ком'юніті — одна з найважливіших складових таких проектів.

2. Участь у всесвітньо відомих проектах
Ви можете працювати в маленькій компанії або жити десь дуже далеко, але у кожного є можливість взяти участь у розвитку проектів, якими користується весь світ. Facebook, Google, Ebay та інші викладають свої розробки у загальний доступ і ми маємо чудовий шанс стати частиною спільноти розробників таких інтернет-гігантів.

3. Це весело
Насправді, розробка ПЗ з відкритим кодом часто буває дуже веселим заняттям, супроводжується живим спілкуванням.
Ось кілька прикладів.

https://github.com/jglovier/gifs
https://github.com/kristopolous/BOOTSTRA.386
https://github.com/lwe/whatthecommit
https://github.com/theonion/fartscroll.js

4. Визнання
Це досить цікаве і приємне відчуття, коли Ваш код вливають у гілку відомого проекту. Ви розумієте, що Ви дійсно добре попрацювали, що в кінці кінців Ви щось можете.
Якщо Ви раптом втратите інтерес до програмування або Вам здається, що у Вас щось не виходить, спробуйте Open Source — і Ви зрозумієте наскільки «лікувальним» він може бути.

Чому це корисно?



1. Новий неповторний досвід розробки
Той досвід, який ви отримуєте при розробці ПЗ з відкритим кодом, Ви навряд чи отримаєте десь ще.
Я пам'ятаю як я хвилювався, коли відправляв свій перший pull request. Я перечитував кожну строчку коду, перевіряв code-style і т. д.
Усвідомлення того, що Ваш код побачать тисячі інших розробників, самі творці проекту, змушує вас думати, що Ви пишете в своєму коді і це дуже важливо.

Крім того, open-source розробка прищеплює хороші навички, такі як дотримання стандартів коду, написання тестів і багато іншого.
До того ж, тут завжди є можливість зробити code review чужого коду, якщо Ви втомилися від безпосередньо написання коду. Це теж буває дуже корисно і для кого-то це дійсно новий досвід.

2. Можливість вивчити щось нове
Особисто я люблю вивчати нові мови програмування. Прочитавши пару-трійку книг, хочеться попровать мову в реальних умовах.
Але так як мені ніколи в голову не приходять хороші ідеї (ха-ха :)), я шукаю цікаві проекти з відкритим кодом на новому мовою, і пробую контрибьютить в них.
Боятися здатися новачком не стоїть, ніхто за це докоряти не буде, якщо будуть якісь недоліки, Ви завжди можете їх виправити. А якщо Ваш код все ж вмержили, значить Ви дійсно зрозуміли ту чи іншу частину мови і проекту і можете пишатися собою.

3. Відмінна галочка в резюме
Після того, як я почав контрибьютить, мені все частіше і частіше пишуть HRы зі словами — «нам подобається Ваша активність на GitHub, приходьте до нас на співбесіду».
Я думаю для роботодавця посилання у Вашому резюме на Ваші pull request'и, прийняті у великі проекти, скаже про те, що ви дійсно пишіть гідний код, якщо його схвалив велика кількість людей.
Крім того, набагато крутіше замість сухого, вирваного з контектста приклад коду, надіслати роботодавцю посилання на прийнятий pull request.

4. Знай свій інструмент
Участь у розробці продуктів, якими Ви постійно користуєтесь, допомагає Вам краще зрозуміти його — як він влаштований всередині, як працює, які люди в кінці кінців стоять за ним.
Крім того, Ви завжди будете знати, які нові «фічі» з'являються в проекті, які є невирішені проблеми і багато іншого.

5. Персональний розвиток
Open source розробка допомагає розвинути не тільки навички програмування. Ось, на мій погляд, невеликий список того, які особисті якості розвиваються ще:
  • Вміння спілкуватися
  • Уважність і акуратність
  • Рівень англійської мови
  • ...


Цей список можна продовжувати ще.
Крім того, я вважаю, що в кожній людині є бажання допомагати іншій людині, і як раз-таки Open Source розробка дає таку можливість.

Висновок

В кінці я хотів би сказати ось про що — єдине про що я шкодую, що мені не завжди вистачає вільного часу брати участь в open-source розробці. Чудово, коли компанія, в якій Ви працюєте, розуміє важливість такої участі для розробників та самої компанії і виділяє для цього частину робочого часу (а я таке зустрічав).
Тим не менш, навіть якщо Ваша компанія не робить цього, намагайтеся хоч іноді брати участь у розробці відкритого ПЗ, це зробить Вас справжнім професіоналом і подарує відмінний досвід.

Спасибі!

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.