Когда вы должны называть себя старшим разработчиком? [Дубликат]

  

Возможный дубликат:
В чем разница между начальными уровнями /разработчиками Jr /Sr?

Мне любопытно, что означает старший разработчик, потому что, по-видимому, это определение не означает, что я думал. Я продолжаю видеть этих подростков в возрасте 22-23 лет, которые называют себя старшим разработчиком X или старшим разработчиком Y. Для меня старший должен иметь 10 лет опыта программирования, чтобы назвать себя «старшим». Я видел здесь много таких подростков (отсюда и вопрос). Я ошибаюсь? Почему?

264 голоса | спросил 7 revs, 3 users 63%
unknown
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

19 ответов


388

Вы можете называть себя Старшим, когда:

  • Вы можете обрабатывать весь жизненный цикл разработки программного обеспечения, от конца до конца.
  • Вы руководите другими, или другие смотрят на вас для руководства.
  • Вы можете самостоятельно управлять своими проектами.

Разработка программного обеспечения - это любопытное существо, в отличие от других полей.

  

Иногда, свежий панк из колледжа может запускать круги вокруг ветеранов, которые имеют более 20 лет опыта. Программирование - странный мир, где код короля .

Некоторые достигают вышеуказанного за 2 года или меньше, другие - 10 лет.

ответил 19 PM00000060000001231 2011, 18:27:12
201

Когда я слышу «старший разработчик», я думаю о ком-то, кто освоил программирование. Я думаю о человеке, который может проектировать, кодировать и тестировать систему. Они могут разговаривать с архитектурой системы или дизайном компонентов. Они понимают и используют шаблоны проектирования. Этот человек может предвидеть узкие места в производительности, но не знает, чтобы предварительно оптимизировать. При необходимости этот человек будет использовать асинхронное программирование, организацию очередей, кеширование, протоколирование, безопасность и постоянство. Когда их спросят, они могут дать подробное объяснение своего выбора и плюсы и минусы. В большинстве случаев они осваивают объектно-ориентированное программирование и дизайн, это не абсолютные другие языки, такие как Javascript, F #, Scheme являются мощными и не являются объектно-ориентированными. Они хорошо разбираются в управлении рисками и, что самое главное, они могут сообщать ранее упомянутым своим сверстникам.

Что такое мастерство? Существует общепринятая идея, что для овладевания ЛЮБОГО одного навыка требуется 10 000 часов повторения для человеческого тела и ума, чтобы понять и усвоить умение. Это подробно написано в книге Малькольма ГладВелла Отклонения . Когда первоначальный автор говорил об освоении поля, он ссылался на достижение вершины высококонкурентной области, заняв 10 000 часов.

Некоторые примеры в Malcolm GladWell's Outliers:

Моцарт свой первый концерт в молодом возрасте 21 года. Сначала это кажется молодым, но он писал музыку с 11 лет.

Битлз изначально избегали. Им сказали, что у них нет горчицы, и следует рассмотреть другую работу. Они проводят 3 года в Германии, играя около 1200 раз в разных местах, каждый раз от 5 до 8 часов в длину. Они вновь появились как «Битлз», которые мы знаем и любим сегодня.

И, наконец, Билл Гейтс в возрасте 20 лет выбыл из Гарварда, чтобы найти Microsoft. Некоторым это может показаться глупым, но в 20 лет он провел почти половину своей молодой жизни. В 1975 году только 50 человек в мире имели опыт, который он сделал. Его опыт дал ему предвидение, чтобы увидеть будущее в Microsoft.

Питер Норвиг также обсуждает правило в 10 000 часов в своем эссе: Обучение программированию через десять лет â €.

В книге Мастерство Джорджа Леонарда дается подробная информация о том, как освоить навык. Нужно постоянно практиковать навык. Чем больше повторений, тем больше вы осознаете различия в каждом повторении. Только с этим пониманием вы можете стать лучше.

Названия программной индустрии (Junior, Mid-Level и Seniors) вводят в заблуждение и непоследовательны от организации к организации. Я работал с компаниями, которые определили старшего разработчика как человека с 5-летним опытом. Нет никакого упоминания о качестве опыта, просто они сидели перед компьютером в течение 5 лет. Работая с этими людьми, многие из них еще не понимали объектно-ориентированного программирования, но они считались старшими разработчиками.

