Как стать автором
Обновить

Комментарии 206

в копилку
Израиль, синьором считают (действительно много, с обоих сторон) человек проработавший 6 лет.
АД
На самом деле синьором можно стать вообще в любом возрасте, если убить аналогичное синьору количество монстров (вместо участия в бесполезных митингах и самолюбования). Но это сложно. Это работать надо.

Правило 10000 часов никто не отменял. Синьорами программисты начинают себя считать начиная с 3х лет опыта работы. На самом деле этим программистам понадобится проработать хотя бы 10 лет, чтобы действительно стать синьором. И все это время читать, изучать и не застревать в одном и том-же болоте. И вот тогда будет синьор.


Дело конечно же не только в количестве лет, а в их качестве. Но нужно потратить очень много лет чтобы изучить весь тот корпус знаний, который нужно знать. Кроме того нужно ещё и мозги натренировать. То есть нужно чтобы нейронные связи в голове перестроились под решение программерских задач, под аналитику и принятие правильных решений.


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


Программисту тоже нужно 10 лет тренировать мозг, чтобы успешно распознавать проблемы, быстро и эффективно усваивать информацию, отсеивать ненужный маркетинговый шум и т.п. То есть определяющий фактор это скорость формирования нейронных связей в голове, а это за 3 года не делается.

Ну то есть как я и говорил — работать надо. А это сложно :)

То есть определяющий фактор это скорость формирования нейронных связей в голове, а это за 3 года не делается.
Тут есть, как бы, две правды. За 3 года это действительно не делается… делается лет за 10. Но если человек начал где-то в 7-8м классе — то через пару лет после окончания универа у него и будет уже 10 лет опыта.

Хотя формального опыта у него, к этому моменту — меньше трёх лет.

В 8ом классе он начал писать продуктовый код и зарабатывать этим деньги? Решать проблемы в продакшене? :)
Начать учиться разработке в 8 классе это в целом неплохо, не особо рано, но допустимо. Чтобы к второму курсу найти работу джуном part time, а к выпуску иметь неплохое представление о разработке. И вот с этого момента начнется отсчёт десяти лет :)

Деньги платят даже за CRUDы по 10 штук в сутки, это не показатель.
И задачи на продакшне не всегда сложные, хватит преувеличивать. Самому себе можно придумать задачи посложнее.

Напишите обращение матрицы по Гауссу и это будет сложнее, чем 90% задач на проекте средней сложности.
Синьёрность измеряется не только и не столько в сложных алгоритмах. У больших компаний есть неплохое описание уровней, например в Microsoft. Очень примерно это звучит так: уровень работника зависит от сферы его влияния. Джуниор/миддл работает в рамках своей задачи, части небольшого проекта. Синьор работает в рамках целого проекта, он принимает решения в соответствии с целями проекта и пытается двигать его вперёд, а также свою комнаду. Более высокие уровни оказывают влияние на соседние проекты и целые направления бизнеса. И это не значит, что они становятся менеджерами и отдают указания. Можно написать очень крутой алгоритм сжатия данных и использовать его в своей задачке или проекте и всё — это не синьор поведение, хотя алгоритм может быть супер сложным и идеальным кодом. А вот суметь объяснить соседним командам, а может и всему миру, что твой алгоритм лучше, продвинуть его и изменить подходы к сжатию данных — это синьор поведение.
Это невозможно прочитать в книжке, к этому приходят только с практическим опытом. Нужно работать на проектах, создавать новые вещи, общаться. Конечно же гениальный человек может это сделать быстрее, чем за 10 лет. Но есть также огромное количество людей, которые не делают ничего такого и за всю жизнь, потому что нужно оторвать зад с дивана и начать делать больше, чем от тебя требуется в задачке из таск трекера, больше чем от тебя требует твой босс зануда. А чтобы знать, что именно делать, нужно интересоваться, тем что происходит в мире, тем чем занята твоя компания, зачем она это делает и так далее
Очень примерно это звучит так: уровень работника зависит от сферы его влияния

По этому показателю автор — вполне может быть сеньором. Ну и что, что он не пишет свою крутую реализацию фреймворка? Если он предложил к использованию библиотеку, помог с внедрением и обучил коллег — это уровень сеньора? Вроде бы да, и тогда зря он себя ругает :)


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


И лично я не понимаю, где проходит граница между (тим/тех)лидом и сеньором, который двигает вперед проект и команду
Починить тесты (часть выбросить) и настроить CI, добившись от команды пушить только код, проходящий тесты — это уровень сеньора или нет?
Написать автотесты на Селениуме, когда их не было, облегчив жизнь тестерам; организовать переход с Java7 на современные версии, поборов проблемы; выделить из монолита сервис(ы), который нужен не только текущей команде, но и паре "соседей". Все это задачи, для которых технического навыка может хватить уровня copy-past со Stackoverflow, но навык взаимодействия с людьми существеннен и без него "не взлетит".
И лично я не знаю — это уровень среднего сеньора, или сеньора, претендующего на техлида? А может, чем-то должен заниматься архитектор и кто-то зря думает, что он "средний сеньор"?

Напишите обращение матрицы по Гауссу и это будет сложнее, чем 90% задач на проекте средней сложности.

Наивно или чтобы вычисления были устойчивы?

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Не получится. Чуть выше же написали: сеньор должен общаться с людьми и делать проекты, которые захватывают многих.

Если вы, к выпуску из института, освоили плюс-минус технические вопросы так, чтобы занятьсы уже и организацией команды — за три года вы можете этому научиться и без 80 часов в неделю. А если вы будет осваивать и то и другое одновременно — то 80 часов не помогут: даже если вы готовы работать 80 часов в неделю, то нафига всем остальным, кто не пытается стать сеньором, это делать?
У меня старший за 3 года выбился в сеньоры. Так что да, возможно…
Получить тайтл сеньора и стать сеньором — не одно и то же. Вся статья об этом. Меня начальник сеньором на публику величал в одной компании, когда у меня и двух лет опыта не было. Это не значит, что я им был.
А я у меня первая работа после универа была с титлом «ведущий инженер»(тоже, в принципе)
Это говорит о том, что я был супер-крут? неа, только о том, что мог решать задачи(мидл уровень).
Ну, так и я знал ведущего программиста в ВУЗе, не знавшего ни одного языка программирования))) Просто на должности лаборанта зарплата маленькая.

Зачем отменять правило 10000 часов, если оно никогда не было верным?

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


Одно только потраченное время не является достаточным условием.
И необходимым оно тоже не является.
Комбинация вложенного времени, усилий и правильности делаемого — вот это уже "да".

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

Для этого совсем не обязательно тратить 10к часов, можно справиться и за 10 секунд

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

Не на каждой работе нужно построить систему.
Или синьоры рождаются исключительно в стартапах?

AFAIK, не очень связано со стажем.
В Израиле 3-4к уже джуниору платят, если что.
и?
а синьору 10+
а в штатах еще больше

