JavaRush /Java блог /Random UA /Кава-брейк #55. 4 поради щодо пошуку спільноти розробникі...

Кава-брейк #55. 4 поради щодо пошуку спільноти розробників. 5 несподіваних навичок, які потрібно освоїти програмісту-початківцю

Стаття з групи Random UA

4 поради щодо пошуку спільноти розробників

Джерело: Honeypot Одним із факторів, які допомагають розробникам у їхньому професійному розвитку, є співтовариство, в якому вони складаються. Якщо ви ще не знайшли своє, не хвилюйтесь! У цій статті я розповім, як це зробити. Люди не призначені для самотності. Саме завдяки здатності співпрацювати задля досягнення спільної мети людство досягло прогресу. Прекрасним прикладом такого співробітництва можна назвати спільноту розробників. На відміну від деяких інших професійних галузей, розробники дуже часто взаємодіють один з одним, і більша частина їхнього життя так чи інакше пов'язана із спільнотами, які вони створюють навколо себе. Якщо ви розробник, але ще не знайшли свою спільноту, не засмучуйтесь. Приєднатися до одного з них можна на будь-якому етапі вашої кар'єри.Кава-брейк #55.  4 поради щодо пошуку спільноти розробників.  5 несподіваних навичок, які потрібно освоїти програмісту-початківцю - 1

1. З'ясуйте, що вам потрібно

Перш ніж стрибнути в онлайн-безодню для пошуку своєї спільноти розробників, ви повинні з'ясувати, що конкретно вам потрібно і що ви шукаєте. Кожен етап професійної кар'єри розробника має свої інтереси та відмінності. Якщо ви навчаєте Java, то ви навряд чи знайдете цікаву для вас інформацію в співтоваристві фахівців з мови Python, і навпаки.

2. Шукайте місцеві спільноти

Джессіка, учасник команди програмістів Ember, мешкає у Берліні. На щастя, це місто пропонує безліч можливостей для взаємодії з іншими місцевими розробниками. «Я мав великий досвід професійних групових зустрічей, довгий час я була частиною Школи відкритих технологій, яка допомагає людям більше дізнаватися про технології». Дівчина брала участь у семінарах та групах спільного навчання, і знайшла це дуже корисно для новачка. «Мене підтримували інші студенти, і я отримувала безкоштовне наставництво. Можна сказати, що це давало почуття відповідальності, допомагало приходити на зустрічі регулярно та стимулювало вчитися самостійно». Щоб знайти місцеву спільноту, Джессіка пропонує скористатися пошуком у Google. Якщо ви живете у великому місті, то у вас, ймовірно, не виникне проблем із пошуком місцевих спільнот програмістів, до яких можна приєднатися. Однак може виявитися, що деякі такі групи в соцмережах вже неактивні або давно не публікувалися повідомлення. У таких ситуаціях не бійтеся прямо запитати, чи щось відбувається у суспільстві. Якщо ви виявляєте інтерес, це завжди оцінять.

3. Знайдіть інтернет-спільноту

Особиста зустріч з іншими розробниками дає низку переваг. Але якщо ваш доступ до місцевих спільнот обмежений, то ви майже гарантовано знайдете в інтернеті альтернативу. Можливо, ви вже працюєте з різними фреймворками або технологіями, які мають свої спеціалізовані спільноти Discord або Slack. Це підходить як для допомоги в роботі, так і для пошуку натхнення для нових проектів, ідей і навіть для участі у відкритих проектах.

Ось кілька місць, де можна знайти свою інтернет-спільноту

