Чи не можете знайти поради для початківців розробників, які хочуть зробити наступний крок кар'єрними сходами? Джастін Джеймс спробує заповнити даний інформаційну прогалину своїми порадами про те, як зробити цей крок.
# 1: Вивчіть ще одну мову програмування
Не важливо, який це буде мова. Процес вивчення нової мови (незалежно від того, скільки мов ви вже знаєте) зробить вас кращим розробником. В ідеалі варто вивчити мову, значно відрізняється від того, що ви вже використовуєте на щоденній основі. Іншими словами, якщо пишете на C #, вивчення VB.NET або Java буде не настільки корисно, як вивчення Ruby або Groovy.
І коли я кажу «вивчите ще одну мову», я маю на увазі саме «вивчіть». Знання мови складається з трьох областей знань: синтаксис, вбудовані оператори та бібліотеки, а також «техніка їх використання». Перші дві досить прості; думаю, досвідченому розробнику під силу освоїти синтаксис, необхідний для підтримки коду, за термін від 30 хвилин до декількох годин, в залежності від мови. Оператори і бібліотеки - лише питання повільного накопичення знань і бажання лізти в довідкові матеріали, поки не запам'ятаєш то, що потрібно знати. Але ось третя область - техніка їх використання - може бути освоєна тільки через місяці роботи з мовою, і ось тут відбувається справжня магія. Я рекомендую вам зробити проект, який добре підходить для вибраної мови, і зробити його, дотримуючись стиль цієї мови.
Вивчіть мову «по-справжньому», і я обіцяю, що ваші навички розробки почнуть розкриватися.
# 2: Вивчіть техніку, тактику і стратегію просунутого пошуку
Все частіше від «хорошого розробника» потрібні не тільки його професійні навички, а й навички пошуку інформації. Простіше кажучи, сучасні мови і середовища розробки є занадто складними для більшості людей, щоб запам'ятати їх цілком. В результаті, ваша здатність справлятися із завданням часто залежить від вашої здатності до пошуку. На жаль, щоб шукати точну і перевірену інформацію, недостатньо зайти на наш сайт або просто скористатися улюбленим пошуковиком.
«Техніка», «тактика» і «стратегії» звучать як синоніми, але це не так. Техніки, які вам слід вивчити - це просунуті системи пошуку вашого улюбленого пошукача; вам потрібно дізнатися про такі речі, як Булеві оператори, способи фільтрації результатів (зворотні ключові слова, обмеження по домену і т.д.), роль, яку відіграє порядок слів, і не тільки. Загалом, вчіть матчастину.
Ви повинні вивчити тактику правильного підходу до будь-якого окремого пошуку і розуміння, що ви насправді шукаєте. Шукати причини помилок легко - досить використовувати код помилки - але ось пошук за ключовими словами в інших випадках буде набагато складнішим.
Що стосується стратегії, вам слід розібратися, які пошуковики використовувати (підказка: общецелевого пошукові движки не завжди найкращий варіант), які сайти відвідати раніше. ніж попрямувати в общецелевого пошуковик, і на яких форумах шукати ради.
# 3: Допомагайте іншим
Навчання інших завжди було одним з кращих способів вивчити що-небудь. Звичайно, ви можете подумати, що вам нема чого запропонувати, адже ви тільки недавно зайнялися розробкою ПЗ. Це не так. Не забувайте, що всі свої знання ви отримали від когось іншого, і постарайтеся стати тим, хто сам вчить людей. Витратьте кілька хвилин в день, намагаючись максимально грамотно відповідати на питання на тематичних сайтах. Крім того, ви зможете багато чому навчитися, читаючи відповіді інших людей.
# 4: Зберігайте спокій і не припиняйте практикуватися
# 5: Залиште свої переконання на порозі
# 6: Ретельно вивчіть кілька просунутих тим
Значна частина процесу перетворення в просунутого розробника полягає у вивченні декількох концепцій, які ви дійсно добре знаєте і використовуєте в своєму коді. У моєму випадку це многопоточность / паралеллизмом. регулярні вирази, а також вигідне використання динамічних мов (останніми двома я користуюся все рідше, оскільки все менше використовую Perl). Як я дійшов до цього? Я освоїв многопоточность і паралельну обробку, тому що я читав про них багато статей, ця тема здавалася мені цікавою, і я вивчив її самостійно. Я продовжую писати програми, які використовують ці методи. На одній з моїх робіт мені дуже часто доводилося використовувати регулярні вирази в Perl. Крім того, я в підсумку написав власний движок для інтернет-торгівлі, що включав движок для обробки шаблонів і вбудовану систему баз даних. Після цього я близько двох років провів за роботою над ним.
Знайдіть щось, що вас дійсно зачепить. Це може бути робота з зображеннями або проектування баз даних. Та що завгодно! Зрештою, навіть якщо ви поки тільки початківець розробник, постарайтеся стати експертом хоча б в одній області. Це досить швидко приведе вас до просунутого рівня, а потрапивши туди, ви будете вже на півдорозі в експерти.
# 7: Вивчіть базові теорії, що лежать в основі вашої сфери діяльності
Одна справа написати «Hello World», але зовсім інше - зрозуміти, як слова з'являються на екрані. Вивчивши той «фундамент», що підтримує вашу область, ви станете набагато краще розбиратися в ній. Чому? Тому що ви зрозумієте, чому речі працюють саме так, як працюють; у чому може бути помилка, коли щось не працює, і т.д. Ви станете більш досвідченими, зрозумівши, що відбувається на нижніх рівнях вашої сфери діяльності.
Якщо ви займаєтеся веб-розробкою, прочитайте опис протоколу HTTP і специфікацію HTML. Якщо ви використовуєте генератор коду, уважно вивчіть створюваний ним код; якщо ви використовуєте інструменти для роботи з базою даних, погляньте на SQL-запити, які вони створюють, і т.д.
# 8: Вивчайте код старших розробників
На роботі вивчайте код, який пишуть старші розробники, і питайте у них, чому завдання вирішені тим чи іншим чином. Якщо можете, загляньте і в open-source проекти. Навіть якщо інші розробники мають не найкращий стиль написання коду, ви зможете багато дізнатися про те, як писати код. Будьте уважні і не наберіться поганих звичок. Головна ідея тут полягає не в тому, щоб бездумно імітувати те, що роблять інші розробники; важливо зрозуміти, що працює, в чому є сенс, і повторювати це.
# 9: Вивчайте хороші прийоми
Ніщо так не видає недосвідченого розробника, як дурні імена змінних, безладні відступи та інші ознаки недбалості. Дуже часто можна зустріти розробників, які навчилися програмування, але ніхто не навчив їх таким набагато менш цікавим речам як форматування - і це впадає в очі. І нехай навіть вивчення цих речей не завжди зможе зробити ваш код краще або зробити вас кращим розробником, але ваші колеги точно не будуть дивитися на вас, як на новачка. Навіть якщо хтось дослужився до старшого розробника, але він привласнює змінним імена своїх 97 кішок, а його функції називаються «doSomething ()», це виглядає так, ніби він не знає, чим займається, і в подальшому такий код важче підтримувати.
# 10: Отримуйте задоволення
Хочете застрягти на кар'єрних сходах? Ненавидьте свою роботу. Для того, щоб рости вгору в цьому бізнесі, мало налаштувати себе на постійно зростаючу зарплату. Потрібно отримувати справжнє задоволення від своєї роботи. Якщо вам не подобається робота, і ви початківець розробник, то чому ви вирішили, що робота просунутого або старшого розробника буде краще? Змініть компанію або почніть нову кар'єру. З іншого боку, якщо ви любите свою роботу, то все відмінно! Я гарантую, що ви станете кращим розробником, якщо продовжите в тому ж дусі.