Як стати хорошим розробником, інфоблог №1

Будучи розробником PHP, або будь-яким іншим розробником, вам треба постійно покращувати свої навички та здібності в цій постійно мінливій індустрії, також ви повинні кожен день вміти застосовувати нові знання.

Яким же секретом успіху мають розробники? Відповідь проста: вони стежать за нововведеннями програмування, для них хороша практика програмування порівнянна з мистецтвом.

У цьому пості ви дізнається: як стати краще, слідуючи «етикету» програмування, і як, пізнавши нову інформацію, навчити своїм умінням інших.

Як бути професіоналом.

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

У будь-якій сфері життя робота програміста вважається шанованою і дуже цінується. Давайте подивимося, як ви можете стати одним з нас.

Не будьте егоїстичні.

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

У команді досить багато часу приділяється саме тому, щоб навчитися чогось у інших, і в свою чергу навчити їх. У робочому середовищі все повинні ділитися нагородами.

Якщо ви не хочете ділитися своєю роботою і знаннями, то ви дуже зарозумілі і володієте великим его. Ви не зможете комфортно працювати в колективі, що володіє такою атмосферою.

Будьте відповідальними.

Непрофесіонали навіть не намагаються нести відповідальність за свою досконалу роботу. Це справа менеджерів. Люди, які так вважають, лише отримують призначену їм роботу і повністю забувають про неї, як тільки стрілки годинника показують 5 вечора.

Професійний програміст не може собі такого дозволити. Як ви будете себе відчувати, якщо через вашу недолугості компанія втратить тисячі доларів?

Дана проблема, все ж залежить не тільки від вас, але і від управління і організації компанії. Кожна компанія повинна навпаки надихати розробників на прийняття відповідальності за свої дії і коди, які вони пишуть.

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

Неможливо створити програмне забезпечення, не зробивши жодної помилки. Ми всі стали жертвами скоєння чогось дурного в репозиторії.

Наша реакція на критику багато говорить про те, як нас, розробників, будуть сприймати роботодавці.

Треба вислуховувати будь-яку критику і мотати її на вус, бо вона робить нас краще, особливо, якщо ми отримуємо її від більш досвідчених і бувалих.

Володій сильної трудової етикою.

Бути професіоналом означає працювати в режимі нон-стоп. Навчання не проводиться лише з 9 ранку до 5 вечора.

Насправді навчання, практика і робота над собою - це інвестиції в себе, про які не повинен піклуватися ваш начальник.

Цим треба займатися у вільний від роботи час - ви не повинні витрачати свій робочий час на те, щоб переглядати останні SitePoint підручники.

Говоріть, що у вас немає іншого часу? Звичайно ж воно є! Думаєте розумнішими. Якщо хочете серйозно займатися своєю кар'єрою, так і фокусується на цьому серйозніше.

Вставайте трохи раніше, йдіть трохи пізніше. Використовуйте ці додаткові години на вашу користь без шкоди для здоров'я і сім'ї.

Всього лише за півгодини до і після роботи кожен день рівні п'ятої години в тиждень. А це вже більше, ніж половина повного восьмигодинного робочого дня.

Як писати хороші коди.

Читайте вихідний код.

Читаючи такий код, ви зможете в подальшому моментально знаходити і розуміти помилки інших розробників, особливо вам стати в нагоді таке вміння при роботі в колективі або переписуванні чийогось коду.

Вивчайте нові техніки.

Завжди будьте відкриті до вивчення нових методів і продумуйте, як вони зможуть вам допомогти стати краще.

Будьте відкриті до нових речей весь час, не пропускайте останні тренди, тому що думаєте, що вони швидко пройдуть. Все в цьому світі йде по колу, але що залишається незмінним, так це знання, які ви отримуєте, розвиваючись.

Хороший розробник ніколи не перестає вчитися, навіть маючи за плечима 15-20 років стажу.

Пригальмуєте.

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

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

Провідні розробники є злегка ледачими і повільними, і саме такі потрібні роботодавцям, адже нікого не цікавить розробник, змушений виконувати роботу двічі.

У старшого розробника написання власне коду займає третину всього встановленого часу, решту він витрачає на думки про те, як же краще уявити цей код.

Тестируйте свій код.

Не буде ніяких TDD дебати, але майте на увазі, що випробування будь-якого характеру дуже важливі для забезпечення якості коду.

Як же без перевірки ви дізнаєтеся, якщо щось зламалося або працює не так? Ви пам'ятаєте що робили кілька місяців тому, коли тільки починали практикувати функції базового коду?

Написання тестування для коду є важкою і важливою частиною вашої роботи, проте в майбутньому воно перетворитися в ваше велике і корисне перевага.

Знайте свій набір інструментів.

Знаючи, які інструменти ви в праві використовувати, щоб допомогти собі, ви зможете вирішувати всі проблеми. Більшість інструментів до кінця дня позбавляються вашого переваги, однак ви повинні знати, що хороші інструменти або бібліотеки, можуть виручати вас ні один раз.

Крім того, ви повинні вирішити: чи варті специфічні бібліотеки для роботи з ними чи ні. Може краще використовувати PHP framework? Які ж плюси і мінуси? А окупитися допомога незграбних CMS?

Це як раз той ряд питань, про які ви повинні подумати, перш ніж писати лінію коду.

Як залишатися на коні.