dev.to. _ За їхніми власними словами, «індустрія програмного забезпечення покладається на співпрацю та мережеве навчання», а dev.to надає розробникам простір для зустрічей та допомоги один одному, будь то технічні аспекти кодування, поради з кар'єри або загальна підтримка та мотивація. #developers в Slack . Вам потрібно буде відповісти на кілька запитань, щоб отримати доступ до цього каналу, але як тільки ви туди увійдете, отримаєте всю необхідну підтримку і поради :) Hashnode . Напишіть статтю на будь-яку бажану тему програмування та взаємодійте з ширшою спільнотою. Це чудовий спосіб залишатися на зв'язку з іншими розробниками. Жінки, які кодують . Це місце підтримки для жінок, які працюють у сфері технологій, де вони знайдуть ресурси для програмування та відкритий простір для обміну ідеями. Reddit . Існує безліч субреддитів для будь-якої кодування ніші; ознайомтеся з деякими з найбільш активних: r/programming , r/java , r/python , r/javascript , r/reactjs та r/cscareerquestions . Кола розробників на Facebook . Тут основна мета полягає в тому, щоб створити спільноти, організовані на місцевому рівні, де розробники можуть «отримувати безкоштовні інструменти для розвитку нових навичок, ідей та просування по службі». Знайдіть свою спільноту на Facebook, всі обговорення зараз ведуться онлайн.

4. Знайдіть спільноту з відкритим кодом

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

Висновок

Рівень підтримки та стимули до саморозвитку, які отримує розробник у професійній спільноті, надзвичайно високі. На щастя, доступ до спільнот розробників є всюди, незалежно від того, чи місцева це група в соцмережі, чи великий онлайн-ресурс, присвячений будь-якій мові програмування. Головне – це знайти те, що підходить саме вам.

5 несподіваних навичок, які потрібно освоїти програмісту-початківцю

Джерело: Codeburst Мій шлях до того, щоб стати розробником-самоуком, був довгий і важкий. Іноді, згадуючи всі перешкоди та розчарування, з якими мені довелося зіткнутися, я питаю себе, чи варто було починати саме так. І зараз я можу сказати, що справа того вартувала. Для людей на зразок мене — тих, хто починав з нуля, крива навчання виявилася дуже крутою. Але я впевнена, що у довгостроковій перспективі переваги переважають зусилля, які доводиться витрачати на підкорення цієї гори. Звичайно, це стосується тільки тих випадків, коли вам подобається те, що ви вивчаєте. Мені знадобилося кілька років, щоб зрозуміти: хороший розробник повинен уміти не тільки швидко та легко писати код. Багато новачків не розуміють, що для здобуття навичок розробки потрібно щось більше, ніж просто вміння написати та запустити програму. Отже, ось ще п'ять навичок на додаток до кодингу, які точно знадобляться кожному розробнику-початківцю!Кава-брейк #55.  4 поради щодо пошуку спільноти розробників.  5 несподіваних навичок, які потрібно освоїти програмісту-початківцю - 2

1. Використання інструментів для спільної роботи

Багато популярних платформ для самостійного вивчення програмування фокусуються на синтаксисі мови та структурах даних. Деякі їх дозволяють учням створювати базові проекти з нуля. Скажімо, просту гру або програму для складання списку завдань. Ці уроки є неоціненними для початку оволодіння навичками програмування, але вони не імітують реальне робоче середовище, з яким ви зіткнетеся в майбутньому. Над великими проектами розробники працюють разом, причому іноді розробник може брати участь у роботі кількома базами коду одночасно. У командній роботі часто використовують інструменти, наприклад, таблиці Google або Invision. Команди розробників мають свій власний стандартний набір інструментів для спільної роботи. У моїй компанії, як і в десятках тисяч інших компаній США, використовується GitHub. Я ніколи не забуду день, коли мої колеги познайомабо мене з GitHub. Спочатку мені сказали відкрити термінал мого комп'ютера (я навіть і не підозрювала, що в мене є щось подібне). Потім колеги почали набирати якусь тарабарщину у цьому загадковому вікні на моєму екрані. Ця тарабарщина, як з'ясувалося, творила чарівні речі, наприклад, заповнювала кілька папок на комп'ютері всілякими файлуми, повними коду. Потім вони говорабо про «гілки» і «пуші», про щось «віддалене». І здавалося, що всі слова починаються з приставки «git». Я знала, що вони говорять англійською, але зміст їхніх слів був для мене незрозумілий. Якщо ви новачок, якому ще не доводилося писати код з іншими розробниками, вам доведеться вивчити мову та інструменти для спільної роботи. Це може здатися складним, особливо якщо ви ніколи не відкривали командний рядок. Але згодом це увійде до звички.

