Кто такой джуниор разработчик
Кто такой джуниор и стоит ли идти им работать?
Некоторые компании пишут в объявлениях, что ищут джуниор-программистов. В этой статье — кто такие джуны, что они делают и надо ли вам туда.
Послушать аудиоверсию этой статьи (6 минут):
Джуниор-программист или джун — стартовая позиция в программировании. Это человек, который имеет небольшой опыт работы с каким-то языком и выполняет рутинную работу с перспективой роста.
Если вы умеете писать простые программы, понимаете их принцип работы и можете разобраться в чужом коде с комментариями — значит, вы можете быть джуниором.
Градации программистов и фулстек
Есть четыре градации в программировании: стажёр, джуниор, мидл и сеньор (Junior, Middle, Senior).
Деление условное, всё зависит от требований компании. То, что одни компании требуют от джуниоров, другие хотят от мидлов.
Единых требований к рабочему процессу у джуниоров тоже нет. Кто-то ждёт, что человек на этой позиции будет делать только вспомогательную работу, но не допускают до основного кода. Максимум — им могут дать писать документацию. В других фирмах джунов сразу сажают на рабочие проекты и дают мидла в помощь.
За опытом
Если хотите быстро прокачаться в языке программирования, быть джуном — идеальный вариант. Есть компании, которые не готовы платить много новичкам, но готовы вкладываться в их развитие, чтобы вырастить себе сильного программиста. Они платят по 30–40 тысяч рублей, но помогают вам освоить язык: комментируют код, дают кураторов, обучают. При этом вы тоже будете делать что-то полезное для компании.
Требования к кандидатам простые: знание основ языка, желание развиваться, упорство и готовность работать за маленькую зарплату. Для многих начинающих это реальный способ за полгода прокачаться в профессии.
За деньгами
Второй вариант работы джуниором — сразу начать зарабатывать, но тут сложнее. Немногие компании готовы сразу платить нормальные деньги новичкам в надежде, что они сами всему научатся. Можно рассчитывать на зарплату всего на 10–15 тысяч больше, чем в первом варианте, но требования тут другие. От вас будут ждать, что вы сами способны выдать рабочий код. Поблажек на то, что вы только начинаете, не будет.
С другой стороны, если вы пишете на популярном и простом языке, то конкуренция будет выше, а зарплаты — ниже, потому что много желающих поработать. Тем, кто пишет на редких или перспективных языках типа Kotlin или Rust, платят больше.
Медианные зарплаты джунов
Мы посмотрели на статистику зарплат в калькуляторе «Моего круга». Данные на начало 2019 года:
Для сравнения: медианная зарплата фулстек-мидла — 80 тысяч.
Что в итоге
Джуниор — начинающий программист, который знает и понимает язык, но не решал реальных производственных задач.
Даже если вы только начали изучать программирование, можно найти работу, где вы получите мало денег и много опыта, или нормальные деньги и высокие требования.
Если не бросать развитие и программирование, можно вырасти в мидла с зарплатой и возможностями побольше, но о них — в другой раз.
Все говорят про какой-то хостинг. Что это вообще такое?
Если ты можешь сделать страницу о себе, ты можешь сделать всё.
Разбор систем и подходов.
Это дом, который построил Джек.
Основы линейной алгебры для тех, кого это миновало в универе.
Это как нанять внешнего сотрудника на удалёнку.
И что можно на нём напечатать.
Самый простой, но не самый эффективный алгоритм.
И правда ли они такие быстрые? И на что это влияет?
Мнение работодателя Коли Митина.
Для всех, кто вырос, проходя восьмибитного Марио.
Что значит быть junior-разработчиком
Автор фотографии: Максим Золотухин
Привет Хабр! Хочу рассказать вам о небольшом сообществе junior-разработчиков в Алматы и своём пути junior-разработчика в Казахстанском вебе.
Для начала расскажу немного сухих данных об Алматы. Алматы — по масштабам Казахстана очень крупный город, численностью 1,5-2 миллиона человек. Технических вузов не так много, тем более в которых нормально пытаются преподавать программирование. Очень много мелких веб-студий. Попадаются и крупные software конторы, ориентированные больше на банки и предприятия. В городе нет офиса Yandex, но есть его официальный представитель. Есть два coworking-центра и отстойный 4G интернет. Сейчас мне 20 лет (как и большинству моих знакомых/друзей программистов) и я junior веб-разработчик в студии.
Я бы строить дом пошел, пусть меня научат
За полтора года работы в студии, я научился большему, чем за 4 года в колледже, и 4 будущих года в университете. Не поймите превратно, но классическая схема образования в области IT в Алматы, настолько отстала от жизни, что “учиться” в средних специальных и высших учебных заведениях нет никакого смысла.
На фоне всего этого безобразия, студенты колледжей начиная со 2-3го курса начинают искать работу. Те кому везет, попадают в команды, где их выращивают в полноценных бойцов. Мне повезло. Я попал в лучшую студию, которую вообще можно найти. Всё что у меня было на тот момент, это голодный до знаний взгляд и 20 рублей на сникерс.
Что значит быть junior’ом
Быть джуниором, значит постоянно сомневаться в своих силах и способностях. Вот сидишь ты, молодой и зеленый, смотришь снизу вверх на парней с опытом больше 5-8 лет и удивляешься, как они так быстро находят решения, как они набирают этот чертов код со скоростью пулемета? Я джуниор и почти каждый день я сталкиваюсь с задачами, для которых я не могу сразу придумать готового решения. В тоже время, для других, это кажется не проблема. И часто я останавливаюсь, с мыслью, а всё ли я делаю правильно?
Быть джуниором — значит соревноваться. Когда кто-то из знакомых хвастается, что на проекте он использовал, скажем, Phalcon, невероятная буря эмоций возникает в голове. Интерес, зависть, разочарование в себе. “Блин, этот чувак уже потрогал Phalcon и Solr, а я сижу и всё плагин ковыряю”. Среди моих сверстников и знакомых, всё что я знаю или с чем я сталкивался — это норма. Мы все — постоянно что-то изучаем, пока у нас есть такая возможность. Мы собираемся в баре, или сталкиваемся на каких-то встречах, и постоянно обсуждаем что-то новое.
Быть джуниором — значит искать единомышленников. Любой разработчик из нашей сферы — это в первую очередь коллега и интересный собеседник, а потом уже боец из конкурирующей фирмы. Нам дай только повод поговорить о технологиях, разработке или проектах. Главная проблема в Алматы — это очень маленькое количество событий и небольшое сообщество. Есть конференции, есть какие-то семинары, но они все направлены больше на выжимание денег, пиар каких-то компаний и треп среди бизнес элиты или менеджеров. Событий касающихся именно технологий, где дают какие-то знания или делятся опытом — почти нет. Последним крупным событием, был BarCampCA в 2011 году. С тех пор конференций такого уровня и качества просто не наблюдалось. Есть небольшие тусовки, есть GTUG Almaty, но этого мало.
Быть джуниором — значит косячить. Вы видели когда-нибудь, что случается если джуниору дать доступ на сервер под рутом? А я видел. Мой знакомый в спешке случайно перезагрузил удаленный сервер. Ну а я случайно выгрузил неоттестированный скрипт. Последствия обычно тут же дают о себе знать.
Быть джуниором — значит работать овертайм. Просто потому что ты медленный, потому что что-то не понял, потому что что-то нужно прочесть. Иногда приходится приходить на выходных. И это нормально, потому что ты получаешь опыт и знания.
Быть джуниором — значит испытывать свои силы на соревнованиях и конкурсах. Пытаться сделать что-то важное. Врываться на Hackday с возможно бредовой идеей и ночевать в офисе на столе. Составлять список идей в аккуратную папочку “Будущие проекты”, и мечтать их сделать под лозунгом “Проект выходного дня”.
Быть джуниором — значит искать себе новых примеров для подражания. Стараться перенимать любой опыт и постоянно смотреть вверх. Задавать глупые вопросы на семинарах и ловить на себе насмешливые или снисходительные взгляды. Радоваться даже небольшому диалогу с SamDark’ом, смотреть онлайн трансляции с конференций в 3 часа ночи, сидеть в IRC на RadioT.
Junior-разработчики — почему мы их нанимаем и как мы с ними работаем
Всем привет! Меня зовут Катя Юдина, и я IT-рекрутмент менеджер в Авито. В этой статье расскажу, почему мы не боимся нанимать джуниоров, как мы к этому пришли и какую пользу мы с ними приносим друг другу. Статья будет полезна компаниям, которые хотят нанимать джуниоров, но пока боятся это сделать, а также HR’ам, которые готовы продрайвить процесс пополнения кадрового резерва.
Подбор младших разработчиков и внедрение стажерских программ — тема не новая. Вокруг неё много предостережений, лайфхаков и готовых кейсов. Каждая (ну или почти каждая) более-менее большая IT-компания стремится привлекать начинающих специалистов. Теперь пришло время и нам рассказать о нашей практике.
С 2015 количество сотрудников Авито растет на
20% год к году. Рано или поздно мы должны были столкнуться с проблемами найма. Рынок не успевает растить мидлов и сеньоров, бизнесу они нужны «здесь и сейчас», а нам важно оставаться эффективными и оперативными в закрытии вакансий, так, чтобы не страдали качество и скорость разработки.
Виталий Леонов, директор по разработке B2B: «Мы не нанимали джуниоров лет шесть-семь с момента основания компании в 2007 году. Потом потихоньку стали их брать, но это были скорее исключения из правил. Это получилась очень хорошая история и для новичков, и для наших разработчиков. Они выступали в роли наставников, обучали джунов, а новички приходили в большую компанию на стартовые позиции и на ряде задач обучались под надзором старших коллег. И мы решили эту практику продолжать и развивать».
Подготовка
В подборе мы давно не ограничиваем себя Москвой, ищем кандидатов в разных городах РФ и других странах. (О программе релокации можно почитать тут). Однако проблему подбора мидлов и сеньоров релокация до конца не решает: не все к ней готовы (кому-то не нравится Москва, кто-то привык работать удаленно или part-time). Тогда мы решили пойти в сторону найма джуниоров и запуска стажерской программы в техническом департаменте Авито.
В первую очередь мы задали себе несколько простых вопросов.
Собрав информацию, мы поняли, что бизнес-потребность есть, задач у нас много и мы точно понимаем, как будем заниматься развитием джуниоров. Каждый джун и стажёр, приходя в Авито, знает, как может выглядеть его карьера в перспективе.
Дальше нужно было убедить менеджеров в том, что время, которое мы тратим на поиск готовых «единорогов», мы сможем куда более эффективно проинвестировать в обучение младших коллег и через полгода-год у нас появятся уже самостоятельные инженеры.
Мне повезло работать в команде, которая готова меняться и смотреть более широко на различные вопросы, в том числе и на вопросы найма. Да, при внедрении таких ставок надо быть готовым к тому, что не все будут «за». Убедить коллег поможет чётко сформированный план по работе с начинающими специалистами, показ реальных кейсов, когда нанять джуниора — это плюс, освещение всех положительных сторон этой программы.
И конечно, мы пообещали техлидам, что будем набирать только самых хардовых джуниоров, в которых увидим потенциал для развития. Подбор у нас — это двухсторонний процесс, в который вовлечены и HR, и инженеры.
Запуск
Пришло время определить портрет джуниора, решить, под какие задачи мы будем их набирать и описать, как будет проходить их адаптация. Кто такой джуниор для нас? Это кандидат, который сможет показать развитие в перспективе 6-12 месяцев. Это человек, который разделяет наши ценности (подробнее о них — здесь), который может и хочет учиться.
Виталий Леонов, директор по разработке B2B: «Мы хотим видеть у себя тех, кто хорошо знает теорию, в идеале тех, кто уже попробовал себя в коммерческой разработке. Но основное требование — это хорошие технические знания. А всем процессам и практическим навыкам мы их научим».
Процесс подбора джуниор-разработчика не сильно отличается от интервью на уровень мидл. У них мы так же проверяем знания алгоритмов, архитектуры и платформы. У стажёров на первом этапе появляется техническое задание (потому что кандидату может быть ещё нечего показывать). Можем дать задачку на разработку API. Мы смотрим, как человек подойдет к делу, как оформит README.md и прочее. Далее идет HR-интервью. Нам нужно понять, будет ли именно этому кандидату комфортно работать в этой команде и с этим наставником. Иногда бывает, что кандидат не подходит под продуктовую разработку в нашей компании и есть смысл направить его в платформенную команду, или наоборот. После HR-интервью проводим финальную встречу с техлидом или наставником. Она даёт возможность более детально погрузиться в технические аспекты и понять свою зону ответственности. После успешного прохождения этапов интервью кандидат получает оффер и в случае положительного решения выходит к нам в компанию.
Адаптация
Виталий Леонов, директор по разработке B2B: «Когда я только начал работать в моей первой компании, мне очень не хватало наставника, человека, который показывал бы мои ошибки, подсказывал пути развития, говорил, как сделать правильнее и быстрее. Я по факту был единственным разработчиком и учился на собственных ошибках. Это было не очень хорошо: я долго развивался, а компания долго растила хорошего разработчика. Если бы был человек, который регулярно бы со мной занимался, смотрел на ошибки и помогал, подсказывал паттерны и подходы, было бы сильно лучше».
За каждым начинающим коллегой закрепляется наставник. Это человек, которому можно и нужно задавать разные вопросы и от которого ты всегда получишь ответ. При выборе наставника мы обращаем внимание, сколько у него действительно будет времени на джуниора/стажера и насколько он сможет правильно и грамотно начать процесс обучения.
Старший коллега ставит задачи. На начальном этапе джуниор может начать с разбора багов, далее постепенно идет погружение в разработку продуктовых задач. Наставник отслеживает их выполнение, проводит код-ревью или участвует в парном программировании. Также в нашей компании распространена практика 1:1, которая дает нам возможность держать руку на пульсе и максимально оперативно решать различные вопросы.
Я, как HR, смотрю за процессом адаптации сотрудника, руководитель — за процессом развития и «погружения» в задачи. При необходимости мы ставим индивидуальный план развития на время испытательного срока и после его завершения определяем области для дальнейшего развития.
Выводы
Какие выводы мы сделали по итогам работы программы?
Виталий Леонов, директор по разработке B2B: «Ошибки допускают все — и джуны, и мидлы, и сеньоры. Но ошибки быстро находятся или не допускаются вовсе — у нас хорошо выстроен процесс тестирования, все продукты покрыты автотестами, есть code review. Ну и, конечно, у каждого джуна есть наставник, который тоже смотрит все коммиты».
Программа подбора начинающих специалистов дала нам возможность решить сразу несколько задач.
И это был тот самый win-win. Вот отзывы моих коллег, которые пришли в Авито на позиции джуниоров и стажёров.
Давидэ Згьятти, младший бэкенд-разработчик: «Первое время вообще не понимал что происходит, в меня входила тонна полезной информации, но наставник и команда меня сильно поддерживали. За счет этого через две недели я уже начал работать с бэклогом, а через три месяца постепенно влился в продуктовую разработку. За полгода стажировки получил безмерный объем опыта и всегда старался приложить максимум усилий, чтобы вынести из программы всё и остаться в команде на постоянной основе. Я пришёл в Авито стажёром, сейчас уже джуниор».
Александр Сивцов, фронтенд-разработчик: «Я работаю в Авито уже чуть больше года. Приходил я джуном, сейчас уже вырос до мидла. Это было очень интересное и насыщенное событиями время. Если говорить о выполняемых задачах, могу сказать, что правил баги (как и все недавно пришедшие) я не долго и получил первую полноценную продуктовую задачу в разработку в первый месяц работы.
Джуном я поучаствовал в крупном запуске обновления тарифов. Кроме того, ребятами в команде приветствуются, поддерживаются и развиваются разные инициативы, которые я привносил.
Ребята в команде стараются помочь не только в развитии хард-скилов, но и подтянуть софты. Регулярные встречи с руководителем помогают в этом очень сильно (раньше у меня такого опыта не было и мне оставалось только догадываться, где я проседаю или на что сейчас стоит обратить внимание).
Работать тут очень комфортно, куча разных возможностей развиваться как внутри компании, посещая всякие тренинги, так и вне её: начиная от поездок на конференции, заканчивая всякими плюшками в компаниях-партнерах. Задачи в основном интересные, нежели рутинные. Могу сказать, что в Авито и джунам доверяют сложные и интересные задачи».
Дима Афанасьев, бэкенд-разработчик: «Я знал, что хочу попасть в большую компанию, и с Авито это была любовь с первого взгляда: прочитал почти весь блог на Хабре, смотрел доклады, ковырял гитхаб avito-tech. Понравилось всё: атмосфера, технологии (== стек), подход к решению проблем, культура компании, офис. Знал, что хочу попасть в Авито и решил, что не буду пробовать что-то ещё, пока не узнаю точно, получилось ли.
Я ожидал, что задачи будут сложные. Если делать сайт для трёх человек, то он может работать час в день, и пользователи будут довольны. Если на 30 миллионов человек, то простая необходимость хранения данных становится огромной и захватывающей проблемой. Ожидания оправдались, не могу представить ситуацию, в которой я учился бы быстрее.
Сейчас меня уже повысили до мидла. В целом я стал увереннее и меньше валидирую свои решения, это помогает делать штуки быстрее. Ведь в любой команде скорость доставки очень важна, и я чаще постфактум сообщаю о всех принятых решениях в моей зоне ответственности (сейчас это два сервиса). Обсуждений стало меньше, но и сложность обсуждаемого в целом выросла, и проблемы стали менее очевидными. Но ещё я хочу сказать вот что: хорошие решения можно продвигать на любом уровне, вне зависимости от должности».
Сергей Баранов, фронтенд-разработчик: «Так получилось, что на джуниора в Авито я пришел с более высокой позиции, но из небольшой компании. Я всегда пытался сначала впитать побольше информации, а потом начинать что-либо делать. Здесь же пришлось начинать делать небольшие задачи, просто чтобы разобраться в том, какие продукты существуют и как взаимодействуют между собой. На то, чтобы полностью разобраться во всем, чем занимается мой юнит, ушло около полугода, но к этому моменту я уже вовсю самостоятельно делал задачи среднего объема без какой-либо помощи. Отдельно хочется отметить, что вне зависимости от должности ты полноценный член команды, со всей ответственностью, доверием тебе как профессионалу. Все взаимодействия происходят абсолютно на равных. Также у меня был план развития, выработанный совместно с моим руководителем и я прекрасно знал, что мне надо делать для развития и повышения. Сейчас я уже middle разработчик и отвечаю за весь фронтенд в моей команде. Цели стали другими, прибавилось ответственности, как и прибавилось возможностей для дальнейшего роста».
Спустя почти год мы видим, какую пользу ребята приносят бизнесу и конкретным командам. За это время несколько джуниоров стали мидлами. А некоторые стажеры показали отличные результаты и пополнили ряды джуниоров — они пишут код и решают сложные технические задачи, у них горят глаза, а мы предоставляем им профессиональное развитие, отличную атмосферу внутри и всячески поддерживаем в их начинаниях.
Разница между «джуном», «мидлом» и «сеньором». И что делать, чтобы перейти на уровень выше
Уровень разработчика не обязательно определяется многолетним опытом программирования: «джун» вполне может быть старше «сеньора», — всё сводится к профессиональным навыкам. Это не означает, что старший разработчик должен быть специалистом во всём, но можно с уверенностью сказать, что навыки у него гораздо более развиты, чем у разработчиков младшего и среднего уровня.
Но разработчиков различных уровней отличает нечто большее, чем умение собственно программировать. Так в чем именно кроются различия?
Знания
Очевидно, что старший разработчик обладает гораздо более обширными знаниями. Для младшего разработчика изучить шаблоны проектирования, архитектуру, автоматизацию тестирования, методы повышения производительности и обеспечения безопасности и т. д. — отличный способ сократить этот разрыв в знаниях.
Важно знать, как должно создаваться программное обеспечение. Но просто знать всё это — не значит быть разработчиком более высокого уровня. Знания — это не ключевое отличие, а лишь один из факторов.
Фото — Clem Onojeghuo, площадка Unsplash
Программирование
Несмотря на мнение большинства обычных людей, программирование — это не общение с компьютером. Программировать — значит общаться с людьми и отдавать указания компьютерам. Ведь код в итоге компилируется и превращается в нули и единицы.
Код должен нести в себе смысл для тех, кто будет работать с ним в будущем. Команда, подхватившая за кем-то другим проект, должна иметь возможность открыть его исходный код и начать работать над новыми функциями или исправлением ошибок. И здесь кроется существенная разница между «джуном» и «сеньором».
Разработчиков среднего уровня в этом сравнении я учитывать не буду, поскольку в отношении навыков программирования они представляют собой своего рода переходную область — скорее ближе к уровню старшего разработчика. В основном «промежуточное» положение определяется опытом, поскольку обычно «мидл» успевает пройти весь цикл разработки хотя бы раз, а также совершить множество простейших ошибок и извлечь из них уроки.
Как вычислить «джуна»
Младшие разработчики неопытны: иногда это выпускники, которые только начинают работать на полную ставку. В их голове основная задача — заставить код работать. Если приложение работает — значит, оно хорошее.
Писать простой код — это сложная задача. И младшие разработчики этого делать не умеют: обычно код у них довольно своеобразный. Узнать их можно по причудливым однострочникам и чрезмерно сложным абстракциям — так «джуны» стремятся показать себя и пытаются дать понять другим, насколько хорошо они умеют программировать. Но это неверный подход.
Младшие разработчики сосредотачиваются на «компьютерной» части кода, упуская из виду «человеческую».
Как пишут код «сеньоры»
Глядя на код старшего разработчика, можно подумать: и это всё? А где остальное? Достаточно опытный разработчик пишет простой, понятный и, возможно, местами даже чересчур прямолинейный код — и это одно из самых важных качеств, если говорить о программировании. «Сеньор» следует принципу KISS, гласящему, что код должен быть простым и понятным: «Keep it simple, stupid»
Поэтому у старшего разработчика совершенно другой подход к написанию кода: он учитывает удобство дальнейшей поддержки и масштабируемость. Это совершенно не похоже на мышление младшего разработчика: «сеньор» думает о тех, кто будет работать с кодом, а «джуну» важно в первую очередь заставить код работать.
Не программированием единым
Помимо навыков программирования, есть и другие факторы, которые могут подсказать, что за разработчик перед вами.
Младшие разработчики, как правило, выполняют самые простые и не самые важные задачи; они не занимаются разработкой архитектуры. Разработчики среднего уровня тоже не разрабатывают решения, а просто выполняют задачи, однако их меньше контролируют — если задание довольно типовое. А вот «сеньоры» могут разработать приложение совершенно самостоятельно.
Это не значит, что у старшего разработчика по ходу дела не возникает вопросов: у любого из нас каждый день появляется множество вопросов, и «сеньоры» тут не исключение.
Разница в том, что последние знают, как задавать правильные вопросы и что делать с полученными ответами. Менее опытные разработчики могут задавать правильные вопросы, если речь идет о привычных им задачах, но в более сложных случаях им приходится обращаться за помощью.
Старший разработчик никогда не теряется и знает, как правильно действовать, получив ответ на вопрос. Это не значит, что он не будет просить совета у других — иногда лучшим решением бывает именно обратиться за помощью к тем, кто имеет больше опыта в данной области.
Разработчик среднего уровня также должен уметь задавать правильные вопросы, если только это не очень сложные задачи, требующие глубокого уровня знаний.
А вот в случае «джунов» не следует ожидать, что они смогут задавать нужные вопросы: у них недостаточно практики, поэтому ими должны руководить более опытные коллеги. Младшего разработчика следует обеспечить необходимыми ресурсами или хорошенько подтолкнуть в правильном направлении.
Переход на следующий уровень
Мы все хотим совершенствоваться, в том числе профессионально. Но какие шаги можно предпринять, чтобы перейти на следующий уровень?
От «джуна» — к «мидлу»
Начинающие разработчики не обладают богатым опытом, поэтому важно хотя бы пару раз пройти весь цикл разработки — таким образом вы сможете встретить на своем пути множество ловушек и научитесь их избегать.
Что касается программирования — следует научиться писать простой код: представьте, что после вас над проектом будет работать другой человек. Кроме того, придется научиться заниматься отладкой — это углубит понимание того, что происходит во время работы программы.
Также необходимо ознакомиться с лучшими методиками и побольше узнать об архитектуре, производительности, безопасности и т. д. Закройте пробел в знаниях, отделяющий вас от среднего уровня.
От «мидла» — к «сеньору»
Разработчикам среднего уровня подняться выше может быть довольно сложно: некоторые остаются на этом уровне всю свою карьеру.
Старший разработчик знает, в каких случаях можно пойти на компромисс, и когда этого делать ни в коем случае нельзя — потому что он успел проверить это на собственном горьком опыте.
Чтобы перейти на уровень «сеньора», нужно быть готовым к выполнению задач, за которые никто понятия не имеет, как браться. Нужно знать и уметь больше, чем просто делать свою работу.
Кроме того, как старший разработчик вы должны помогать менее опытным: вы для остальных — спасательный круг, за который можно ухватиться, когда не знаешь, как что-то сделать.
В свете этого неудивительно, что «сеньоры» полностью владеют своим техническим стеком. Нужно не просто уметь программировать, а знать все инструменты и приложения, которые используются в нанявшей вас компании.
Заключение
Разница между «джуном», «мидлом» и «сеньором» заключается не только в многолетнем опыте. Да, можно с уверенностью сказать, что у последнего навыки гораздо более развиты, чем у разработчиков младшего и среднего уровня. Но знание — не самый важный фактор.
Опытные разработчики пишут более простой код и подходят к этому иначе. Но кроме того, чтобы уметь программировать, очень важно также знать, какие вопросы задавать и что делать с полученными ответами. Именно старший разработчик — тот человек, чей богатый опыт позволяет не растеряться и в любой ситуации найти решение.
«Джуну», чтобы расти дальше, нужно постараться научиться писать простой код и пройти через несколько полных циклов разработки. Чтобы подняться выше среднего уровня, нужно сосредоточиться на изучении чего-то большего, чем просто рутинные задачи по исправлению ошибок. Вы должны быть готовы брать на себя самые сложные задачи и полностью овладеть своим техническим стеком. Еще одна обязанность старшего разработчика — выручать менее опытных.
Напоследок процитирую Мартина Фаулера:
«Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку»
Перевод статьи выполнен в Alconost.
Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.
Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.