при чем тут уровень оплаты
тут больше разговор про уровни в целом
extiander Надеюсь вы читали начало статьи. Там было описано что человек решил что он сеньор получив ЗП сопоставимую джуниорской на глобальном рынке.
Выше возразили — сеньор это около 10 лет в индустрии. Но вы правильно отметили, действительно хотите такого сеньора — готовьте от 10к в месяц.
НЛО прилетело и опубликовало эту надпись здесь
Проблема синдрома обманщика в том, что он про «я притворяюсь программистом». А тут кейс «я дерьмовый программист, но притворяюсь хорошим»
Это про синдром самозванца сейчас, или что-то другое?
Всегда думал, что синдром самозванца это когда ты умеешь делать что-то, но сам считаешь что делаешь это недостаточно круто и чувствуешь себя самозванцем.
А тут обратная сторона медали — ты вроде как ничерта и не умеешь, но считаешь что умеешь.
«ты вроде как ничерта и не умеешь, но считаешь что умеешь» это был бы эффект Даннинга-Крюгера. Но тут это не тот случай, при ДК — ты также не можешь оценить высокий уровень умения других, а он может. Так же он четко осознает уровень своей некомпетентности, что не подпадает под ДК.
Т.е. скоее это все таки синдром самозванца. Он мучается от того, что получает выше своих заслуг. Хотя вопреки его личному убеждению есть указатели на то что на самом деле очень смышленый и перспективный парень.
О, ещё как мог. Мои новичковые мозги мало что понимают, но у меня хорошая память
Это не первый раз, когда я встречаю более знающих кодеров, но я всегда говорил себе: «Эти остолопы заучивают доку, а вот я умею думать. Я изучу все что нужно, главное, что и учиться, и анализировать я умею». Размытая фраза «Умею думать» всегда была моей визитной карточкой.
Т.е. проблема скорее в том что и как оценивают работодатели. Ведь как тут уже сказали, если он справился с работой на позиции, значит действительно годен. Но годен не столько потому, что имеет багаж конкретных знаний, а скорее потому, что умеет пользоваться своей головой.

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

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

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

Но дьявол кроется в мелочах. И дальше у сеньора по идее должно быть очень много грейдов, потому что между сеньором который может без проблем тянуть ecomerce проект с хайлодом и сеньором который может разрабатывать новые алгоритмы, более совершенные чем любые ныне существующие — огромная разница. Но проблема следующих грейдов в основном в том, что их некому даже измерять. Можно только по факту проделанной и выложенной в паблик работы, примерно понять что кажется вот этот чувак не просто сеньор, а сеньор++, но на собеседовании такое не определишь, особенно если собеседующий сам ниже уровнем. Вот и получается, что и сеньоры разные, и зарплаты у них, по факту, могут плавать до 10-ти кратной разницы.
А могут и не плавать. Потому что самому сеньору тоже непонятно, на сколько себя оценивать.
Когда реальность вокруг тебя рассчитана на то, что ты умный, а ты на самом деле тупой

А мне наоборот кажется, что реальность вокруг рассчитана на очень, очень тупых людей, но люди (собаки такие) коллективно приняли всеобщую тупость за общую "среднюю" норму и теперь любого, кто чуть адекватнее и не суёт пальцы в рот называют умным. А когда в эту систему приходит действительно квалифицированный профессионал, то всё, что ему остаётся — сидеть молча в сторонке, потреблять горячительное и, ради всего святого, молчать. Потому что стоит ему только тихонько упомянуть что "король-то голый" — его сразу закидают тапками, обвинят в токсичности, окунут башкой в дерьмо десять раз, назовут городским сумасшедшим и в конечном итоге протащат по центральной улице под всеобщее улюлюканье.


Поэтому умным и квалифицированным в наше время стало быть банально невыгодно. Как там говорилось? "Если ты самый умный в комнате, то ты не в той комнате"? Хе-хе. С поправкой на современные реалии это звучит так: "если ты самый умный в комнате — то у тебя большие проблемы, дружок".


Dixi.

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


Think of how stupid the average person is, and realize half of them are stupider than that.

― George Carlin
Правда ирония в том, что большинство точно считают себя умнее среднего.

На самом деле все еще хуже, поскольку Карлин сравнивает медиану со средним.

Если вы реально умный, то легко сможете работать на себя. Поверьте, отбоя от хороших заказчиков у вас не будет. Будет 90% неадекватна, но раз в 6 месяцев будет приходить «заказ мечты» на полгода год, с очень хорошим рейтом. Дальше сами сможете выбирать — если захотите, наймёте людей и будет «галера», можете стать просто высокооплачиваемым консультантом, а можете с свободное время запилить продукт.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
По этой логике любое получение денег не работа на себя.
НЛО прилетело и опубликовало эту надпись здесь
Павел, покажите уже IoC каркас, это же про вас автор пишет?

Та вот у меня два варианта


а) ААААА Фил спалил Tecture, надо его быстрее доработать и публиковать ААААА
б) это не я

Упускаете третий вариант:


в) Фил это выдумал

Но Пашок-то на деле продемонстрировал — думать он умеет лучше. И знает он больше.

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

Через примерно десять минут причёсывания я уже матерился не про себя, а вслух, а через полчаса я понял, что выбросить всё и написать самому — единственный выход, благо переписывать немного.
Хотя казалось бы, что человек, который может дофига и вообще в разы более крутой программист — уж мог бы написать простенький фронтэнд на сотни три-четыре строк так, чтоб в нем была какая-то структура и вообще он бы поддавался рефакторингу (про расширяемость я даже молчу). Тем более, что он неоднократно демонстрировал правильное понимание того, как этот ваш фронтэнд работает. Да и вообще имел некоторое убеждение, что фронтэнд — это, за пределами особых случаев, то, что подвластно даже чуть более способным обезьянам.

А вот нифига.

Уметь в нужный момент наговнякать то, что все равно выкинут (отдавая себе в этом отчет) — тоже талант.

Конечно. Но между совсем уж страшно write-only кодом и кодом, который немного структурирован, хотя и написан максимально «в лоб» — разницы по затратам времени практически не существует. Более того, дичайший write-only может даже отнять больше времени, потому что очень быстро придётся бороться с собственным же соседним говнокодом.

Мне всё же кажется что разница там будет формата "сэкономить половину спички, или целую" :)
Я вот всегда стараюсь писать более-менее структурировано, потому что у меня мозг так думает и иначе я думать не могу. Для меня правильнее = быстрее. Но все думают по-разному.

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

Давайте для реализма всё-таки не "через неделю", а "через месяц".
Так вот, я толкую о том, что бывают такие проекты, что до камаза там не доходит потому что "через месяц" для такого проекта не существует. "Через месяц" он крутится в каком-то маленьком углу системы, делает своё дело и трогать его нужды нет.

Продлема если вы структурируете неправильно — то есть отлично от того как требует конечная задача — это будет хуже, чем неструктурировать вообще. А если вы структурируете правильно сразу — это огромное количество времени займёт.

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

Ну значит, возможно у вас опыта поболее моего. У меня с первого раза не удаётся, тем более часто клиент/начальник требования меняет. Я как правило делаю в ООП, когда уже предварительную версию человек увидел и хотя бы понимает что он говорит и какую задачу ставит. Ну разве что вспомогательную часть сразу в ООП, которая не поменяется.

Перефразирую вас в одну реплику: "да ООП-то да, но с требованиями жопа".
И вы правы, да.

У меня с первого раза не удаётся

Это нормально, с первого раза удается, только то, что ты делал подобное в прошлом, в нашей профессии это случается не всегда. В новых случаях, я делаю минимум два прототипа, а если время не жмет, перебираю все возможные решения и выбираю лучшее. И потом шлифую его до блеска и тоже не в один проход. Сначала нужно получить стабильно работающее решение, и только потом стабильно быстро работающее. Сделать все красиво с первого раза, то что ты до этого никогда не делал? Сомневаюсь.
часто клиент/начальник требования меняет