Должен быть более объективный способ измерить набор навыков инженера-программиста. John Haugeland опубликовал матрицу навыков программиста. Itâ € ™ s объективный способ измерения умение программиста уровень , который в противном случае остается ощущением кишки.

При взгляде на инженеров-программистов я вижу 4 уровня навыков: Luminary, Senior, Mid-Level и Junior.

Luminary (10+ лет) - это тот, кто овладел навыком и приступил к улучшению своей дисциплины. Некоторые примеры включают: Тед Ньюард , Дядя Боб Мартин , Дональд Кнут, Орен Эйни , Питер Норвиг , Линус Торвальдс. Светильники меняются в зависимости от вашего набора навыков.

Старший (от 7 до 10+ лет, уровень 3) - это тот, кто провел последние 10 000 часов программирования в определенном жанре. Существует сильное понимание шаблонов проектирования. В случае необходимости они используют асинхронное программирование, очередность, кеширование, протоколирование, безопасность и постоянство.

Очень возможно, что Старший никогда не достигнет Luminary. Светильники часто встречаются в разговорах и письмах. Они активно пытаются повлиять на свою дисциплину.

Средний уровень (от 4 до 6 лет, уровень 2) - это тот, кто понимает повседневное программирование. Они работают независимо и создают надежные решения. Однако им еще предстоит испытатьсоздание или поддержание больших или сложных систем. В целом разработчики среднего уровня отлично справляются с развитием уровня компонента.

Junior (от 1 до 3 лет, уровень 1) - это тот, кто понимает основы программирования. У них либо есть степень в области разработки программного обеспечения, либо в области информатики, либо они учатся самостоятельно. Их код постоянно пересматривается. Дается руководство в отношении алгоритмов, ремонтопригодности и структуры.

ответил 19 PM00000060000001231 2011, 18:27:12
104

«Когда вы должны называть себя старшим разработчиком?» - Когда я начал наставлять младших разработчиков.

ответил 19 PM00000060000001231 2011, 18:27:12
21

Я заметил ту же тенденцию. Один из вопросов на днях был посвящен старшему разработчику с 2-3-летним опытом перехода к архитектору.

Вы можете вызвать дерево дерева, но это не изменит его.

Единственный логический вывод заключается в том, что «старший» означает что-то еще:

  • относительный ранг, как в «старшем для парня, просто из колледжа».
  • бедные испанские заклинатели, т. е. они хотели поставить seà ± или
  • южное правописание, как в «старшей прикладе-трещине, подтяните их штаны».

В наши дни это просто название должности , и может или не сказать ничего об относительном опыте отрасли.

ответил 19 PM00000060000001231 2011, 18:27:12
19

Я думаю, лучший ответ был дано Darknight .

Я чувствую необходимость указать на следующее.

Опыт программирования 2-3 лет (работающий + личный) недостаточно, чтобы один из них видел достаточное количество проектов и имел дело с достаточным количеством проблем. Просто не сработает. Вам нужно время, чтобы вещи проходили через вашу голову, чтобы отразить ваш опыт и мысленно перейти к более высокому уровню мышления. Не происходит в одночасье.

Я бы сказал, что в течение 5-7 лет практики (опять же работая + личная) чудо не следует ожидать. Можно получить большой опыт работы с определенными языками и фреймворками, но пока не перейти на новый уровень мышления.

Другое дело - общая зрелость человека. По-моему, это приближается к 30 годам. До этого наш мозг может работать с более высокой тактовой частотой, но это будет обработка мусора, потому что в нем недостаточно данных, чтобы увидеть большую картину. Наш общий жизненный опыт добавляет что-то тонкое, но реальное, к тому, как мы думаем и работаем, поэтому для программирования также как и еще одна работа.

Мое личное принятие старшего: кто-то по крайней мере 27 y.o. с не менее 7 лет практики . До этого я лично был бы настроен скептически (но все же непредвзято, это просто потребует больше доказательств для меня).

ответил 19 PM00000060000001231 2011, 18:27:12
16

вам не хватает точки.

