Що джуніор-розробники найчастіше роблять не так? Діліться досвідом!

Усі статті, обговорення, новини для початківців — в одному місці. Підписуйтеся на телеграм-канал!

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

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

А як ви вважаєте, які помилки в джунів трапляються найчастіше? Які з них ви самі робили колись (або й зараз 😄)?

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному2
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

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

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

У мене був співробітник, який після університету пішов на курси, а після курсів на роботу, все в одному напрямку. На момент роботи над одним проєктом у нього було менше року досвіду та я звертався до нього за експертною думкою. А були такі, що три роки досвіду, але перші думки при код ревʼю: ну чувааак!

головна проблема джунів — занадто турбуються «як би не вигоріти»

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

Да ну ? Я би сказав типовой етап переходу нашого джуніора в мідли, після прочитання цілої скирти і справді розумних книжок та порад : Фаулера , Дядька Боба , Банди Чотирьох, Кента Бека та інших метрів — з простої задачі зробити надскладну з доменною архітектурою «по красоті» та переписати під це пів проекту, щоб по краще в ньому розібратись.
Тут явно тімлід чи сініор до якого приставили молодого має не прогавити цей момент. (Може ще і послати матами та сказати тобі що ти тупий і не освячений, та напевно просто через вік став на посаду іноді так воно насправді у тому епізоді і є :) ).
Початківець же, зазвичай просто там десь застрягає і починає самостійно будь що копати по 15-16 годин на добу, замість того щоб прийти та задати запитання. З одного боку похвально і буває так, що тобі ніде спитать чи не скажуть і цей досвід дуже корисний — з іншого абсолютно не ефективно.

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

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

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

Тім джуни нагадують ChatGpt. Тому їм роботу зараз важко знайти, ChatGpt їх витіснив. Але без джунів не буде майбутніх мідлів. ChatGpt посиліться та й витісне їх теж. А без мідлів не буде сіньйорів... Схоже, у білкових програмістів «демографічна проблема». Ми останнє покоління. Пропоную створити протестну інстітуцію «Останнє Покоління», бити на сполох, вимагати жорстко регламентувати використання AI в програмуванні.

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

Все інше — похідні від перформансу.

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

Ви просто не вмієте їх готувати. Щоб Джун норм робив — йому треба дати вимоги до мікросервісу, тестів та документації.
Так ось — де синьйор витратить 2 дні — у джуна піде 2 тижні.

Та не факт, зовсім не факт. Є купа джуніорів які зроблять за півдня три таких задачі. При цьому зроблять не те і не так, не покриють жодним тестом, жодним чином не документують і т.д.
І більше за те, коли ще в них менеджер такий/така сама то вони це обожнюють. У них правда жодна задача яку оцінили як 2 sp не закривається за два тижні і переноситься та кого то хвилює ? Головне показати замовнику що закрили 80 sp в спрінт і «проект йде добре за графіком», щоправда демонструвати нема чого бо нічого не працює і ніхто не знає чому.
Зазвичай естімейти більш досвідчених значно вище, і роблять вони значно довше — при цьому як і у випадках із черепахою, на фініші вони опиняються швидше, бо до нього біжуть по прямій, а не зігзагами як біжить заєць.

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

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

У мене були такі на проєктах, роблять як у тій приказці: тяп ляп і готово. Єдине що вони мені дали окрім спалених нервів — це розуміння нащо були придумані оті всі затички до репозиторіїв. А як їх готувати я так і не зрозумів, кидати на одинці на якийсь проєкт де йому клієнт буде мати міски?

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

Можете щось порадити почитати?

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

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

Хочеш випендритися і готовий сидіти до ночі і на вихідних (why not?) — переконайся, що задача взагалі комусь потрібна. Бо може так статись, що насправді важлива і термінова задача буде наступною, а ти вичерпав свій ресурс.

> Отримав задачу — спитай коли її вирішення очікують саме від тебе.
> Everything is urgent

> Everything is urgent
> Ok, taking into account task’s estimates and my average velocity the task can be dev-completed by day X, is it fine? If not, I would really appreciate any help from somebody who better knows this part of the solution

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

Так ви усе перелічили. Насправді стосується просто усіх далеко не просто джуніорів, а починаючи з мідла ще і корона на голові росте, сири по 500 і т.д. Так що перед тим як наїзджати, вартує подумати про себе джуном.
І ще погано думати — що ти не джун, коли знаєш що нічого не знаєш, воно на краще.

І ще погано думати — що ти не джун, коли знаєш що нічого не знаєш, воно на краще.

Ніт. Бо отримаєш analysis paralysis. Часто хоч якесь рішення ліпше, ніж ніякого.

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