И это тоже нормально, от этого никуда не деться, но после каждого изменения требований, нужно посмотреть, что нужно зарефакторить. Если этого не делать, рано или поздно получится пизанская башня. Архитектура, структура и все остальное, должны максимально возможно соответствовать текущим требованиям. Не вчерашним, потому что они устарели. Не завтрашним, потому, что они еще не известны и даже не пытайтесь их предугадать, все будет по другому.
Люди делятся на два типа…
А вот если брать такие поделки, еще и, допустим, на питоне, то есть те, кто проверяют скрипты на __main__, а есть те, кто этого не делает. И как это оценивать?

А зачем это оценивать? :)

Более того, дичайший write-only может даже отнять больше времени, потому что очень быстро придётся бороться с собственным же соседним говнокодом.
А вот и нифига. Если это код, который писал ты — и больше туда никто не лазил — то 200-300 строк «влезают в голову» легко и никакой структуры не требуют вообще.

Но попытка вот это вот чуть-чуть порефакторить приводит к тому, что мы получаем уже не 200-300 строк, а тысячу, они перестают помещаться в голове и требуется уже, фактически, полное переписывание.
С рефакторингом тоже не так всё просто. Например говнокод в 100% процедурном стиле часто лучше рефакторить, чем объектно-ориентированный говнокод. Т.к. для второго надо преобразовать неправильные классы в правильные. То есть полкласса туда, пол сюда. А в процедурном ты просто создаёшь структуру с нуля.

Типа как дом из кучи материалов построить легче, чем разрушить старый и построить новый.
НЛО прилетело и опубликовало эту надпись здесь
Возможно, вы правы, я не рефакторил модули больше 2000-3000 строк. Может на 10 000 уже даже плохое ООП становиться лучше процедурного кода. Хотя раз вы до сих пор код поддерживаете, возможно он не так и плох.
Но хотя это возможно потому что тикетов на явный рефакторинг нет, им я побочно занимаюсь.
Это большая проблема. Очень тяжело, зачастую почти невозможно, отрефакторить код если, при этом, в него посредине этой работы нужно вносить новую функциональность.

Вторая большая ошибка — совместный рефакторинг.

Лучше всего переписывать достаточно большие куски кода — такие, которые вы можете полностью понять и переписать на неделю-другую в одиночку.

Больше вам никто не даст, а если вы в середине рефакторинга начнёте добавлять функциональность — рефакторинг не закончится никогда.
НЛО прилетело и опубликовало эту надпись здесь
Знаете — если вы можете систему покрыть тестами «внеся минимальные изменения», то вы уже сделали 90% работы, необходимой для рефакторинга. Если не 99%.

По моему опыту — в половине случаев (а то и больше), рефакторинг как раз и делается для того, чтобы тесты можно было написать.

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

Не проверя рефакторинг вы даже не сможете понять какой компонент от какого другого зависит!

А это — как раз и есть состояние старой легаси-системы, в большинстве случаев. Ну потому что это это так просто — вбить пару костыликов, в одном компоненте заметить что мы работаем со случаев A, в другом — что со случаем B, а в третьем, по такому поводу, транзакции с половинной ценой посчитаем, так как у этих двух товарищей «особые отношения».

А вот как это потом тестировать — никому неведомо… но таска закрыта, менежер доволен.
НЛО прилетело и опубликовало эту надпись здесь
В итоге какой был гавнокод с лапшой, такой и остаётся, просто в некоторых местах нельзя было подменить объекты, а теперь можно. А вот потом уже начинается рефакторинг.
В этот момент ничего не начинается, так как вашей деятельностью вы увеличили потребление ресурсов в несколько раз, но ничего не сделали для бизнеса. И вас уволили. И всё.

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

В «настоящем» Legacy-коде основной вопрос даже не в том, чтобы вынести какой-то объект в синглтон, а в том, чтобы понять в принципе, когда и как тот или иной код может сработать.

А поскольку вы предлагаете вначале как-то покрыть все миллионы строк геологических наслоений, созданных за десятилетия, тестами..., а потом, через много лет, начать что-то рефакторить… вот не верю я в то, что вы сможете это сделать до того, как вас уволят. Потому что десятки и сотни других программистов ведь не сидят сложа руки и тоже с этим кодом что-то делают…
Важная поправка: это не талант, а скилл. То есть, не от бога дадено, а нарабатывается за те самые десять лет.

Сениором нельзя родиться, ну.

А чаще всего — необходимость бизнеса, который может быть основан на методологиях по типу lean startup где роль быстрой проверки гипотезы т.н. mvp — краеугольный камень. У Фаулера есть хорошая статья про говнокод martinfowler.com/bliki/SacrificialArchitecture.html

Нет, одно дело когда ты делаешь что-то на коленке чтобы протестировать гипотезы (и потом выкидываешь, процесся параллельно фидбек пользователей и перерабатывая результаты A/B тестирования и полученных метрик в PBI/дизайн-док и прочие тикеты в жире со всеми остановками — митингами, кофе-брейками, приоритезацией и прочим планированием спринтов). Другое дело когда "нахерачить абы работало" является драйвером процесса разработки. Тут, как в том анекдоте, есть нюанс. Хотя есть большой соблазн не выкидывать MVP. Я его понимаю и признаю, но это — тот самый путь где мертвецы с косами стоят, а вокруг — тишинаа...

НЛО прилетело и опубликовало эту надпись здесь

Поддерживаю, MVP деньги зарабатывает, чтобы рефакторить MVP :)

Ну… наверное вот поэтому у нас в индустрии всё… так (потрясает руками в воздухе) :)

Его фронтэнд вполне может выполнять свою задачу — отладка бэкэнда и демонстрация как это должно работать вместо того, чтобы давать долгое и нудное задание, в котором всё равно ничего не укажешь.

Собственно причесать это и значило написать фронтэнд с нуля, но с похожим функционалом.

Можно блистательно управлять войском и не уметь при этом стрелять из оружия…
Можно виртуозно управлять автомобилем и не знать как он устроен… В общем могу продолжать весь день такое писать)
мне кажется умение увидеть цель, ответить на вопрос «зачем?» и быстро набросать код для ее реализации – тоже очень хороший скилл, а дальше у него есть сотрудники, чтоб за сам код не было стыдно. Так сказать «прогрессивный jpg»
Backend и Frontend — это два совершенно разных пути развития разработчика. Судя по Вашему описанию, Ваш бывший босс был весьма недурным бэкендщиком-системщиком, но не выше милда на фронте. Мораль — занимайтесь тем, что у вас получается лучше всего.
Может он вам скетч сделал или MVP.
Иногда лучше сделать что-то рабочее быстро и говняно, чем вообще не делать.
Фил, а Фил. Хватит уже графоманить и пиарить свой бложек на этом, а?
НЛО прилетело и опубликовало эту надпись здесь
Вы бы их еще в /s/ позвали, в браузеротреды гадить.

Запомните, товарищ. Люди, которые действительно недотягивают до какой-то должности в своей работе, никогда в себе не сомневаются. Если Вы сомневаетесь, значит всё нормально.

Воспитанные люди полны сомнений, а идиоты полны уверенности

А воспитанный человек может быть одновременно идиотом?

НЛО прилетело и опубликовало эту надпись здесь
Пассажир, в вашем описании, по крайней мере не лезет туда, куда не понимает.