2. Реєстрація та обробка помилок

Допустимо, ви вже навчабося співпрацювати з іншими програмістами, і ваш код вирушає у виробництво. Коли те, що ви написали, використовується тисячами чи навіть мільйонами користувачів, це викликає справді захоплююче відчуття. Але дійшовши до цієї стадії, ви на власному досвіді дізнаєтеся, що непередбачені помилки коду трапляються постійно. Наприклад, створена вами змінна так і не набула значення. Тепер ви викликаєте метод із нульовим значенням, а ваша програма не знає, що з цим робити. Виникає помилка, і тепер користувач більше не має доступу до приголомшливої ​​сторінки, яку ви створабо. Коли ви перевіряєте роботу програми, все здається правильною, тому проблему ви можете навіть не помітити. Можливо, ця конкретна помилка виникає лише у 5% випадків, але 5% від 100 тисяч користувачів це суттєво. Вам потрібно навчитися реєструвати, обробляти та передбачати помилки у вашому коді: це абсолютно необхідні навички для розробника. Так, уміння передбачати проблеми — це чуття, яке розвивається з часом та досвідом. Але новачкові важливо пам'ятати, що помилки — це практично невід'ємна складова розробки. Вміння захищати свій код за допомогою різних типів реєстрації помилок може позбавити вас головного болю в майбутньому, особливо коли вам доручать виконати налагодження. Крім того, це допоможе виявити проблеми, про які ви навіть не підозрювали. Сьогодні нам доступні різні інструменти реєстрації помилок, що дозволяють легко відстежувати вразливості в кодовій базі. Один з моїх коханих - Sentry, за допомогою якого можна побачити, коли проблема виникла вперше і як часто вона виникає. Також варто згадати Logentries, Rollbar та Instabug. Є програми, що відстежують загальносистемні дані та проблеми, наприклад New Relic та Datadog. Швидше за все, у своїй кар'єрі розробника ви зіткнетеся з деякими комбінаціями подібних програм і вам варто навчитися користуватися ними.

3. Тестове покриття

Як я вже говорила, відточування навичок програміста - це більше, ніж просто написання коду. Ви повинні переконатися, що ваш код зрозумілий іншим розробникам, і коли хтось відкриє його через два роки, ця людина повинна мати можливість швидко вникнути у суть справи та почати внесення змін. Логіка, яку ви пишете, має бути зрозумілою та придатною для повторного використання протягом кількох років. Але іноді ваша логіка буде складною і спростити її не вдасться. Можливо через складність бізнес-логіки. Можливо, через брак часу. Реальність така, що через дедлайн ви часом будете змушені приймати далеко не ідеальні технічні рішення. І не завжди зможете чітко визначати усі варіанти використання перед початком роботи. Один із способів підстрахувати свій код – писати тести для супроводу змін. Більшість мов програмування мають додаткові пакети тестування, які можна встановити. Наприклад, для Ruby ми використовуємо Rspec, а React часто використовується Jasmine. Існують різні типи тестів, включаючи модульні (для тестування невеликих ділянок логіки) та інтеграційні (для наскрізного тестування потоків). Дуже часто для того, щоб ваш код був відправлений до загальної кодової бази, він повинен пройти весь набір тестів. Навчившись їх писати, ви додаєте запобіжники, які не дадуть випадково перезаписати написані вами функції при майбутніх змінах. Тестове покриття також допомагає визначити очікувану поведінку, оскільки багато тестових випадків пишуться звичайною англійською мовою. Не можу передати, скільки разів я заходила в якийсь файл, написаний кілька років тому, вносила зміну — і виявлялося, що через нього провалюється з десяток тестів, хоча мені здавалося, що я добре зрозуміла очікувану поведінку. Якось я навіть зламала функціонал, який сама ж і написала кілька місяців тому. На щастя, це одразу виявабо мої модульні тести. Переглядаючи пул-реквести, я помічаю, що розробники часто не приділяють належної уваги тестовому покриттю, причому це стосується як простих, так і складних змін. Я теж винна в цьому, особливо коли терміни підтискують. Але я можу пригадати кілька проектів, у яких внесення правок в одному місці призвело до поломок у чотирьох інших місцях. Це збільшило рівень стресу і додало нам роботи, а ми й так поспішали, щоб встигнути до дедлайну. Подібних ситуацій можна було б уникнути, якби ми свого часу знайшли час написання модульних тестів. Навчитися їх писати може бути стомлюючим завданням, особливо для розробника-початківця, а їх написання безумовно уповільнює загальний процес розробки. Але чим раніше ви почнете писати тести, тим менше головного болю чекає на вас і вашу команду в майбутньому.

