#мислення_розробника
Патерни! О, скільки в цьому слові… Сльози, плач, нерозуміння, довгі ночі, червоні очі, лемент і крик…
Але це лише тоді, якщо кидатися на них з повною відсутністю розуміння, на який ляд вони вам потрібні. От про це й поговорим.
Чи треба знати патерни, тим паче джуну, себто початківцю? (я тут нещодавно зрозумів, що чисто по дідівськи вважаю початківцями всіх, хто менше пʼяти років у фаху, капєц). Свого часу я створив опитування в лінкедині, і думки авдиторії розділилися фактично порівну. Коментатори висловлювали різні думки з цього приводу, а я робив у своїй голові ретроспективу свого ставлення до цього питання, і зрозумів, що воно змінилося прямо протилежно, від "однозначно не треба" до "однозначно треба", але, як і завжди, з одним "але".
І полягає воно в тому, що цю канапку треба їсти з правильного кінця. Патерни варто вчити, як і потихеньку занурюватися в премудрості архітектури з самісіньких пелюшок, але за умови, що спочатку ви зрозумієте, що саме ви за допомогою цього підходу зможете вирішити, навчитеся цю задачу вирішувати без патерну, в лоб, наївно чи ще як, а вже потім почнете вчити як там у книжках пишуть. Тільки в цьому випадку можна буде сказати, що ви дійсно вивчили патерн, бо насамперед знатимете, коли його не треба використовувати.
Щодо доцільности вивчення високих матерій умовними джунами, маю відразу зазначити, що у мене для вас погані новини (вкотре), і нинішній джун, який дійсно потрібний ринку, це приблизний відповідник мідла пʼяти–семирічної давности за рівнем теоретичних знань. Це не привід заломувати руки і лементувати, а навпаки — привід задуматись, по-перше, а чи так воно вам то все треба, а по-друге, усвідомити що воно таки треба і почати системно вчити.
Так от, якщо джун хоче стати дійсно крутим фахівцем, йому рано чи пізно доведеться пірнути з головою у це лайно. Просто якщо це робити пізно, то, зважаючи на вагу очікувань, відповідальности і досвіду, занурення в ці глибини відбудеться надзвичайно стрімко, тому буде лячно і неприємно. А от якщо їсти цього слона шматочками, і потроху опановувати ці всі теми протягом карʼєри, то коли прийде час, вам це може навіть почати приносити задоволення.
Вкотре зауважу, що вимоги ростуть, і роблять це надзвичайно стрімко, тож знати й вміти навіть початківцям потрібно значно більше, ніж раніше. Це стосується й тих самих патернів, це не царина упоротих синьйорів, а цілком собі необхідний та практичний шар знань, який знадобиться крепко раніше, аніж здається.
Однак знову зауважу, і наголошу, і можу ще носом потикати в надзвичайно важливу деталь: вчити будь-що треба з розумінням того, для чого воно. Вчити від задачі, а не від книжки. Тобто якщо просто вивчити патерн, то це навпаки більше зашкодить, бо це буде незалежна одиниця інформації, яку до лоба хіба можна притулити. Але неофіт з палаючими очима, швидше за все, тулитиме це знання скрізь без розбору.
Тож чи треба джунам знання патернів? В такому формулюванні — ні. Їм потрібне не знання патернів, а розуміння задач, які ці патерни вирішують, та вміння їх застосовувати за призначенням. Саме академічне знання нічого не варте, а от досвід застосування таких знань — безцінний. І, до речі, ви можете не знати "академічного" визначення, а от на досвіді і чуйці розуміти й вміти якимись інструментами, якими патерни і є.
Не кожен джун стане архітектом, а от кожен архітект був джуном. І я більш ніж певен, що десь в глибині кожен з них хотів би, аби ось ці всі премудрості почав вчити й розуміти якомога раніше.
Тож вчіть патерни, любі мої початківці. Але спочатку прочитайте інструкцію із застосування.
@babichdev
Post #281
1.94K
- ❤ 35
- 🔥 8
- 👍 4