«Восторженный идиот» может навязать команде решение, которое вообще весь проект угробит.

Пару раз с такими встречался… Единственное работающее решение — переговорить с вменяемыми членами команды и уйти на другой проект.

Так можно спасти команду и свои нервы, но не продукт, увы.

Классический пример.

Ещё как лезет, уж поверьте...

В таком случае какой же он, нафиг, «пассажир»? Пассажир — это тот, кого везут.
pnovikov А ваша градация точно не является обычной завистью?
В любых коллективах есть и условные мидлы и джуниоры. Да простой онбоардинг и условным сеньорам нужен. Если им потребуется менторство и не дай бог они симпатичнее вас — то это пассажиры?
НЛО прилетело и опубликовало эту надпись здесь
> 3к зарплаты хороши только по меркам российской провинции.

300к/наносекунду, ты?
НЛО прилетело и опубликовало эту надпись здесь
Жыды.

У одного моего знакомого в компании была система грейдов из 7-8 позиций. В итоге сениор это такая средняя позиция. Как вариант.

Ну вот пример из жизни, чтобы не быть голословным:

1. Software Engineer II
2. Software Engineer III
3. Senior Software Engineer
4. Staff Software Engineer
5. Senior Staff Software Engineer
6. Principal Engineer
7. Distinguished Engineer
8. Google Fellow
9. Senior Google Fellow

9 позиций, причём тот самый Senior, стоит, на минуточку, на 3й.

Если прочесть disambiguation по ссылке выше то можно понятьчто выше L6(staff) прыгнуть вряд-ли получится (да и допрыгнуть до него тоже непросто) Потом можно почитать соседние треды( https://www.quora.com/What-is-a-senior-software-engineer-L5-L6-expected-to-know-in-a-Google-interview-on-top-of-what-is-expected-for-lower-levels?ch=10&share=b3f7d315&srid=mFIyn) и понять что L5 с улицы как бы почти потолок. А на L6 вкалывать в основном придется внутри. Что возвращает нас к мысли что Senior неплохой таки ориентир

Так ведь обмануть систему — это скилл всем скилам скил! Здесь уже другие шестеренки Вселенной подтягиваются: быть на волне успеха намного важнее быть просто профи.

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


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

Не понимаю зачем эти статьи.

Так ведь «пипл хавает», посмотрите на их рейтинг. У каждого свои предпочтения, лично мне интереснее читать про другие вещи и я абсолютно согласен с вашей точкой зрения, но на хабре не только мы.
И, что примечательно, вы оба сидите в комментариях к моей статье. Хотя я со своей стороны сделал все, что бы было понятно — это моя статья, такая же, как и все мои, проходи мимо, и читай то что тебе нравится — но нет.
Почему бы мне не сидеть в комментариях? Тот факт, что стиль и направление таких статей не моё, не значит, что в комментариях не будет интересных моментов. Ну, и ещё занятно смотреть, сколько людей одобряют такого рода публикации и что пишут.
Определённо, сидеть под каждой вашей пабликацией и писать «ух как задолбало» — не очень, но я такого не замечал.
Если плохая публикация порождает хорошие комментарии, значит её существование — это хорошо

Кто сказал "Сортировка воронками"?

Автор, не заморачивайся. В этом мире люди с деньгами не всегда самые умные и далеко не всегда — профи. Это всё нормально, и всегда во все времена так было и во всех направлениях. Профессор, придумавший вакцину, может преподавать в универе за 50.000 рублей, а фирма, которая её раскрутит, продвинет и продаст — миллионы долларов.

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

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

Важно, чтобы тебе нравилось заниматься тем, что тебе нравится и что тебе хочется делать, даже если ты поменяешь сферы работы кардинально; тогда у тебя не будет угрызений совести, потому что этого всего ты добился сам (и пофиг, какими методами: спишь с ген.директором или ты хороший дипломат).

То, что ты своими методами добился чего-то большего, не надо ставить себе в вину. Ты смог попасть на какую-то работу с меньшим опытом и знаниями, а они не смогли. Плюс, сам же видел — есть люди, которые, хоть и профи, но они годами сидят на одной позиции, получают свою ЗП и по каким-то причинами получают не оч. много. Просто их либо всё устраивает, либо не хватает яиц пойти и что-то поменять.

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

язык и софт-скиллз тебя поднимают туда, где ты думал, что никогда не окажешься


Смотря что считать языком и «софт-скиллами». Так вышло, что всю жизнь работаю с продажниками, и видел нереально крутых ребят, и видел дно, которое не сможет продать человеку с деньгами и сформированной потребностью товар, который у дна есть. И довольно часто бывало так, что дно попадало на топовые позиции, тогда как крутые ребята не могли вылезти дальше средней манагерской должности (при том, что их смело можно было ставить на КАМов и работу со всякими ВИПами).

Это какой-то вариант эффекта даннига-крюгера, как мне кажется, «кто смел — тот и съел».
Это какой-то вариант эффекта даннига-крюгера, как мне кажется, «кто смел — тот и съел».
Нет, просто всё проще: «умение продать товар, который у тебя есть, человеку с деньгами» и «умение продать себя начальству у убедить его в собственной крутизне» — это разные умения.

Я видел более, чем достаточно, людей, умевших «продать себя» хорошо — и обладавших просто великолепными навыками по «выходу из отпимизированого [ими] отдела»… Они офигительные профи… только не в той профессии, про которой вы думаете.

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

НЛО прилетело и опубликовало эту надпись здесь
Удивительно, как вас не съел синдром самозванца. Сужу по себе.
Что касается градаций программистов по скилзам, скажу что все очень относительно, но раз вам платили эти деньги — вы их явно стоили, не принижайте себя.
Да, да, примерно так же я попал в «синьоры» в 2012-ом году )))
Правда, до этого на фрилансе я вообще никак не относил себя к какой-то группе, просто работал и учился новому. А потом — «бац!» — и сразу несколько рекрутеров отнесли меня в сектор «почти элиты» )))
В 16-ом такой же финт прокрутил Crossover, навешав бляху «архитектора», а в 18-ом «чифа» )))
И вроде понимаешь, сколького еще не знаешь и иногда даже не понимаешь, а с другой стороны, попадет на ревью говнокод значимой и уважаемой команды, и вроде как осознаешь, что 8 лет впустую не ушли. Но настоящая уверенность так и не приходит ((
Можно осознавать свою профессиональную слабость, но всё равно тянуть на себя одеяло — метить повыше и требовать побольше. Большинство людей так и делает. Бизнес лишнего и так постарается не платить.
Очень сильно кореллирует с профессией. У нас в отделе продаж просто-таки запрещено самому выдвигаться на повышение. Потому что если разрешить — 100% сотрудников попытаются это сделать и комиссия в рассмотрении их заявлений утонет. А вот как раз у программистов — это не только разрешается, но и поощряется. Потому что программисты, наоборот, зачастую не хотят лезть на места, где нужно общаться с людьми, а не с компилятором и если уж они считают, что готовы это сделать — то часто это таки правда.
Не очень понимаю этой погони за лычками и названиями. Во многих небольших конторах вообще как попросишь, так и запишут. Работал однажды в инвестбанке — так там каждый третий был VP, а каждый второй — AVP. Вот принято там так было.
Ну это просто обозначает что должность VP там, на самом деле, очень низкая. Ну сами подумайте — если у вас за неделю могут полторы тысячи сотрудников получить звание VP — то это что, высокое такое звание, да?
С одной стороны «там» она достаточно низкая, с другой, по уровню компенсации и требований она на уровне реальных VP других банков в том же регионе (согласно glassdoor по крайней мере)
Сеньором помидором )) Считать себя можно кем угодно — здесь вопрос самооценки своего уровня. У некоторых товарищей программистов она просто завышена для компенсации своих комплексов
За это платят — есть материальная заинтересованность называть себя как можно более крутым. Просто бизнес, а не комплексы.
Я тоже хотел это сказать. Никто не ущемляет заслуг профессионалов, но одно дело, когда у тебя в контракте написано, что ты — «главный архитектор информационных систем» — это несколько иное, нежели «программист». И даже не важно, что на сл. работе тебе, там, поверят или не поверят… может, ты направление сменишь и на новой работе просто уже с другими входными данным входишь :)))

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

