Senior-розробника визначає глибина занурення в проєкт й розуміння своїх задач і задач людей, які працюють поруч. Вона має на меті допомогти Middle-розробникам перейти на наступний щабель кар’єри. Графіки говорять самі за себе, тому нижче наведемо кілька прикладів без коментарів. Про те, яка технологія має потрапити в яку категорію, можемо подискутувати в коментарях. Серед архітектур лідерами очікувано є MVVM та MVP, але вже з’являється і новіша MVI.
На мою думку, мова програмування — це вторинне, найголовніше — це інженерні навички. Тут я маю на увазі уміння декомпонувати складні задачі на прості, андроїд розробник абстрагуватися від неважливих деталей, шукати корінь проблеми, розуміти, як побудована система. Тобто це фактично здатність виконати будь-яку задачу.
Luxoft пропонує проєкт з нуля для нафтогазової індустрії. Серед інших технологій я б виділив знання C++ як конкурентну перевагу на ринку праці для окремих нішевих вакансій. Навички фронтенд-розробки виявилися надзвичайно важливими для Senior .NET Developer. Діліться в коментарях, скільки років досвіду мали ви, коли стали Senior. На початку співбесіди я завжди даю дисклеймер, що очікую відповідей, начебто я початківець, якого кандидат менторить. Завершити матеріал пропонуємо списком корисних ресурсів, якими свого часу користувався чи досі користується Роман.
Наприклад, запитуючи у сеньйора «що таке RecyclerView? », я очікую спіч на 3–4 хвилини, в якому почую, що це, яку проблему вирішує, за яким принципом працює, на які компоненти поділяється, а наостанок кілька слів про DiffUtils. Джуну я б ставив більш конкретні питання на кшталт «Що робить LayoutManager? Якщо я бачу, що кандидат добре орієнтується в темі, можу зупинити його й дати практичну задачку, щоб закріпити результат. Щодо того ж RecyclerView, то я спитав би, яким чином організувати часте оновлення списку.
Я думаю, це пов’язано з тим, що в Data Science дуже багато технологій опинилися разом в групі до 20%. DataArt запрошує працювати в будь-якому з центрів розробки компанії, які розташовані в різних країнах. Багато сеньйорів стають чудовими менеджерами, оскільки знають технологічні складові проєкту і мають навички роботи з командою, бо самі через це пройшли.
Я вважаю, що фактор грошей тут відходить на другий план. Будь-який сеньйор у вільному плаванні переб’є ледь не будь-який офер компанії, але отримає майже нульову «стабільність». А якось один кандидат дуже переймався кількістю вихідних. Оскільки всі компанії, з якими я працював, завжди дотримувалися https://wizardsdev.com/ державного календаря — це здалося мені дивним, тож співбесіда швидко закінчилася. Комфортне робоче місце, гарна зарплата, адекватний менеджмент тощо — не менш важливі складники. Нерозумно сподіватися, що хороший спеціаліст затримається в команді некомпетентних інтриганів.
Я не буду порівнювати програму (вона опублікована на сайті кожного університету). Раджу порівнювати програму топових українських університів із топовими в США. Диплом Спеціаліста будь-якого вузу в Україні і близько не стояв поруч із Дипломом Бакалавра Computer Science будь-якого американського університету. Disney вказує у вимогах серед іншого знання Microsoft Word та Google.Docs. Я протирав очі, чи це точно вакансія Java розробника. Для компанії Solve.Care, яка працює в індустрії охорони здоров’я, був плюсом досвід з AI, ML, NLP, Blockchain.
Згодом пройшов Java курси при одній з ІТ компаній і там же влаштувався на першу роботу у сфері Android розробки. Соняшник має властивість акумулювати вихлопні гази, що знаходяться у повітрі навколо доріг, де ростуть рослини. Кадмій – токсичний метал, що накопичується в насінні.
Цю мову всього лиш за 10 днів в далекому 1995 році розробила одна людина в компанії Netscape. Ще один фактор – Java Virtual Machine використовується як середовище для виконання інших мов програмування. Найвідомішими з них є Scala, Kotlin, Groovy, Clojure.
Великою перевагою є досвід в інтегруванні аналітичних інструментів, які будуть давати корисну інформацію про застосунок. Періодично його оновлюю, але загалом він не змінюється. Це розраховано на 2,5–3 години співбесіди, але я запитую половину, в рандомному порядку вибираючи питання, щоб було хоч якесь різноманіття між інтерв’ю. Хоча питаннями то назвати складно, це радше тезисно виписані теми, по яких я проходжусь з кандидатом, а в кінці — практична задача на проєктування фічі, такий собі мінігрумінг. Приголомшлива новина в тому, що 92,1% вакансій не згадують алгоритми як обов’язкову компетенцію для Senior Android Developer. Що вже говорити про інших, коли навіть у вакансії Lyft, американського сервісу таксі з мільйонами користувачів, про алгоритми ні слова.
За 6 років встиг попрацювати з C#, HTML, CSS, JavaScript, Typescript, React, React Native, Node JS та базами даних Oracle, MS SQL, PostgreSQL. Колись сам навчав Java на курсах, але Java-розробником не працював жодного дня за всю кар’єру. Але потрібно завжди мати на увазі, що золотого молотка як серед технологій, так і серед методологій розробки не існує. Тому senior розробник при прийнятті кожного рішення зважує його переваги та вартість. Адже зазвичай немає правильних і неправильних рішень, є рішення, які підходять в конкретній ситуації, і які — ні.
Основне завдання — комбінувати технічно грамотні рішення з управлінням командою. Junior-розробники витрачають половину свого часу на вивчення функціоналу тої мови та фреймворку, з якими вони працюють. На написання самого коду в них йде лише 50% зусиль. 84% вакансій не згадують вищу освіту навіть як побажання. В Zenia максимальна компенсація на позиції Senior Android Developer становить $3500.
Значну допомогу у професійному розвитку може надати .NET-спільнота, яка є в Intellias. Простір об’єднує однодумців .NET-інженерів компанії для розвитку та прокачування своїх скілів. Тут розробники вільно говорять про помилки, обмінюються досвідом, шукають відповіді на проблемні запитання, з якими стикають у проєктах.