Стартер ничего не значит. Юниор ничего не значит. Заголовки ничего не значат. Мое название - помощник директора по бизнес-системам. Мои обязанности - управлять всеми вещами ИТ-отделами в разработке программного обеспечения для дома, чтобы обеспечить инфраструктуру посредством безопасности через веб-сайты клиентов. Мой опыт разработки программного обеспечения - самообучение. Мой опыт работы в сети - самообучение. Мои общие кабаки в области ИТ - хуже ваших.

Моя способность управлять и направлять - дискуссионная, но мой характер и личность заставили меня работать и сделали меня успешным.

Титулы означают, что никакие способности и усилия не означает все. Я не самый лучший - и поверить, что это было бы самонадеянно.

Забудьте о зависании заголовков и подтвердите свою ценность!

ответил 19 PM00000060000001231 2011, 18:27:12
12

Когда вы наставляли многих и больше всего поблагодарили вас за это несколько лет спустя после того, как вы сначала не согласны с вами, не стесняйтесь добавлять «Senior» к любому названию, которое вы можете дать.

До тех пор «свинец», вероятно, более описательный термин.

Для меня термин «старший» означает кульминацию практического опыта и мудрости при работе с людьми и их произвольных ожиданиях. Учитывайте этот сценарий:

16 программистов в команде, каждый из которых имеет ровно 1 год больше опыта, чем остальные. Это означает, что 16-й программист имеет более чем 16-летний опыт. Восемь из наиболее опытных членов трагически погибают, когда в магазин входит шина. Будет ли парень с половиной опыта теперь считаться старшим разработчиком? Надеюсь, что нет, я надеюсь, что компания быстро заменит пустоты людьми одинакового или более высокого качества, чем они просто потеряли.

Мне не нравится приводить термин « подмастерье » в программирование, но некоторые из них применимы. Термин «старший» - это не то, что я передал бы кому-либо с опытом менее 15 лет, потому что он выходит за рамки технических знаний.

ответил 19 PM00000060000001231 2011, 18:27:12
9

Недавно у Мартина Фаулера появилось хорошее сообщение в блоге. Вещи, которые я отнял у него, следующие:

  • Это не имеет никакого отношения к тому, как долго вы работаете на кого-то. Вы работаете уже три года и становитесь старшим разработчиком. Что происходит через шесть лет? Стал ли вы старшим старшим разработчиком?

  • Старшие разработчики не смотрят на вас сверху вниз и не думают, что они лучше вас. Это очень важно. Как только вы позволите своему эго встать на вашем пути, у вас проблемы.

  • Старшие разработчики не передают вину. Они предвосхищают проблемы, и они обращаются к ним в позитивном ключе.

  • Люди хотят работать со старшими разработчиками. Это ключ для меня. Я хочу, чтобы люди работали со мной, и я хочу, чтобы они наслаждались работой со мной.

  • Старшие разработчики - не самые умные инженеры. Они не работают над самыми сложными проблемами. Их набор навыков - это не только программирование. Их коммуникативные навыки играют не менее важную роль.

  • Старшие разработчики хорошо оценивают.

  • Старшие разработчики всегда заботятся о том, что они делают. Они понимают, что скучные задачи должны быть доведены до того же качества, что и любые другие, потенциально более интересные задачи.

Просто для уточнения

Навыки, которые я перечислил выше, - это то, что я считаю, что хороший старший инженер-программист должен обладать в дополнение к фундаментальным навыкам и практике разработки программного обеспечения.

ответил 19 PM00000060000001231 2011, 18:27:12
6

Я считаю этот титул «младшего /старшего разработчика» неправильным и вводящим в заблуждение, потому что для этого нет реальной единицы измерения. Мы все разработчики программного обеспечения с меньшим или большим практическим опытом. Не пытайтесь создать иерархию для разработчиков программного обеспечения, нет никакого смысла, и это может нанести вред основному фокусу: команда разработчиков большого программного обеспечения.

ответил 19 PM00000060000001231 2011, 18:27:12
5

Когда вы оглядываетесь назад на свою предыдущую работу и понимаете, что это за дерьмо. И вы понимаете, что вы стали лучше, но есть много миль, и это обучение навсегда.