И круг замкнется.

О, отличный сюжетный твист предлагаете, товарисч :)

Этот пост будет не полон без этой картинки

Пых-пых. Сколько я видел 18-20-ти летних «сеньоров» в профилях, еще не закончивших ту бурсу, в которой стоят в очереди за дипломом с заветной строчкой «инженер-программист»…
А вообще, рекоммендую почитать «Корпорацию МИФ», Роберта Асприна. «Важно не то, какой ты волшебник на самом деле, а каковым тебя считают».

Кто-то вообще помнит про цель программиста? Лучший тест на Senior, задать этот вопрос. Сколько читаю в статье и комментариях, фокус на языке, технологии, тонкостях, крутом коде. Все это нужно, но лишь как средство. Цель — создавать качественный продукт в срок. Всё. Это не меркантильные требования недалекого бизнеса, а миссия и смысл существования программиста. Без этого не будет не только бизнеса и зарплаты, но и мир не увидит софт. Если программист этого не понимает — значит ему просто нравиться писать код. Код ради кода. Все хитрее, приводящий гиков в экстаз. О, сколько я видел таких матёрых экспертов, цитирующих Рихтера и Скиену, их любовь к коду застила глаза и они вообще забывали про цель. И заваливали проекты. Быть крутым гиком, реально шарить — прекрасно. Но не надо это называть Senior. Человек с 10+ хорошего опыта может не знать совсем уж тонкостей работы GC — но лишь потому, что они в 99% случаев ему не нужны. У него иной скилл (как дополнение к отличному багажу знаний и опыта в computer science): понимание (или чувствование) границ, что вот здесь надо сделать костыль с пометкой todo (иначе срок просто будет провален и усилия будь тщетны), а вот здесь наоборот, надо потратить время, провести исследование, полностью покрыть тестами. Это умение вникать в уже написанный код, причём, внимание!!! В чем разница, смотрите. Гик будет видеть код и его проблемы «тут у вас нет sealed, а тут метод возвращает viewModel вместо dto). Senior будет видеть код и проблемы, которые он решает (или создаёт) в первую очередь. Это не значит плохой код. Это значит думать о том, как это работает, бизнес-логика, понимание реальных сценариев, видение потенциальных проблем.

Принципы работы ГЦ не нужны, только когда ты о них не знаешь. Если не думаешь о таких вещах — просаживаешь перфоманс, потребление памяти и создаешь лики — а потом прожираешь бюджет проекта на изначально неверные попытки что-то пофиксить.

Я это к тому, что нужно быть где-то по середине между человеком, который живет продуктом и человеком. которому интересен ГЦ. А крайности — не работают
Ну я поэтому и написал «тонкости работы GC» и про границы. Нужно знать столько, сколько нужно + небольшой запас. Гик уходит уж совсем в дебри работы GC не потому, что эти дебри помогут писать код лучше (в большинстве проектов не помогут). А потому что ему это интересно. Senior не только печётся о продукте. Тут весь цикл. Продукт и процессы. Люди, особенно интеллектуалы, любят сложные задачи, нагружать мозг — но нельзя это смешивать с работой, выбирая заковыристые пути вместо простого (но не слишком простого).
Ещё можно писать на C/C++ и вообще не сталкиваться с GC.

Rust врывается в комментарии :)

НЛО прилетело и опубликовало эту надпись здесь

Слушайте, право слово. Лучший тест на сениора — пошарить экран и посмотреть как он пишет код.

И на что именно вы будете смотреть? Скорость? Может он три часа думает, а потому за 20 минут делает оптимальное решение. Красоту кода? Это тест не на Senior, а на Middle. Нельзя в написании кода увидеть то, что выходит за рамки написания кода. А именно то, что выходит — и делает человека Senior. Он же не просто кодер.

Нет. Я буду смотреть как человек ведёт себя в незнакомой ситуации с непонятным фреймворком, что и как гуглит, в какой последовательности.

Ну я, например, ничего не буду гуглить, в принципе. Или если буду, то со своего телефона, так что на расшаренном экране вы ничего не увидите.

Потому что я в принципе никому и никогда не показываю свои промежуточные «метания».

Дальше?

Спокуха, если буду собеседовать я — я дам такое задание, где без гугла не справитесь :)


Потому что я в принципе никому и никогда не показываю свои промежуточные «метания».

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

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

Спокуха, если буду собеседовать я — я дам такое задание, где без гугла не справитесь :)
Дык я ж не против. Я уже понял, что такие как я, вам не нужны — это не страшно.

Есть же всякие дурацкие компании типа Microsoft'а или того же Гугла (только не чтобы искать там, а работать)… на мой век — хватит.
И я вам отвечу

А я вам отвечу что сделал свой самолёт. Только он у меня стоит в гараже за семью замками и я никогда и никому его не покажу. А ещё вокруг планеты летает маленький чайник. Ну вы поняли.


на мой век — хватит

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

Ну вы поняли.
Нет, не понял.

Да и кандидатов на наш век, честно говоря, тоже хватит.
А я вот в этом — не уверен. Когда я работал в мелкой конторе и найм каждого человека был событием — да можно было вообще никого не собеседовать! Заведомо хороших кандидатов, найденных через знакомых, хватало. А вот когда вас нужно выбрать из тысяч кандидатов, из которых подавляющее большинство — идиоты, а что-то там такое на GitHub есть у единиц… то выясняется что нужны какие-то другие подходы.

Причём есть ещё забавный феномен: чем на более высокой позиции человек работает, тем меньше шансов на то, что у него будет что-то, что он захочет показывать, на GitHub.

Потому что GitHub — это про работу с кодом… а как тут уже много раз повторяли синьор работает в основном с людьми… и делает он это, в основном, опять-таки, в рабочее время, а значит — под NDA.

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

Когда у меня будет что показать — я покажу.
Нет, не понял.

Если вы не знаете про чайник Рассела, то наш разговор затянулся.


найм каждого человека был событием

Поверьте, если вдруг в этом потоке окажется один человек, который не захочет давать о себе никакой конкретной информации — то я предпочту сказать "следующий!" нежели вникать в его глубокий внутренний мир. Поверьте, вероятность что я в этом случае упущу того-самого-инженера-который-может-изменить-всю-компанию, стремится к нулю. С такими рисками можно смириться.


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

Так может и зря он тогда работает на высокой позиции?


Когда у меня будет что показать — я покажу.

Вот так я вам и отвечу: когда будет что показать — приходите.