Да помилки близько до чатжпт — щось може, але ніяк не побачить картину здалека і все потрібно доробляти

Там може з тобою працює кілька ChatGPT ботів, ти за них виправляєш а вони десь крутяться на aws і заробляють в сумі більше ніж ти :-)

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

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

а отут я не зрозумів. Доствідченні фахівці вважають це своїми поточними проблемами це, чи це досвідчені фахівці згадують своє джунство і проблеми тих часів?

Часто помиляються з першім місцем роботи — бо хоч куди б взяли. А потім як у ’Г..вступив’ довго відмиватися

А що робити? Вибору нема в будь-якому разі.

Пробувати Йти на початку до топових компаній -стажування, інтернатура, курси, лаба

З шансом 10% на працевлаштування і 90% згаяти 3 місяці часу.

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

Але ліпше, коли за досвід:
1) платять
2) є впевненість в майбутньому
3) набирається стаж в резюму
Себто, якщо вибір між працевлаштуванням та стажуванням — то однозначно йти працювати.

В нонейм компаніях про п1,2 дуже суперечливою. Про п.3 можна і на заводі (держ.підприємстві) стаж здобути але вам ,’шашечки або їхати ?’ який ви стаж хочете? Пенсійний ?

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

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

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

Є багато около іт шних позицій — різні хелпдески, підключення інтернету,обслуговування CRM та інш. можна збоку зайти в ІТ якщо зовсім горить

Воно не дуже допоможе з досвідом програмування

Ні не дуже , але якщо потрібні гроши та дуже хочеться в ІТ, то можна почати.

Ну вибір для кар’єри — піти програмістом в нонейм чи адміном в ГлобалЛоджік — також здається зрозумілим. Тим більше, що від адміна на галєрі схочуть англійську та СПД, а в нонеймі їх можна довчити вже коли працюєш.

В ГЛ без досвіду адміном потрапити дуже малий шанс, а зайти з корпоративних курсів (стажування) розробником набагато вище.

Отож? Де вибір? Між гарантовано зайти в нонейм програмістом та негарантовано зайти в около-ГЛ адміном чи хелпдеском?
В мене знайомий намагався зайти тестувальником (після курсів), ще десь — фіг.
10 років тому в ГЛ інший хлопець пройшов інтернатуру тестувальника, його обрали на проект, але проект одразу закрився. Хлопець на вулиці, повернувся до рідного райцентру людям зуби свердлити й прокляв те ІТ.
Висновок: бери що дають і набирайся досвіду поки не вигнали.

Нонейм компанії гарантовано беруть без досвіду ? Де це таке? Немає такого. А після курсів з топових компаній, якщо не знайшлось місця на проекті, отримати офер в компанії чуть меньше розміром набагато вище шансів чим після платних курсів. Прикладів маса. (Якщо дійсно вчився а не проходив). Завжди є вибір не вступити в г.

Ну я за вибір між офером на роботу від нонейм та вступом на курси на галєрі.

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

З найбільших помилок: не проявляють ініціативу. Роблять велику задачу в один захід, без отримання фідбеку по частині роботи що приводить до курйозних помилок. Не задають правильних питань. Переоцінюють свої сили. Бувають впертими. Зупиняються зарано, не докопавшись до суті проблеми. Але хороший менеджер то всьо розрулить, джунами треба займатися.

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

Не читав книжки, думав, що отримаю досвіт суто із робочах задач. Почав читати і відкрив новий досвід. Потім обмежив себе тільки мовою програмування — теж помилка. Занурився в алгоритми, структури даних, методи вирішення складних проблем, дизайн систем. Знов бустанув.
Висновок. Читання професійної літератури для джунів must be!

Не вміють задавати питання

Не в плані «що тут робити?», а в плані «я спробував х, результат у, але очікував результат а1, що я роблю не так?»

Робити костилі там, де можна використати ліби/стандартні функції, і де це доволі легко гуглиться. Ще буває недостатнє розуміння задачі в цілому, типу навіщо вона потрібна, що додає проекту,і звідси косяки в імплементації.

Ну нерозуміння нащо задача — то про...пуск ПМа чи ліда. Чи ПМ думав що лід розкаже джуну про проект, а лід — думав що ПМ розкаже. В результаті — ніхто не розповів. Mushroom management.

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

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

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

Колись давно — рекомендували біль старші ексколеги джквері та лодаш, усюди де можна і не можна

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

А от що було моєю помилкою джуна, так це занадто довга робота на перших кількох роботах. Якби я йшов звідти через 1-2 роки в іншу компанію, то мав би суттєво більший заробіток. Шлях до наявної в Україні «стелі» у мене зайняв років 12, а міг би зайняти 5.

