Позиції джуніора (молодшого розробника), мідла (розробника середнього рівня) і сеньйора (просунутого розробника) не мають нічого спільного з віком і досвідом – джуніор може бути старшим сеньйора, а мідл може займатися програмуванням довше нього. Сеньйора від джуніора і мідла відрізняє щось більше, ніж навички кодинга.
Знання
Очевидно, що сеньйор знає набагато більше, ніж джуніор і мідл. Вивчення шаблонів проектування, архітектури, автоматизації тестування, продуктивності, безпеки та інших аспектів допоможе новачкам швидше наблизитися до більш досвідчених колег.
Однак варто пам’ятати, що знання важливі, але це далеко не головна відмінність між розробниками різних рівнів.
Робота з кодом
Незважаючи на поширене уявлення, програмування – це не спілкування з комп’ютером, а спілкування з людьми. Код слід робити зрозумілим для фахівців, які звернуться до нього в майбутньому. Нова команда, яка раніше ніколи не бачила програму, повинна зуміти відредагувати або доповнити її. Саме тут особливо яскраво проявляється різниця між джуніор і сеньйорами.
В даному контексті не будемо говорити про мідл – зрозуміло, що вони знаходяться десь між джуніор і сеньйорами, хоч і ближче до других, ніж до перших. Як правило, розробники середнього рівня вже хоча б раз пройшли весь цикл створення програми, зробили безліч найпростіших помилок і зробили висновки з них.
Як зрозуміти що розробник – джуніор?
Джуніор недосвідчені. Багато з них тільки закінчили навчання і знайшли першу повноцінну роботу. Часто вони хочуть, щоб код просто виконував свої функції. Діючу програму вони прирівнюють до гарної.
Створити простий код складно, і від молодших розробників його чекати не варто – зазвичай їх програми досить вигадливі. Розпізнати джуніора можна по хитромудрумо коду в одну строчку і занадто складною абстракцією. З їх допомогою вони самостверджуються, показуючи колегам, наскільки добре вміють писати код. І це неправильно, тому що такий підхід ускладнює роботу іншим людям.
А як щодо сеньйора?
Дивлячись на код просунутого розробника, можна подумати: та це все? Де решта? Сеньйор пише простий, зрозумілий і, можливо, навіть тупий код. І це одна з найголовніших переваг програміста.
Сеньйор думає про код не так, як джуніор: створені досвідченим фахівцем програми зручно обслуговувати і масштабувати.
Більше, ніж просто програмування
Крім навичок написання коду, про рівень розробника говорять ще кілька чинників.
Джуніор зазвичай виконують найпростіші завдання або завдання, які не особливо впливають на проєкт в цілому. Наприклад, вони не займаються його архітектурою. Мідл теж не розробляють закінчені рішення, а просто виконують окремі кроки. Від джуніор вони відрізняються тим, що можуть виконувати рутинні завдання без особливого контролю. Сеньйори ж можуть розробити додаток самостійно.
Це не означає, що у просунутих розробників не виникає складнощів. Як і всі інші, вони стикаються з ними щодня, але від джуніор і мідлів сеньйори відрізняються умінням правильно ставити запитання, простіше кажучи “гуглити”. Мідл теж на це здатні, коли мова йде про відносно рутинні завдання, але в більш складних ситуаціях їм потрібна допомога.
Від джуніор не слід очікувати вірної формулювання питання. Вони недосвідчені, і їм необхідний поштовх в потрібному напрямку від мідла або сеньйора.
Як стати middle- і senior-розробником?
Від джуніора до мідл
Важливо пройти весь цикл розробки хоча б пару раз. Таким чином, ви потрапите в безліч можливих пасток і навчитеся їх уникати.
Ви також повинні навчитися писати простий код – для цього думайте про людину, яка буде працювати над програмою після вас. Крім того, навчитеся виправляти баги і займіться самоосвітою.
Від мідла до сеньйору
Перехід від середнього рівня до просунутого може бути досить складним. Деякі розробники залишаються Мідл протягом всієї кар’єри.
Сеньйори знають, від чого в коді можна відмовитися, а що прибирати не можна ні в якому разі. Всьому цьому їх навчив колишній досвід і помилки.
Якщо ви хочете бути сеньйором, то будьте готові виконувати завдання, які не може виконати ніхто інший. Вам також доведеться допомагати менш досвідченим розробникам. Ви – їх рятувальний круг у важких випадках.
Не дивно, що сеньйори досконально вивчають весь комплекс технологій своєї компанії. Це більше, ніж просто програмування – це занурення в усі аспекти створення продукту.