НЛО прилетело и опубликовало эту надпись здесь

Идрис, прости господи. Доброе предзнаменование, но вы на промышленных языках говорить умеете? :)


Да и я по комментам на хабре вас знаю :)

НЛО прилетело и опубликовало эту надпись здесь
На самом деле очень мало людей с нужным скилом имеют ПУБЛИЧНЫЙ гитхаб-аккаунт.
Я бы сказал, сильно меньше 10%.
А вот джунов с копиями гитхабов — завались.

Даже копия гитхаба — уже что-то, от чего можно строить разговор.

Ну что за бред вы пишете! Как менеджер, честное слово.
Как скучно на работе вместо каких-то интересных штук слышать «Пользователям нравится кнопка другого цвета… Надо чтобы тесты были зеленые… Маркетологи считают что если натянуть сову на глобус, то воронка продаж повысится на 3%...»
И какой-нибудь заскорузлый менеджер, который и строчки кода в жизни никогда не написал, подходит и говорит «Хмм, ты же понимаешь, что должен думать о проблемах бизнеса, как их решить? Тогда тебе повысят грейд до сеньора.»
Быть сеньором сейчас чаще всего означает придумывать, какую фичу можно будет продать.
Очень удобная позиция для работодателя. Разраб сам придумает, сам напишет, сам продаст, деньги организации, а мы тебе — звание сеньора. Гордись! Можешь другим хомячкам хвастаться лычкой!
К черту тогда все лычки и проблемы бизнеса!
Программистами хотят стать, потому что это как научиться магии в отдельно взятом компьютере, стать волшебником.
Я в 4 года пощупал клавиатуру, и с тех пор мечтал работать с компьютерами.
В 13 лет написал первую программу на QBasic. И знаете, до сих пор восторг и восхищение, когда сделал хитрую фичу и оно компилируется и работает. Как алхимик, который свинец из золота получил.
И что, вы думаете что я и такие же пацаны, которые по ночам читали взахлеб книжки по архитектуре ЭВМ, думали «О-о-о, какие же качественные продукты в срок я буду выпускать!»
Позвольте обратить внимание на фразу в моем сообщении:
Быть крутым гиком, реально шарить — прекрасно. Но не надо это называть Senior.

Многие (и я в том числе) так начинали. Детство, компьютер, 90-е, дискеты, Borlnad C/Pascal, горящие глаза. Я ни разу не говорил, что это плохо. И я даже не говорил, что это волшебство должно с годами уйти, и работа должна стать скучной. Прочитайте название статьи, к которой вы пишите коментарии. Речь о том, кто такой Senior. Лычки тут вообще ни при чем. Еще раз, специально для вас, вся суть в одной фразе:
Senior — это опытный разработчик, способный доводить до завершения сложные проекты, в срок и с достаточным уровнем качества.
Естественно, это должен быть управляемый процесс. Естественно, магия и красота кода здесь не такие хорошие помощники, как понимание цели. Если для вас создавать продукт — скука, вам просто нравится программировать — никто не мешает. Но когда вы говорите
К черту тогда все лычки и проблемы бизнеса!

тут кроме как фейспалмить ничего не остаётся. Вы, видимо, до сих пор верите, что менеджер — это тот, кто ничего не делает (т.к. не умеет), а бизнес — это кровавый эксплуататор. Да поймите вы простую вещь. На магии и вдохновении вы можете написать (в своем темпе) какой-то прототип. Это может сработать раз или два. И всё. Если вы хотите браться за задачу, любой сложности, и завершать её, не утонув в «магии кода», не потеряв время на крутые интересные (но не нужные) технические приключения — то думать о цели придется. И придется управлять своим прогрессом (to manage — отсюда нелюбимое вами слово). Сами вы можете делать что хотите. Любой проект и как пожелаете. Если же речь о рынке труда (а именно там все эти junior/middle/senior и применимы), то там иная ситуация. Компании нужен именно такой человек, который сделает. Ваши восторги и горящие глаза заказчику не нужны. Поставьте просто себя на его место: вам продукт надо сделать, деньги вы не печатаете, кого будете искать? Восторженного гика, который в восторге от кода, или того, кто методично по шагам сделает проект в срок? Вот второго и называют senior. Еще и бредом называете…
Вы, видимо, до сих пор верите, что менеджер — это тот, кто ничего не делает (т.к. не умеет), а бизнес — это кровавый эксплуататор.

Что значит до сих пор? Все зависит от организации. У меня по опыту были менеджеры — умницы, которые реально бьются за время разработчиков, понимают продукт и отсеивают заведомо бредовые таски. А были и такие, которые даже не могли пересказать, что хотел заказчик, приходилось вместе с ними ходить на совещания, хотя это вообще их работа.

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

Кто-то вообще помнит про цель программиста?… Цель — создавать качественный продукт в срок. Всё. Это не меркантильные требования недалекого бизнеса, а миссия и смысл существования программиста.

Абсолютно не согласен. Это как сказать, что цель художника — рисовать вывески. Цель учителя — чтобы дети сдали ЕГЭ.
Слишком прикладное и примитивное определение.

Про сеньора мне кажется, что у вас, и в целом на рынке проблема определения.
Вы правильно написали про сферического сеньора в вакууме, что он и проект сделает и бюджет не превысит. Я знаю таких людей, настоящие профессионалы, до которых мне расти и расти.
Но вот есть очень умные ребята, которые ненавидят доделывать проекты. Прототип работает — и потом неинтересно. Все, они не сеньоры? В компании, где я сейчас работаю, таких минимум одна команда. Бизнес просто нанял несколько команд, которые потом за ними доделывают прототип до продукта.
Но у работодателя появляется порочная практика — считать, что если человек готов доделывать проект до готового продукта, готов обсуждать на совещаниях способ монетизации продукта для конечного пользователя, то он сеньор. А если ему не нравится — то не сеньор, типа еще не дорос.
Вот мне лично все равно, какого цвета кнопки будут у моего продукта, сколько он будет стоить, и какой процент конверсии он будет выдавать. Мне это неинтересно. Этим вообще должен заниматься Product owner, а не разработчик. А вот сделать код продукта быстрым, надежным, понятным — это интересно.

Если программист этого не понимает — значит ему просто нравиться писать код. Код ради кода.

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

Надеюсь что в этом комментарии объяснил понятнее свою точку зрения.

Попытаюсь третий раз)
Человек может фанатеть по коду и делать только прототипы — его право. Возможно, он идеальный «начинатель», способный придумать нечто поразительное, но рутина, связанная с доведением продукта до конца — гасит его творческий огонь. Здесь нет хорошо и плохо, здесь есть рынок. Вам нужен костюм, сшитый только наполовину? А как насчёт крутой машины, которая не прошла все испытания и доводку на безопасность? Ну или может быть лекарство, супер-классное, только тщательно тестировать его не стали? Также и здесь. Не только бизнесу — миру, людям нужен работающий продукт. Миллионы идей и поделок канули в небытие, так и не дойдя до итога. Воплотить, дойти до конца — это не только рутина, это определенная зрелость. Это опыт. Вам нужен хороший программист, вы хотите быть уверенным, что он справится, на вопрос «сколько проектов вы довели до конца?» он ответит «ноль, но зато я начинал 500 проектов» — и что, возьмёте его? Или побоитесь, что ваш будет 501-м? Именно такого человека, который способен пройти весь цикл, ищут работодатели, и его они называют Senior.