ответил 19 PM00000060000001231 2011, 18:27:12
3

Иногда я смотрю на другие профессии и задаюсь вопросом, почему программное обеспечение не стандартизирует себя. Для этого вопроса было бы бесполезно, потому что для получения определенных уровней был бы принятый стандарт. Затем я пришел к осознанию: «Кто умер и оставил их царем?»

Мы все знаем, что опыт, образование, сертификаты и титулы - для всех остальных, чтобы получить очень простой взгляд на способность программистов. Вы либо знаете, что делаете, либо нет. Вы можете либо почувствовать запах своего вида, либо не можете.

ответил 19 PM00000060000001231 2011, 18:27:12
3

«WHAAAT .... UNIT TEST !!!! Я старший программист ... Мне больше не нужно проверять мой код»

Слышал это раньше .... Таким образом, он позволяет «Юниорам» исправить свои ошибки и протестировать его.

«Мы собираемся нанять архитектора ... нет, не г-н Х, мы хотим, чтобы кто-то намного старше, кто-то, кто больше не кодирует»

позже в интервью :

  • , с какими языками программирования вы знакомы?

  • ahem ... Я использовал COBOL и FORTRAN, но теперь в основном это MS Word, Excel и Powerpoint.

  • Отлично ... когда вы можете начать?

На самом деле старший - это просто вопрос перспективы, название, как, скажем, Стивен. Тем не менее, я хотел бы сказать, что в конце концов это код, который вы пишете, но, к сожалению, во многих случаях костюм и галстук оказывают большее влияние, особенно когда вы больше не измеряетесь конкретными достижениями (кодом), но как хорошо вы убедите иерархию своей важности.

ответил 19 PM00000060000001231 2011, 18:27:12
2

Я видел несколько вакансий, которые недавно искали выпускника CS с менее чем годам опыта. Это кажется мне безумным, даже если это просто титул. Во-первых, это предполагает орошение названия. Я уверен, что у парных компаний, которых я видел с этими сообщениями, есть еще один титул «супер-старший», чтобы обозначить настоящих старших. Я полагаю, это не плохая стратегия найма. Title isnâ € ™ t все, но при прочих равных условиях между двумя рабочими местами, я бы, вероятно, взял тот, у кого был главный титул разработчика.

Точка, когда «главный главный разработчик» (или что-то еще такое высокое положение, «старший» или иначе) на самом деле оправдано, хотя сложно определить. Я не думаю, что мы можем слишком объективно оценивать его. Как грубая формула, я бы сказал, что их следует называть старшими, если они, как правило, лучшие в комнате, и в комнате есть как минимум 8 профессиональных разработчиков. Это предполагает, что старший находится в 87-м процентиле как минимум. Хотя я бы сказал, что эти разработчики, вероятно, будут теми, у кого больше опыта, я бы определенно не сказал, что опыт == «старший» или даже близко. В то же время, хотя я скептически отношусь к тому, что число истинных старших с менее чем 7-8 годами должно быть чрезвычайно маленьким, для кого-то с меньшим, чем это, не является мастером.

Будучи 22, я, конечно, попадаю в «маловероятную категорию». Хотя я занимаюсь некоторыми из этих «10 (или 30) лет 1 года опыта», и я искренне склонен думать, что лучше, я стараюсь помнить, что эти люди, даже если они поставили нулевые усилия на протяжении десятилетий продвигаясь к обучению, по-прежнему, вероятно, получили больше знаний, чем я, по широкому кругу предметов с помощью чистого осмоса. Я просто не знаю, как много о жизненном цикле проекта. Я работаю с одним человеком, чей проект старше меня! Мне было бы довольно самонадеянно думать, что я знаю больше о том, как поддерживать проект такого масштаба, чем он.

