Сұхбаттағы суық душ
Менде өскен сияқтымын деген сәт болды. Екі жұмыс орным бар, тапсырмаларды орындаймын, код жазамын, бәрі жұмыс істейді. Ішімде өзімді қалыпты әзірлеуші сезінемін. Сұхбатқа бардым. Сол жерде сұрақтар қоя бастады: дерекқордағы индекстер қалай жұмыс істейді, капоттың астында не болып жатыр, шешімдер қалай қабылданады. Мен жауап бере алмадым. Мүлдем. Бұл суық душ болды. Себебі ішіңде өзіңді мидл деп санайсың, ал шын мәнінде сен джунға да өтпейсің. Менде дәл осылай болды. Осыдан кейін түсінікті болады, код жаза білу ≠ әзірлеуші бола білу. Көпшілігі осы жерде қателеседі.
Неге джуниорлардың 90%-ы тоқтап қалады
Егер шынайы айтсақ, неге 90% джундар тоқтап қалады, себептері әрдайым бірдей.
1. Синтаксисті емес, ойлауды үйренеді.
Тілді, фреймворкты, CRUD-ты үйренеді, бірақ жүйенің қалай құрылғанын, шешімдер неге қабылданатынын, қандай trade-offs бар екенін түсінбейді.
2. Басқалардың кодын оқудан қорқады.
Нақты жұмыс нөлден жазу емес. Бұл бар нәрсені түсіну. Қолданылатын кітапханалардың кодын оқу да есептеледі.
3. Бизнес түсінбейді.
Код жазады, бірақ бұл функция не үшін қажет екенін, ақша қайда екенін, не маңызды және не басым екенін түсінбейді.
4. Күрделі тапсырмалардан қашады.
Комфортқа жабысып, түсініксіз жерлерге бармайды.
5. Метрикалармен жұмыс істемейді.
Өнімділік, жүктеме, қателер туралы ойламайды, сынғанша дейін. Бұл қалыпты кезең. Мәселе, көпшілігі осы жерде қалады.

Мидл деңгейіне өсу — бұл контекст
Енді маңызды сұрақ. Жарайды, сен технологияларды түсіндің. Одан әрі не болады? Одан әрі мидл деңгейіне өсу басталады. Мұнда тек код жазатын адам болу жеткіліксіз. Сен не автоматтандырып жатқаныңды түсінуің керек. Абстрактты сервис емес. API емес. Нақты процестер. Егер сен e-commerce саласында жұмыс істесең, каталог қалай жұмыс істейтінін, іздеу қалай жұмыс істейтінін, ақшаның қайда жоғалатынын, конверсияға не әсер ететінін түсінуің керек. Егер финтехпен жұмыс істесең: тәуекелдер қайда, транзакциялар қайда, қателіктер қайда ақшаға түседі. Тек содан кейін ғана шешім қабылдай аласың. Өйткені мидл бұл көбірек технологияларды білетін адам емес. Мидл бұл контекстті түсінетін, басымдықтарды анықтай алатын, бизнес міндеттеріне сүйене отырып шешімдер ұсынатын адам. Сен "PostgreSQL-ге ауысайық, өйткені ол керемет" деп айтпайсың. Сен "бұл мәселені шешеді ме?", "бұл бизнесті жылдамдата ма?", "бұл қазір қажет пе?" деп сұрайсың.
Сен кодпен жұмыс істемейсің. Сен салдарлармен жұмыс істей бастайсың. Бұл басты чекпоинт. Қысқаша айтқанда: джун қалай жазу керектігін ойлайды, мидл нақты не шешу керектігін және не үшін екенін ойлайды. Егер сен мұны жасамасаң, орныңда қаласың. Қанша технология үйренсең де.