То есть, с вашей точки зрения, сеньор — это тот, кто доделывает проект.
Так?
Ну я бы сказал что как минимум человек, который в состоянии доделать проект :)

Вы издеваетесь?
Сеньор — это тот, кто способен сделать проект от идеи до внедрения. Любой проект. Пройти все стадии (а не только хипстерский смузи-based «мы крутые чуваки, наш супер-проект завтра изменит мир»). Даже если это скучные цифры (а не атмосферный геймдев с симпатичными эльфийками в офисе). Как и во всём. Ребёнку нужен мотиватор, игровая форма, веселье. Взрослый просто берет и делает, они достаточно зрел и самоорганизован.

Сеньор — это тот, кто способен сделать проект от идеи до внедрения. Любой проект.

О, тогда я сеньЁр помидор уже лет 17, то есть с третьего года официальной работы программистом. Правда, там железку после демонстрации отменили и продуктом она не стала, но не из-за ПО, а просто тему закрыли.


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

Именно, необходимое условие. Об этом и весь тред. Что не может считаться сеньором тот, кто настолько фанатеет от программирования и магии кода, что ненавидит бизнес, рамки, и даже цель проекта, у кого своя цель: получать фан от программирования (а кто не согласен — говорит как менеджер, фу, и пишет бред)

Цель любого бизнеса — навариться на покупателе/заказчике/потребителе.
И, кстати, разработчик — тоже продаёт. Себя. Бизнесу. Тоже с целью денег получить в первую очередь, что бы было на что есть.


Нет у них общей цели. Есть временное совпадение направлений.

Так вообще про всё можно сказать. Даже у самых близких людей- временное совпадение направлений, вопрос насколько. Даже у самого человека с самим им же могут не совпадать цели, сиюминутные и длительные. Это все абстрактная философия. На практике, работаете в компании, продукт которой вам видится полезным миру, вам нравится, плюс деньги получаете, бизнесу нравится, что продукт продаётся, все довольны.

В целом я согласен, что «Сеньор — это тот, кто способен сделать проект от идеи до внедрения».
Но мне показалось, что вы подразумеваете сеньорство как единственную цель развития и вообще существования профессии программиста. Так?

Ни в коем случае. Если человеку по фану делать какие-то небольшие прототипы крутых идей в своём стиле и темпе — никто не в праве его осуждать. Тема статьи же «кого считать сеньором»?

Предлагаю закрыть тред.
Спасибо за обсуждение)

100%

способен пройти весь цикл

Это да. 100%.
Самое сложное — в начале описать/написать все тесты, и в конце отпустить работу в продакшен, чтобы всё работало и не сыпались тоннами баг-репорты.
Собственно, можно утрировать так: "Сбербанк онлайн" и "Хабр" делали специалисты высокого уровня — "сеньоры", а сайтики из 3 страниц типа "Мы веб-студия", "Широкий спектр услуг" где в портфолио обязательно есть пачка лейблов мировых брендов с надписью "партнёры", делали олухи, мнящие себя сеньорами.

Вы, видимо, до сих пор верите, что менеджер — это тот, кто ничего не делает (т.к. не умеет), а бизнес — это кровавый эксплуататор.

Хм. А когда бизнес перестал быть деятельностью по продаже труда сотрудников на прибыль учредителям и спонсорам? Степень кровавости можно обсуждать в каждом конкретном случае, но основа бизнеса — это именно извлечение дохода из труда сотрудников, превышающего расходы на оных и на поддержание бизнеса, что и есть эксплуатация. Иногда в число оных сотрудников входят и учредители.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Вам нужен конкретный набор критериев «быть Senior»? У меня его нет. Я думал, в этом и суть мыслящих людей, обозначать задачу, обсуждать, делиться мыслями. А вообще вопрос странный. Вы думать над ним пробовали? Вечер, я закончил работу, у меня есть немного свободного времени. Открываю свой проект. Очень не терпится, когда же моё десктопное приложение отобразит (пусть пока в кривом дизайне) список заметок, которые я до этого сделал на своем телефоне. Мне надо допилить механизм синхронизации через облако. Я пишу код, и натыкаюсь на проблему: нужный мне запрос не поддерживается в этой урезанной БД. Я пытаюсь доставить расширения, оно с чем-то конфликтует, починил — а тут другой баг, и всё затягивается. Выбор: поставить todo, написать пока в лоб запрос на чистом sql прямо в коде, или же продолжить разбираться с правильным подходом, продираться сквозь баги. Выбрав второе, я потрачу все оставшееся время, так ничего и не сделав. Выбираю первое, запускаю, вижу как моё кросс-платформенное творение работает, испытываю радость, по ходу понимаю, что надо UX сделать иначе, так не удобно, и мне ту проблему вообще не придется решать, я сам себе ее создал. Профит.
Естественно, подход потом повторится в большем, и я увижу уже на крупном проекте, где вовлечены десятки людей и тысячи пользователей, как я смог найти классное решение задачи (а не написать классный код).
Вот уже на какую статью автора натыкаюсь, и везде одно и тоже «я такой крутой, но я самозванец, но я крутой, код крутой, я крутой, вот мои статьи, все тупые, я тоже готов признать, что я тупой, и это делает меня умнее всех остальных в сотни раз». Каждый раз когда читаю — абсолютно гадливое и мерзкое ощущение, авторство уже только по этому одному угадывается.

Хотелось бы посоветовать автору, нанять себе на свою запрлату психолога, и плакаться ему на кушетке сколько угодно, так ведь не послушает же.

Смотрите на ситуацию позитивней: скорее всего у автора никаких реальных проблем нет и он просто пиарит себя / свой подкаст таким вот способом :)


Что реально раздражает — так это втыкание в каждую статью тэга "F#", даже если в статьи ничего специфичного для этого языка реально нет. fillpackart, ну доколе? :(

Ну, когда люди начнут читать статьи про F# с таким же рвением, как статьи про мои личные проблемы, с удовольствием буду писать про него. А так, какя-никакая популяризация ЯПа — и то хлеб

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

Ну, человека который и так ищет что-то по F# мне ничему учить не надо. Учитывая, что я плюс минус знаю всех из русского F# комьюнити. А так, мои статьи и идеи кому то заходят, пусть заодно посмотрят на технологию. которая зашла мне

Из русского комьюнити по F# знаю только Дмитрия, одного его достаточно, самый крутой чувак в C# и он же продвигал F#.

Может, человек сам в себе разобраться хочет, и пишет! Может, у него чувство гордости и славы, и он хочет проверить — нормально ли это… может, его чувство несправедливости гложет — он пишет. А потом читает коменты, и думает, всё ли ок в его модели мира.

Прочитайте каждую (а их уже 24!) из его статей, и скажите честно, пытается ли автор что-то исправить или нет. А то мне кажется, что это просто аккаунт какого-то контент манагера, который набивает рейтинг чтобы потом с него рекламировать супер-выгодные впски или ещё что.

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

То есть программировать при этом естественно надо уметь, но на мой взгляд одного этого для сениора всё-таки мало.
В точку! Оно так всегда и было задумано. Не знаю, корректно ли сравнение с главным бухгалтером, у которого в подчинении три-пять нормальных бухов сидят.
Некорректно. Главный бухгалтер — это отдельная профессия. С отдельными сертификатами, допусками и требованиями.

До главбуха в принципе нельзя «дорасти». То есть посадить «приличного бухгалтера» и ожидать, что он справится.

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

Скорее всего и дальше так будет: задачу «рядового бухгалтера» у программиста, на самом деле, выполняет компилятор… ну или бухгалтер.

Нет в этой отрасли «рутины, не требующей особых знаний».
В смысле… до главного бухгалтера нельзя дорасти? Разумеется, что можно, что и происходит нередко. Работаешь бухом много лет, потом решаешь более широкий круг задач, потом всякие курсы-шмурсы, ACCA, сертификаты + желание и терпение, ну, а потом ты уже организуешь работу других бухов.

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

С таким же успехом (через курсы-шмуры и сертификаты) можно «дорасти» и из механика в программиста (или наоборот) — но никто не считает их представителями одной профессии.
Статья, адресованная мидлам, считающим себя сеньорами, больно ударит по сеньорам, считающим себя мидлами.
Простите, но четкое ощущение от всех статей автора, что это графомания. Может быть для Хабра ППА, может быть для чего-то еще, не важно. Но вот есть это ощущение. Трудно оценить эти статьи как условный «крик души». Скорее, как выверенное, 100 раз проверенное произведение, написанное вдумчиво и по определенным правилам.
графомания
выверенное, 100 раз проверенное произведение, написанное вдумчиво и по определенным правилам

Что-то я запутался в ваших ощущениях
Возможно, не очень правильно использовал термины. Хотя, мне кажется, свою мысль донес)
Буенос диас, амигос.