Другая вещь, о которой нужно помнить, - это если вы начнете называть себя старшим в возрасте 22 лет, что вы будете в 32? Это немного вредно для вашего будущего, чтобы предположить, что вы уже на вершине. Многие люди смотрят на правило в 10 000 часов, чтобы определить, кто-то эксперт. В книге Malcom Gladwell, в которой предлагается идея, очень ясно, что эксперты не просто лучшие, но они выполняют определенную роль. Новички никоим образом не худшие, но это описание метода даже больше, чем способность. Новички могут быстро научиться дурацким вещам, но часто испытывают проблемы с тем, чтобы делать некоторые из самых распространенных вещей так быстро, как тот, кто является экспертом. Эксперты могут делать обычные вещи с предельной точностью и скоростью и знать, какие вещи искать, которые могут обозначать проблемы, но часто имеют проблемы с реагированием на изменение или изучение предметов, находящихся за пределами их зоны комфорта. Имея это в виду, я даже не хочу быть экспертом. Я хотел бы впитать столько новой информации, сколько смогу, до тех пор, пока я могу, прежде чем окунуться в стабильный домен.

ответил 19 PM00000060000001231 2011, 18:27:12
1

10 лет ?? Ты должно быть шутишь. Хорошо, как вы определяете 10 лет? Скажем, кто-то начал программировать в возрасте 15 лет, но стал профессиональным в 25 лет?

Промышленность не работает именно так. Я думаю, что разные компании позволяют людям назвать их старшим Dev X или Y в любое время между 5-8 годами. Многие из стажа в Организации не обладают способностью в одиночку, она имеет много общего с инициативой, которую принимает человек, и теми обязанностями, которые он хочет поделиться. В большинстве случаев люди с разумным умением и сильной мотивацией становятся старшими профессионалами.

BTW 22 года не подросток; -)

ответил 19 PM00000060000001231 2011, 18:27:12
1

Это может иметь какое-то отношение к деньгам.

Некоторые компании следуют установленному тарифному плану. Они не могут поставить вас в центр лестницы «Разработчик» из-за некоторых заданных правил. Но они могут поставить вас в нижней части лестницы «Senior Developer».

Лично мне кажется странным, что человеку присваивается титул высшего звания прямо из колледжа, а с другой стороны - кому это нужно? Я был «разработчиком» уже около десяти лет, и хотя я получил титул «старшего», когда меняю рабочее место, это ничего не значит. Я по-прежнему буду новичком в новом домене - по крайней мере на некоторое время ...

ответил 19 PM00000060000001231 2011, 18:27:12
1

Когда другие звонят вам старшим разработчиком. Нет никакого определения. Его изменения от компании к компании. В хорошо зарекомендовавшей компании новичкам дают меньше работы, и их кривая обучения медленная. В стартовой компании свежее может взять на себя множество обязанностей и многое узнать за меньшее время. Я испытал эту первую руку. К сожалению, только другие опытные люди могут рассчитать глубину ваших знаний, взглянув на качество вашего кода или работу. И я уверен, что каждый получит свой титул, когда их время закончится.
И если вы не измените компанию. : -)

ответил 19 PM00000060000001231 2011, 18:27:12
1

Это название, как и многие другие. У этих «подростков» здесь может быть даже кандидат наук, что не обязательно означает ничего. Но это явно даст им более высокую зарплату. То же самое касается старшего разработчика или старшего архитектора. Или старший менеджер проекта и т. Д.

Учитывая этот факт, лучше быть названным «нашим старшим разработчиком» вашими коллегами, вместо того, чтобы добавлять этот титул к своей собственной карточке после любого многолетнего опыта, что я сделал, когда у меня была такая возможность. : -)

Кроме этого, я бы сказал, что 10 лет - это минимум (включая образование в колледже или другое образование).

ответил 19 PM00000060000001231 2011, 18:27:12
1

В первый раз вы получаете работу, основанную, по крайней мере, на одном сеансе интервью, который не является «классическим техническим интервью» в природе (т. е. говорить об архитектуре, концепциях, дизайне, представлении о компании, опыте и т. д.)

Мой (ограниченный) опыт заключается в том, что младшие разработчики обычно получают наем, основанный исключительно на производительности в стандартной батарее вопросов интервью, а старшие - на основе других взаимодействий.

ответил 19 PM00000060000001231 2011, 18:27:12
-1

Возраст - это просто число; молодой ребенок становится более умным и _incert number лет опытным программистом просто становится старым ... В настоящее время kiddo умеет писать более чистые, лучшие, быстрые коды. Старый приятель может просто ревновать.

ответил 19 PM00000060000001231 2011, 18:27:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132