Пропрацював 10 років в своїй першій компанії і ні про що не жалкую. Це як зі стосунками: або різноманіття досвіду, або клопітка праця над стосунками за для виходу на зовсім інший рівень можливостей і відчуттів один до одного.
У такому контексті помилкою є не «занадто довга робота», а недостатньо прокачані скіли для отримання релевантної ринкової платні від теперішнього роботодавця.
З мого досвіду рідко хто звільняється виключно через ЗП. Так само важко уявити компанію, що не готова піти на обґрунтоване підвищення ЗП людині, яка має офер на руках, якщо немає інших підводних каменів.

Якщо людина вже має офер — то навіщо їй лишатись?

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

Бо на практиці ж зазвичай так:
— Привіт, я звільняюсь за два тижні, мені дали офер в ххх компанії на +500.
— А якщо піднімемо зп, лишишся?
— Ні, я вже прийняв офер і дав слово інженера. Треба було раніше підіймати.

В таких кейсах звичайно є вина і компанії і менеджера. Але тут знову ж таки як в стосунках. Треба розмовляти, йти на контакт і тоді «занадто довга робота» на одного роботодавця може стати великим плюсом.

Все індивідуально, можна за 10 років здеградувати на одній посаді на 1 проекті, а можна і розвинути навички, які необхідні ринку.
Мої колеги у себе бачили по ЗП і таке:
— Привіт, я звільняюсь за два тижні, мені дали офер в ххх компанії на +500.
— Ми пропонуємо контрпропозицію +100 як бонус на 5 місяців.
Або
— Почекай трошки, за місяць ми переб’єм.(Ну і ніхто не перебивав)

Буває звісно і так, треба зважати на велику кількість факторів. Варіант з контрпропозицією +100 може насправді бути першим кроком на зустріч у дорослих переговорах, або дефолтною retention policy пропозицією.
Варіант «почекай трошки» означає, що всім на тебе похєр і компанія легко знайде заміну. Це якраз кейс «здеградував за 10 років».

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

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

Я б сказав основна проблема у джунів з комунікацією/пошуком інформації.
Дві крайності:
застрягти над таскою і боятися попросити допомоги, роблячи вигляд що все гаразд; задовбувати тімліда елементарними питаннями, відповідь на які легко знаходиться пошуком в документації/коді/гуглі.
P.S.
to be clear: проблеми з комунікацією не тільки у джунів ))

Засиджувався до ранку пару днів поспіль, бо було важко закрити таску (яку знаю що можу закрити).
Один раз було некомфортно писати код, коли показую екран сеньйору.
Дуже довго потів над таскою, яку не міг закрити в принципі (але щоб це зрозуміти треба пробувати). І стидно потім писати ПМу шо нічого не вдалось.
Дуже сильно накручувався, коли пару тасок підряд не закривав. В ітоге загнався настільки, що надумав собі що мене звільнять скоро... і звільнився сам. На останньому колі з ПМом він сказав що все було ок, і він трохи не розуміє моєї дії.
Тепер сиджу безробітний))

В чому сенс було звільнятися якщо тікати було нікуди?

Я андерперформив і думав що мене вже заочно звільнили.
Але питання гарне, вже починають джуніорські «накопичення» закінчуватися

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

1 Занадто переймаються через робочі завдання ( о 2 ранку мені приходить код на перевірку від джуна котрий не міг лягти спати доки не зробить це)
2 Занадто зневажливо ставляться до своїх обов«язків ( ну а шо як у універі — не здам сьогодні таску так завтра зроблю а то й післязавтра .. мене ж не виженуть ось так відразу а зроблять 100500 попереджень
3 Занадто впевнені у собі — ну це молодість їй таке притаманно
4 Не хочуть просити про допомогу а 2-3 дні сидять самі та «туплять» у завданні або у незнайомому коді щоб не здаватися «нікчемами або тими хто не здатен розібратися без допомоги»
5 Не хочуть навіть «увіввкнути» мозок та подивитися на завдання + код — одразу дзвонять ліду та питають «а що тут треба робити я нічого не читав та у код ще не дивився»

Ну норм джуни ))))

Перше та друге, та четверте та пʼяте — це взаємовиключно, ні?

Це ж не обов’язково одна людина

Не задавала всі прояснювальні питання одразу

Моя головна помилка молодості — занадто переймався через роботу. Доходило до того, що іноді пів ночі не спав думав чи не вилізе десь бага. Частенько овертаймив ще.

Підписатись на коментарі