Пишу курсовую заказчику, он посмотрел и просит:
-Можете немного переделать, чтобы поверили, что я делал.
Немного (пронцев на 20) сократил решение, сделал "вЛоб"
Если поверят, я СЕНЬО́Р?

Если работодатель доволен, то какая разница? А вообще, все нормально с тобой чувак, высокомерным только не надо быть и называть других тупыми идиотами, даже если они глупее тебя действительно. Soft skills тоже важны. Я думаю у большинства такое восприятие, особенно сейчас. Кто-то пашет сутками за 25к в месяц, а ты за 100к+ думаешь «Мне сегодня прокрастинировать на удаленке и сделать завтра что-то или может вечером часик поработать». Если кто-то будет недоволен, тебя просто турнут оттуда или научаться проводить собеседования более тщательно.
НЛО прилетело и опубликовало эту надпись здесь
Как по мне синьор это человек, который умеет самостоятельно решать более-менее сложные задачи в срок с хорошим качеством кода там где нужно качественно, и приемлемым качеством там где можно схалтурить (какой-то однорзовый код или который можно безопасно переписать в будущем не затрагивая соседние компоненты).
из того, что я понял: программистам слишком много платят
В столицах, только лишь в столицах. Это там можно найти работу на любой вкус и зарплату. В регионах просто «выше среднего».
Уважаемый, fillpackart у Вас писательский талант. А душевные терзания о неполном должностном соответствии связаны с тем, что Вы явно профессией ошиблись, в Вас слишком ярок талант описывать невзгоды обычных работяг. Думаю если отвязаться от тематики IT и писать в таком же стиле, но на более общие темы, охват аудитории будет в разы больше. Например, размышления продавщицы тети Гали на тему достаточно ли она хороша в своем деле и стоит ли ей задуматься о том, что она достойна большего в своей жизни — в Вашем исполнении будут обречены на успех…
Думаю если отвязаться от тематики IT и писать в таком же стиле, но на более общие темы, охват аудитории будет в разы больше.

Полностью присоединяюсь.
Автор мог бы написать бестселлер под названием «Что делать если ты жалкая программисткая амеба.». :)
Вроде не глупый, вроде с задачами справляюсь и даже пытаюсь что-то мутить.
Вроде даже неплохо получаю, вроде даже подчиненные есть.
Интересно, Я сениор?
Пойду дальше пилить.
Вроде даже неплохо получаю, вроде даже подчиненные есть.
Интересно, Я сениор?

Тимлид.

В Германии сеньором считается тот, кто проработал лет 8 минимум. Притом не важно сидел на одном месте и делал однотипные задачи или действительно развивался. В итоге есть те, кто 20 лет занимается формошлепством и считаются супер крутыми сеньорами. Хотя когда я рассказываю о том, что в свободное время изучил какой-нибудь новый фреймворк или новую версию языка (на проекте джава 6), отвечают, что никогда в жизни не будут тратить свое свободное время на изучение чего-то

Не надо говорить за всю Германию. Она большая и разная. И какой-то общей классификации «сениор»/«не сениор» в Германии нет. Более того я бы даже сказал что здесь в этом плане на стаж всё-таки особо не смотрят. Максимум в каких-то госконторах или конторах вроде Datev/Siemens/SAP где есть тарифные сетки и/или «выслуга лет». Так что в Германии вполне себе есть сениоры и с пятилетним стажем и есть миддлы(и даже джуниоры) со стажем 10+.
Просто Фил никак не может найти свои смыслы бытия, вот и заменяет психолога хабром
Интересно, если ты прав, то кто тогда тут самый большой идиот?
А это беллетристика или история из жизни? Нет, я конечно читал много таких историй, но хочется понимать насколько сие написанное приближено к жизни.
Перефразируя моего тренера по мотокроссу:

Среди говна мы все сеньоры, среди сеньоров мы гавно


ИМХО, сеньор это не года/часы, не алгоритмы и крутой фреймворк.
Сеньор это набор абилок прокачанных должным образом:
  • Знания
  • Опыт
  • Коммуникации
  • Ответственность


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

Чем дальше работаю тем больше понимаю, что софт-скиллз рулят. Есть нет нормального общения с командой, будь ты хоть трижды звездой, будешь тащить проект в другую сторону.
Работаю по специальности с 2000 года. Синьором себя не считаю, потому что есть столько всего, что я не знаю/не понимаю. Так, обычный узкоспециализированный миддл, который не пройдет собеседование на джуниора в среднестатистическую компанию.

Платон говорил: «Я знаю, что ничего не знаю!.. Я с ним полностью согласен.
Если человек знает и видит кто хороший синьор, а кто пустышка, но сам при этом не горит это всё учить и становиться хорошим сеньором, то этому человеку дорога в управление. Это будет управленец, который понимает, что происходит, понимает сроки и реальный способ работы программистов, понимает кто синьор, а кто хрен с горы. Если научиться хвалить, а не ругать, то выйдет тот самый редкий хороший менеджер, которых мало.
Мне кажется, что эту статью было бы неплохо, еще продублировать на одном извесном «итальянском» сайте об ИТ.
У Фила потрясающее умение писать статьи полные страданий и собирать хайп. Причем я не понимаю чем эти статьи вывозят. Наверное довольно смелыми заявленяими о собственно личности. Обычно люди огибают эти углы.
Ты не боишься кстати, что тебя после такого на работу брать не будут?)) Типа «оу это тот чувак, который не сеньор, ну нах»
Ты не боишься кстати, что тебя после такого на работу брать не будут


Это ж хорошо. Зачем работать с людьми, которые так мыслят?
Шо, опять??!
Фил, Вы бы уж кружок программирования в школе вести начали.
Детишки бодрят, знаете ли.
Спасибо за интересную статью. Есть вопрос, как Вы поняли, что недотягиваете до мидла? Какие задачи нужно уметь решать, что бы называть себя мидлом и не краснеть?

Я джун, которого из вежливости называют мидлом.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации