Обучение
Когда можно назвать себя Senior разработчиком?
Опыт является обязательным требованием для каждого senior разработчика. Но сам по себе опыт не делает вас главным. Так в чем секрет?
Опыт является обязательным требованием для каждого senior разработчика. Но сам по себе опыт не делает вас главным.
Так в чем секрет? Это сложный вопрос, и, вероятно, на него нет единственного правильного ответа. Часто разработчики считают себя senior разработчиками, но им не хватает некоторых атрибутов.
Недавно в ходе собеседования я встретился с 22-летним разработчиком, который утверждал, что является senior-ом. Он был хорош, но я не думаю, что у него были все необходимые качества.
Я пожелал ему удачи, но не смог нанять его.
Но меня поразил один вопрос. Как вы бы определили senior или junior разработчика? Когда junior становится senior?
Вряд ли однажды утром разработчик просыпается и просто становится главным. Всем нужно знать, где вы находитесь на карьерной лестнице и как развиваться.
Между младшим и старшим разработчиком нет тонкой границы
Я спросил нескольких разработчиков, которые работают в отрасли более 10 лет. И получил много ответов. Ведь это нормально? Не может быть единственного ответа. Я так думаю.
Честно говоря, многие компании при приеме на работу имеют разные определения senior программистов. Некоторые компании думают, что через пять лет разработчик становится старшим. Некоторые думают, что на это уходит восемь-десять лет.
Я считаю, что нужно время, чтобы развиться от младшего к старшему. Тем не менее, мы не можем указать точный период времени, в течение которого младшие разработчики автоматически становятся старшими.
После разговора с разработчиками, имеющими опыт работы десять или более лет, и часа поиска в Google, я получил несколько общих ответов. Поговорим о них.
Различие между junior и senior разработчиком
У большинства senior разработчиков есть некоторые общие черты, но не стоит относиться к ним слишком серьезно. Это не значит, что если вы пропустите один из этих атрибутов, вы не попадете в высшую лигу. Но чтобы стать старшим разработчиком, важно обладать совокупностью этих качеств.
Смотрите за пределы программирования
Большинство программистов не могут многое сказать или предсказать о проекте в начале своей карьеры. Но старшие программисты могут многое рассказать о проекте с самого начала. Они смогут сказать, насколько это сложно, какой стек технологий подойдет для проекта и т.д.
Старшие программисты могут видеть будущее и действовать до того, как возникнут какие-либо проблемы.
Принятие важных решений
Принятие важных решений в начале или середине проекта — важное качество старшего программиста.
Senior программисты могут адаптировать технические решения к потребностям бизнеса. Ни одна компания не платит так много только за программирование. Старшие программисты знают бизнес и помогают компаниям его развивать.
Опыт, конечно
Когда я был junior программистом, я выбрал Firebase в качестве backend системы для нашего стартапа. Но со временем мы поняли, что Firebase не подходит для нашего проекта.
В этом разница между старшим и младшим программистом. Старшие программисты знают, какие стеки технологий для каких проектов подходят.
Некоторые качества и атрибуты приходят только с опытом, который есть у старших разработчиков. Я не говорю, что один только опыт делает вас старшим разработчиком, но он необходим.
Лидерские и коммуникативные навыки
На мой взгляд, когда программист начинает наставлять и направлять junior разработчиков, он начинает превращаться в старшего.
Коммуникативные навыки здесь также являются важным атрибутом. Разработка программного обеспечения — это совместная работа. Старшим разработчикам нужно выстроить всех для достижения одной и той же цели, что требует множества компромиссов.
Они разбираются в офисной политике и знают, как с ней работать.
Старшие программисты знают то, чего не знают
Junior программисты почти ничего не знают. Даже senior разработчики не знают всего. Но младшие программисты не знают того, чего не знают. В этом большая разница между младшим и старшим разработчиками.
Старшие программисты знают то, чего не знают, но знают, как выполнить задачу.
Младшие программисты не знают собственных слабостей. Эта способность делает senior программиста эффективным программистом-одиночкой.
Знания против глубоких знаний
Знания — это первое необходимое качество, чтобы стать руководителем в любой области, верно? Но сами по себе знания не сделают вас senior-ом. Изучение пяти новых языков программирования — это не качество.
Скорее, ключом к успеху является глубокое знание технологии. Вы можете легко понять это с помощью одной простой техники: попробуйте научить этому кого-нибудь. Тогда вы сможете определить разрыв между знаниями, которые у вас есть, и тем, что вам нужно.
Еще один замечательный совет дает Майк Льюис, один из многих разработчиков и экспертов по программированию, которые внесли свой вклад в работу Кевлина Хенни «97 вещей, которые должен знать каждый программист»:
Не бойтесь ломать вещи
Идея сломать что-то может показаться непрактичной — ни один профессионал не хочет в конечном итоге усугублять ситуацию, не говоря уже о программисте. Но если вы готовы что-то сломать, вы в конечном итоге получите лучший код и узнаете что-то более глубоко.
Итак, если вы хотите стать старшим разработчиком раньше, вы должны потреблять знания лучше, чем другие.
Заключение
Если вас уважают и хорошо платят, должности — просто слова. Часто компании добавляют титулы без необходимости, просто чтобы угодить сотрудникам. Но это не помогает им в долгосрочной перспективе и часто порождает ненужные ожидания.
Однажды я собеседовал замечательного молодого разработчика, который не присоединился бы к компании, если бы мы не дали ему звание senior разработчика, потому что таким он был на прежней должности. Но я не мог дать ему это, потому что это было бы несправедливо по отношению к уже работающим моим старшим разработчикам.
Независимо от того, станем ли мы senior разработчиками или нет, хотим ли мы таких званий или нет, мы должны стараться достичь качеств старшего разработчика. Разве не так?
-
Видео и подкасты для разработчиков1 месяц назад
Lua – идеальный встраиваемый язык
-
Новости1 месяц назад
Poolside, занимающийся ИИ-программированием, привлек $500 млн
-
Новости1 месяц назад
Видео и подкасты о мобильной разработке 2024.40
-
Новости1 месяц назад
Видео и подкасты о мобильной разработке 2024.41