4. Рев'ю коду

Цей пункт пов'язаний із першим — про спільну роботу над кодовими базами. Часто процес внесення змін до кодової бази виглядає так. Ви локально пишете якийсь код. Щоб відправити його в основну гілку кодової бази, ви створюєте пул-реквест (візуальне зведення ваших змін), а інші розробники у вашій команді переглядають ваш код, перш ніж дати добро на злиття. У різних команд різні вимоги до схвалення пул-реквесту, але загалом варто очікувати, що ваші зміни обов'язково хтось перевірятиме і запускатиме. Варто зазначити, що ви не тільки свій код відправлятимете на перевірку, але й переглядатимете чужий. Навчитися читати чужий код - важлива навичка для розробника, його потрібно розвивати протягом усієї кар'єри. Коли я тільки-но починала і мене просабо переглянути чужі пул-реквести, я не зовсім розуміла, що потрібно шукати. Спочатку я думала, що маю шукати баги. Минуло кілька років, і тепер я вважаю код-рев'ю скоріше перевіркою працездатності, аніж ретельним дослідженням. Зрештою саме розробник, який надіслав пул-реквест, відповідальний за перевірку свого коду, додавання потрібних тестів та безпечне внесення цього коду до загальної бази. Виявлення прихованих проблем є обов'язковим завданням рецензента. Зараз, виконуючи рев'ю коду, я перевіряю читаність (наприклад, чи є ці імена змінних та методів описовими), організацію та структуру (чи можна краще організувати код, щоб він був зрозумілішим для того, хто побачить його вперше). Звичайно, що краще ви познайомитеся з кодовою базою, то легше буде виявити можливі проблеми. Але почати набувати навичок перевірки коду ви можете, навіть будучи новачком. Крім того, це також хороший спосіб познайомитися з шаблонами коду, які використовують ваші більш досвідчені колеги.

5. Правильний пошук у Google

Жоден розробник не знає всього про програмування, свою мову програмування або навіть про свою кодову базу. Раніше я була впевнена, що всі, крім мене, одразу можуть зрозуміти, які методи, запити та стратегії потрібно використовувати у тому чи іншому випадку. Але чим більше людей мені доводилося програмувати в парі, тим більше я розуміла, наскільки часто розробники шукають відповіді на свої запитання в Google. Навіть досвідчені! У нашій сфері діяльності надто багато деталей, щоб їх можна було втримати на думці. Невдовзі мені стало ясно, що від мене потрібно не знати все напам'ять, а навчитися правильно шукати відповіді. Stackoverflow стане вашим найкращим другом. Швидше за все, якщо ви в чомусь застрягли, хтось ще застряг на цьому раніше. Коли справа доходить до вирішення проблем, постарайтеся точно визначити, що саме йде не так, опишіть це словами та введіть ці слова у пошуковику. Вміння формулювати проблеми, з якими ви стикаєтеся, допоможе набагато більше, ніж заучування.

Висновок

Рано чи пізно на своєму шляху у сфері розробки програм ви неодмінно зіткнетеся із розчаруванням. Від цього не подітися. Але чим активніше ви використовуватимете інструменти та стратегії, створені для полегшення цих розчарувань, тим пліднішою буде ваша кар'єра. Дотримуйтесь обраного курсу та не здавайтеся.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