Боріться з перевтомою.

За часту здається, що ви ніколи не перестанете створювати коди, що ви потрапили в замкнене коло. Більшість розробників, які працюють в цьому бізнесі досить довгий час, в один прекрасний момент здають свої позиції, так би мовити загасають.

Таке згасання асоціюється з тривалим процесом роботи і так званим «синдромом самозванця» (коли розробники починають себе недооцінювати, вважають, що вони повинні працювати більше і старанніше, в той час як це зовсім не обов'язково, щоб стати краще).

Найкращими ліками від цього є крок назад. Просто вийдіть з кола, займіться чимось іншим, чимось креативним. Відпочиньте хоча б два дні.

Існує й інше, більш популярне рішення даної проблеми - знайдіть собі партнера, команду, разом з якими ви і будете займатися програмуванням. Така взаємодія з іншими людьми зробить позитивний ефект, не сумнівайтеся.

Код обслуговування.

Залишатися на коні - це значить весь час підтримувати базовий код в чистоті. Це треба не для інших, а для самих себе. Код без тестування і опису порівняємо з російською рулеткою.

Що трапитися, коли через кілька місяців ви вирішите переглянути деякі функції старого коду? Так ви проведете купу часу, розбираючись: що саме ви робили в певній частині коду.

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

Оціночні дані.

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

Як можуть помітити багато людей: оцінка - це тільки припущення, і вона не обов'язкова. тому що, якщо ви себе зобов'язали на щось, то несете відповідальність за її виконання.

Оцінка ніколи не була і не буде даватися примусово, це її характерна риса. Якщо менеджер просить вас дати оцінку, відразу попереджайте його, що не можете дати 100% гарантії.

Ви можете тільки висувати припущення, а не давати обіцянки.

Як бути майстром.

Комунікація.

Вся справа в комунікації. Я бачив проекти і компанії, які розвалювалися тільки тому, що члени команди не могли один з одним взаємодіяти.

Підтримувати спілкування дуже просто, прибирайте посередників, що стоять між вами і одержувачем. Кожен "вузол" в лінії зв'язку створює майже експонентний ускладнень.

Підприємства часто від цього страждають - ось чому замовлення робиться так довго, адже він повинен пройти через певну кількість людей, ось де виявляється гнучкість команди.

Якщо ви підтримуєте завжди просту і коротку зв'язок, це означає, що ви можете міркувати швидше, ніж інші; що ви розумієте, що від вас хочуть, і це дає вам перевагу, тому не бійтеся задавати специфічні питання.

Співробітництво.

Крім того, що ви повинні бути комунікабельними, ви повинні вміти співпрацювати, але давайте говорити правду: програмісти не самі товариські люди.

Вам доводиться співпрацювати не тільки з розробниками, але також з менеджерами, і можливо з клієнтами.

Також співпраця означає, що ви знаєте, що поставлено на карту і щоб отримати цю роботу, ви повинні бути хорошим гравцем.

Якщо ви знаходите для себе важким співпрацювати з будь-ким, спробуйте парне програмування. Суть парного програмування як раз і полягає в співробітництві.

Прокляття знань.

На думку Вікіпедії: «Прокляття знань - це когнітивна прихильність, яка змушує більш знаючі боку підходити до вирішення проблеми так, як би це зробили менш інформовані боку.»

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

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

Знайте свою область роботи.

Якщо ви називаєте себе експертом програмування, тоді будьте їм. Ви повинні знати область своєї роботи, так би мовити вивчити її досконало зверху вниз, і не бійтеся говорити «ні» стільки разів, скільки знадобиться.

Тобто: будучи експертом і кажучи "ні", ви захищаєте свою правду, і в більшості випадків, раз у вас більше досвіду і знань, ви маєте рацію.

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

Ніхто не може створити гарне програмне забезпечення, не розуміючи проблеми справи і того, для яких цілей буде використовуватися ваш код.

Ви повинні бути активними і зацікавленими, тому що це відбивається на вашій роботі. Без розуміння цілей і специфіки проблеми код мимоволі перетворитися в сміття.

Якщо ви відчуваєте, що ваша спеціалізація і цілі клієнта не збігаються, то просто не беріться за цю роботу. Цінуєте свій час, тому що воно безцінне.

Щоб постійно ставати краще, ви повинні розуміти на якому рівні перебуваєте.

Код Kata - це вправи для програмістів, які покращують їх навички в практиці і знаходженні оптимального рішення різних проблем. Ви можете спробувати вирішити код Kata на Project Euler, CodeKata або Topcoder.

Topcoder навіть надає призи при знаходженні оптимального рішення їх завдань програмування.

Висновок.

Вам постійно треба поліпшувати свої знання, постійно чогось вчитися, в загальному бути на крок попереду. Щоб реально досягти професіоналізму, вам треба розуміти справу і проблеми, які намагаєтеся вирішити своїм кодом.

Код - це одна крапля в усьому море вирішення проблеми, він додає дуже небагато до великої картині. Ідеї ​​рішень, здатність співпрацювати і оволодіння інструментами - ось ваші ключики до того, щоб стати шановним професіоналом.

Теги: як бути професіоналом, як залишатися на коні, розробники, програмісти, відповідальність, співпраця, сильна трудова етика, тестируйте свій код, знайте набір інструментів, боротьба з перевтомою

Схожі статті