Pull to refresh

Comments 284

UFO landed and left these words here
Я бы сказал, что тут стеб даже не над программистом как таковым, а над правилами игры в IT, которые существуют на сегодняшний день, в которых можно быть овощем, главное соблюдать правила и прослыть хорошим программистом)

Проблема в том, что вы можете заменить слово IT почти чем хотите.)

Я бы даже отметил что в ИТ это слабо проявляется, для примера почти любое гос. предприятия и начальника средней руки (начальник отдела или сектора ) вот там совсем огненно.
Есть, кроме Java, Python который сделал один человек как таковой. Более того, он сделал его для таких же как он одиночек. Там нет таких проблем, как тут. Хотя есть другие конечно, но такая альтернатива лучше чем вообще ничего.
Намедни заполнял анкету.
Так вот, в этой анкете были такие пункты:
Ваши проф. достижения
Опишите ваши сильные и слабые стороны
Как проводите ваше свободное время
Сначала хотелось написать в таком же духе, как у автора сего поста, а потом подумалось, как же я всё это уложу по три строчки на каждый пункт, далее добавилось сомнение, что это будет кто то читать кроме СБ, плюнул.
Это скорее всего не стёб над программистами, а над представителями из второй плашки, которые такие вопросы задают.

Почему все же продолжил заполнение анкеты для сб?

СБшника скорее интересуют паспортные данные и родители, а так же галочка про запрос информации из БКИ, что я сделал в полном объёме.
Как-то на собеседовании будущий тимлид (или менеджер, я ХЗ, как их отличать) спросил, как я провожу свое свободное время. После моего ответа переспросил о занятиях, не связанных с программированием. Как-то неловко было молчать в ответ.
Отличать просто, тим лид работает с командой, PM работает с проектом, местами их области пересекаются но фокусы такие. Иногда один человек занимает обе позиции, на более менее сложных проектах это плохо (у них разные приоритеты а значит у человека начинается конфликт целей, балансировать между ними далеко не каждый сможет, лучше когда они друг друга уравновешивают).

Вопрос о хобби, на самом деле достаточно важный. Он говорит о характере человека, ведь хобби это чем человек добровольно и с интересом занимается. Характер нужен чтобы понять насколько человек будет совместим с командой, все же часто в разработке нужна именно командная работа. Кроме этого хобби говорит о личностных качествах человека. Шахматы в качестве хобби предполагают одни черты характера, экстримальный туризм другие, чтение фантастики запоем третьи. И в каждом есть положительные стороны. Все это скорее дополняет портрет а не определяет. Ну и так же это тема «на поговорить». Человек когда общается по тому что ему интересно раскрывается, исчезает неловкость, это довольно неплохой способ снять напряжение на собеседовании и перевести его в то чем оно и должно быть — встречу нескольких профессионалов с целью понять будет ли им интересно и комфортно работать вместе и подходит ли кандидат к компании, команде, проекту а так же подходит ли компания/команда/проект кандидату.
Хотя да, случаются ситуации когда собеседующий не понимает для чего он задает вопрос, действует тупо по анкете, потому что прочитал где-то пару статей «как проводить собеседования».

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

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

Кто такой PM, определить действительно легко. Тут же речь о просто менеджере. Ну, о том чуваке, который вам performance review делает, которому вы пишете, что чо-т заболели, и так далее. Неочевидно, что эта роль всегда совпадает с тимлидством.


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

— Окей. Ну а чем ты занимаешься в свободное время?
— Ну, код пишу. У меня вот на гитхабе проекты всякие есть, я ими как раз занимаюсь. Блоги читаю по плюсам и по хаскелю. Всякую abstract nonsense ботаю, читая книжки и решая задачки, как раз вот добил Type theory and formal proof, на очереди книжка по алгебре.
— Это всё очень круто, но а что насчёт чего-то, не связанного с программированием?
— Эээ… Ну… Эээ… Вообще вы знаете, это очень хороший вопрос… Ну там, статьи всякие читаю. Рандомные новости в физике, биологии, это интересно всё.
— А, ну эклетичненько так… Ясно.
— А, в авиасим гоняю иногда, но это совсем нердство, пожалуй.
— Ну да...


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

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


Это чем-то похоже на какого-то эйчара, написавшего, что ему очень понравился мой гитхаб, и предложившего мне позицию в Германии на C# frontend developer, хотя у меня весь код на плюсах и хаскеле, и страна совсем не Германия.

Например нанимать солдата который не мечтает стать генералом в компанию где вся культура заточена на высокий профессионализм работников и его развитие довольно бесмысленно.
А можно уточнить, сколько генеральских мест в компании, а так же сколько детей у самих генералов? А то вдруг окажется, что вы то нанимаете подобных, а они через полгода понимают бесперспективность работы здесь ради этой цели и вот перед вами вновь задача кого нанять на их место?
Может стоит нанимать таки людей, которые мечтают стать капитанами, майорами?
Опять отсылки на блат. У меня 2 вопроса:
1) Как вы находите такие компании в IT, мне за 15 лет практики ни одной не попалось где терпели бы блат.
2) Зачем вы в них работаете?
Не на блат, а что у ведущих могут быть любимчики/верные последователи, например, уже сейчас.
А так же, что при одном-двух местах в верхах брать сотню туда претендующих… Если они вам ответили правду, то вы сами себе выкопаете проблему, когда они обнаружат, что в компании развитие им не смогут обеспечить, ведь тогда действительно стремящиеся в генералы просто покинут вас, возможно строем.
То есть разговор про место генерала вести хорошо тогда, когда вы сами четко можете дать план развития сотрудника на эти же три года, чтоб он мог претендовать. В противном случае, это обмен условностями: одни заявили ради галочки, а вторые соблюли правила игры…
Помимо амбиций генерала — нужно проявить очень много чего чтобы им стать. И черты характера и достижения и софт скиллы и умение вовремя оказаться в нужном месте и связи и т.д. Иногда даже такую черту как Удача +3(00). И если потенциальный кандидат в генералы этого не понимает — то выше капитана-майора ему не выслужиться.

Система, которая набираем 100 солдат, чтобы 2 из них стали генералами, 15 полковниками и под, 30 — кэпами и майорами, в курсе, что по пути многие не выдержат и отвалятся. Не стоит беспокоиться за систему. Стоит беспокоиться что и как сделать самому, если на полном серьезе пришел в такую систему.
Так понимаете ли, утверждается, что брать надо только тех, кто мечтает стать генералом. На что я задаю логичный вопрос
Может стоит нанимать таки людей, которые мечтают стать капитанами, майорами?
Человеку с таким набором перков скорее всего будет плевать, планируется ли системой его повышение, он его в любой компании добьётся, даже там где этого не ждали
Конечно нет. Если есть пирамида разработчиков, то что бы все претенденты в конечном счете стали синьорами нужен бесконечный приток джунов.
Вопрос о хобби, на самом деле достаточно важный, но совсем не поэтому. Он мало что говорит о характере человека. Ну скажет вам человек «я собираю марки» — много о его характере вы поняли? Те, кто задает этот вопрос и понимает, для чего, делают это, чтобы сделать ситуацию общения менее формальной и более доверительной. Вот тогда и можно что-то разглядеть про характер, в первую очередь — по поведению человека. А все остальные задают этот вопрос потому, что не знаю, чего бы еще такого спросить.
Это невежливо, но можете выложить любую свою фотку, лучше в галстуке. Мне всегда было интересно, как же на самом деле выглядит Дилберт.
У меня галстука нет :(

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

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

Из реальной вакансии Data Engineer крупной галеры в Санкт-Петербурге. Постеснялся указать на этот пункт как 1 из причин отказа от собеседования. HR'ы, надеюсь, и сами понимают, что заставлять разработчиков писать эссе — ересь (думаю эссе — прихоть директора).

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


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

Помню от меня однажды в обязательной анкете потребовали ВЕСЬ список софта с которым я умею работать.
Ваши проф. достижения
Опишите ваши сильные и слабые стороны
Как проводите ваше свободное время
… добавилось сомнение, что это будет кто то читать кроме СБ,

Это точно у вас была анкета для СБ, а не HR?
СБ у меня (на другой работе) требовало совсем — список родственников с подробным указанием кто из них когда был за границей и с кем общался. Такое ощущение, что анкета была авторства СМЕРШ. Потому что другие СБ, если что и спрашивали, то отсутствие судимости и отсутствие состояния на учёта, а этих интересовали только заграничные контакты.
Помню от меня однажды в обязательной анкете потребовали ВЕСЬ список софта с которым я умею работать.

ну это просто: apt list --installed
и вы по каждому пункту оттуда сможете уверенно сказать что можете с ним работать?
каков был вопрос, таков и ответ, причем емкий и краткий одновременно, а также в рамках темы )
Но ваш ответ уже однозначно содержит неправду
Если бы вы описали не ВЕСЬ софт, то просто бы не договорили (забыли?). А т.к. вы указали конкретный список, то уже целенаправленно обманули
Это существенная разница
Если я отвечу что умею пользоваться браузером — я также «целенаправленно» обману?
Я ведь не знаю его всех возможностей и не пользуюсь ими!
Ну нет, пользоватся браузером — это странички смотреть, необязательно всеми функциями

А вот если бы вы мне ответили таким списком на вопрос, я бы взял и выдернул пару пунктов, вот например таких:
crda/disco,now 3.18-1build1 amd64 [installed]
cups-pk-helper/disco,now 0.2.6-1ubuntu3 amd64 [installed]
(или вообще ченить из десятков lib*)

и спросил: Вы умеете пользоваться этими штуками? или хотябы знаете без гугла что они делают? ответ «ща мануал почитаю» — тут не прокатит, вы уже ответили что умеете ими всеми пользоваться
пожалуй я не стану к вам устраиваться, уровень занудства зашкаливает, а чувство юмора отсутствует )
и вы по каждому пункту оттуда сможете уверенно сказать что можете с ним работать?
А что значит «с ним работать»? Открыть, закрыть, сохранить документ? Или это означает знать идеально его функционал? Тогда ни с каким. Я даже ВЕСЬ функционал обычного офиса не знаю. А у той же винды…
Вы умеете пользоваться этими штуками? или хотябы знаете без гугла что они делают?
Гм, извините, но я физически не смогу запомнить название всего софта, в котором я что-либо когда-либо успешно делал. Одних медицинских утилит — десятки. Разновидностей офиса — тоже с десяток ( с учетом всех версий МС). И т.п.
UFO landed and left these words here
Гм, извините, но я физически не смогу запомнить название всего софта, в котором я что-либо когда-либо успешно делал.


Ну вопрос то подразумевает основные пункты, типа офис, фотошоп какойнить, корел… если вы офисный работник, или спец.софт если вы устраиваетесь как специалист
явно же люди не хотят услышать каконить winpopup или mshearts в списке софта который вы умеете использовать

понятно что вопрос глупый, но если на него отвечать apt list --installed то я просто не смог бы не задать вопрос который задал

А что значит «с ним работать»?

Да хотябы сказать что делают программы из списка
Да хотябы сказать что делают программы из списка
Извините, но не смогу по причине того, что поработал за десяток лет наверное уже с тысячей разных программ и утилит. И по большей части, они все — одинаковые…
но вы же не будете отвечать на вопрос «каким ПО вы пользовались?», списком всего ПО которое у вас установено?

p.s. ну вы перечитайте тред на который вы отвечаете же
Прочитал:
в обязательной анкете потребовали ВЕСЬ список софта с которым я умею работать.
А что, надо не весь список указывать?
А что, надо не весь список указывать?

Указывать надо то, о чем можете ответить. и не указывать о чем не можете
в обязательной анкете потребовали ВЕСЬ список софта с которым я умею работать.
Я умею работать с кучей софта, но а) названия всего этого я не помню, б) ответить что?
И да, стояла задача именно то, что написано, а не то, как вы интерпретируете. Я тоже могу врубать режим зануды.
Я тоже могу врубать режим зануды.

ответ apt list --installed это и есть режим зануды, тот кто это ответил — первый начал
Помню от меня однажды в обязательной анкете потребовали ВЕСЬ список софта с которым я умею работать.
Включая Norton Commander? :-)
Первая часть тру стори, остальное притянуто за уши.
Да это ж тоже true story
Я месяц делал фичу, которая при самых оптимистичных расчетах отбивалась бы 437 лет. (заказ швабр для уборщицы) в ERP.

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

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

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

Просто на момент написания моего прошлого комментария автора довольно бодро сливали по карме. И накладывая свой скромный опыт наблюдения и за НЛО, и за теми кого оно вытащило из песочницы, начал думать, что НЛО просто циничный маньяк убийца.

Собственно это было переживание за автора

НЛО прилетело на Хабр с миром и старается выпускать лучших и/или реально интересных. Что касается кармы, то её дико не сливали, автор вернулся на Хабр с заслуженным когда-то приличным минусом. И как видим, отлично реабилитировался.

Статья очень неплоха для праздничного дня и является неплохим примером сарказма. Почему бы не выпустить?

является неплохим примером сарказма

грустным голосом: А где сарказм? По-моему человек просто законспектировал реальность…
PS. Не, я всё понимаю, но в карму-то за что? Хабр…

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

Ваша реакция?)
Знаете, ваше красочное описание вдруг напомнило мне старый баян про * цирк.
Но размещу я другой, за который меня не забанят
image
И который удивительно точно иногда описывает происходящее вокруг
Боже, какая прелесть!
Не видел раньше. Спасибо.
Ах вот откуда пошло выражение «Цирк с конями»! На самом деле саму фразу я частенько слышу и предполагал, что смысл в ней именно такой и будет) Шедевр!

Позвольте-с, а за который гипотетически могут забанить, как-нибудь можно было бы глянуть, может быть какими-нибудь двусмысленными намеками адресуете, или еще как-нибудь?)
Ну, там более краткое объявление, как вы могли заметить)
Увы, это не сарказм, а суровая проза жизни.
У статьи только один недостаток — обилие грамматических и пунктуационных ошибок.
Лично я посчитал это особенностями стиля. Это же пародия, нет?
Хе-хе… если вы считаете что автор лжет, то вы себе льстите. Ну или вы ПМ, т.е. эффективный ПМ
UFO landed and left these words here

Мне это напомнило очень старый боян:


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

Жизненно. Например вопрос на собесе " назовите свои отрицательные качества". Да черт, у меня может быть куча отрицательных качеств (как и у всех). Но с чего вы взяли, что я вам их скажу. Но такие правила игры.

Я люблю ковыряться в носу и коллекционирую обломаные ногти! Честно и работе не мешает…

Смотря в чьём носу, и смотря где размещаете коллекцию. :)

ну а чего такого, я откровенного говорю, что я и пунктуальность вещи несовместимые)
Да, это боль!
Когда нужно ежедневно в одно и то же время нарисовыватся в одном и том же месте )
— Я могу быть пунктуальный если это не каждый день нужно, если каждый то так работодателю и говорю что этот пункт договора выполнен не будет.
Люблю программировать, а потому чувствителен к стеку и грустнею от некоторых языков, например.
Ну тут собеседователь неопытный был.
Кто ж про свои плохие качества говорить будет, а если и и будет то заготовку расскажет к реальности не имеющую отношений ).

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

Я ранимая творческая личность с тонкой душевной организацией. И по этому, как всякий честный, мыслящий человек в России — пью!
Мне настолько понравился комментарий одного товарища с хабра, что я даже добавил его в закладки, и тут мне очень хочется его процитировать. Приведу лучше полностью:
Я не писал, что отрицаю депрессию. Депрессию нужно лечить, бороться с ней. А ночной кодинг и примерзжая к губам сигарета этому не способствуют. Это инфантильный романтизм, упивание собственным страданием. Жаль, что на такое ведутся толпы людей. Срабатывает принцип «это обо мне», все считают себя тоже выгоревшими и пишут посты.
(с) Ivan Grishaev, из поста habr.com/ru/post/436202
Иногда перехожу дорогу на красный свет.
Я около недели потратил, на то что бы комбобокс выезжал ни сверху, а справа.
Я руководил 4 человеками и мы полгода делали один проект, который я в одиночку мог сделать за неделю.

Бывает и так. А второй пункт называется обучение или подготовка смены.

UFO landed and left these words here
Я делал микросервис для увеличения надежности основной бизнес-логики, и да этот микросервис крашился в 20 раз чаще, чем бизнес-логика
Добрый день, а вы случаем не у нас работаете?)
Если не у вас, то точно у нас )
По этому мы и получаем все описанное выше, что все вот так плывут по течению и не заботятся о продукте, сказали писать говно пишем говно, не обращая внимания даже если месячная работа просто уходит в стол, продаем свое время и кормим всю армию из пункта 3 первого раздела. И таких примеров полно в других сферах, но там, если ты плохо работаешь, тебя могут уволить, а у нас «уважаемый программист» годами делает деливери и всех устраивает.
«Уважаемые программисты» здесь при чём? Ты им говоришь, что так не надо, но у менеджеров своё видение, и ничего с этим сделать нельзя. Об этом второй пункт:
Люди считают меня позитивным и договороспособным. Я всегда вежливо и ненастойчиво сообщаю, о том что в таске написано сделать каку. И только один раз. Потом не спорю. И когда я доделываю таску и она оказывается какой, я не смеюсь, и не говорю «Яжговорил!».
Можно самому стать менеджером, чтобы как-то влиять на процесс, но
Вертел я ваш тимлидство, сами знаете где.

И вот мы и получаем замкнутый круг. А потом спрашивают почему у нас в стране все молчат, когда государство затягивает гайки, потому что никому ничего не надо.
Можно самому стать менеджером, чтобы как-то влиять на процесс, но
Тогда какие претензии к «Уважаемым программистам»? Те, кто может влиять на процесс, стали менеджерами. Или суть претензии в том, что программисты не становятся менеджерами?

Вы предлагаете сменить любимую профессию на нелюбимую исключительно ради блага других людей?

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

… вдруг оказывается, что уменьшение на единицу кол-ва стоящих над вами менеджеров особо не помогает «влиять на процесс». Но зато очень хорошо добавляет всякого нового геморроя. Не говоря уже о том, что «менеджеры нижнего звена» вылетают из компаний чаще, чем «ключевые девелоперы». Тем более, когда эти самые мэнеджеры высказывают несогласие с «линией партии».
UFO landed and left these words here

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

UFO landed and left these words here
Что мешает «творить» в рамках таски/ТЗ/сроков?
Таска, ТЗ и сроки.
Хотите больше свободы идите во фриланс.
С этим не поспоришь.
С этим не поспоришь.
Спорю. Во фрилансе что нет «таски/ТЗ/сроков»?
Есть. Но там реально больше возможностей, ибо там всё это более глобально проставляется, ближе к конечному результату. Соответственно, больше свободы (творчества) в процессе. Если же задачи ставятся ежедневно (как и сроки с ТЗ меняются) — ну, это несколько другое уже. Я бы сказал даже — принципиально другое.
Во фрилансе вполне обычное дело, когда «таски/ТЗ/сроки» обсуждают конкретно с тобой. Правда, в случае чего, объясняться с клиентом — тоже тебе.
Угу, я часто наблюдал что программисты какое-то время работавшие в чистом нормальном фрилансе (не путать с постоянной удаленной работой на 1-2 клиентов), которые и искали клинетов, и обсуждали с ними проекты, и давали оценки и все это реализовывали, они более ответственные и лучше понимают зачем же нужны сроки и ТЗ. И реже жалуются на «начальника». Фриланс очень неплохо лечит от инфантилизма и идеализма в разработке.
UFO landed and left these words here
А лучше — идти из программирования в менеджеры.

Заниматься нелюбимой работой чтобы получать меньше денег?
Вы это серьезно?
UFO landed and left these words here
Работать в почте/мессенджерах/переговорках. Вместо IDE.
Создаваемое агитаторами, утверждающими, что программирование — творческая и высококвалифицированная работа.

Я 15 лет работаю, и до сих пор в это верю.
Среди моего окружения те, кто в это не верил, остались на уровне джунов, даже несмотря на внушительный стаж.
ИМХО творческая работа — это, прежде всего, проявление инициативы: т.е. придумать и создать что-то с нуля. Конечно, толика творчества есть и в программировании, но в подавляющем большинстве случаев никакой творческой работы от ITшника не требуется и рамки профессиональной активности вполне осязаемы.
Как в любой профессии, есть задачи творческие, есть рутинные. Есть задачи к которым можно было бы подойти творчески но решили топорно, и есть рутинные в которых накреативили так что хочется рыдать и сказать много нецензурных слов тем кто их реализовывал. Творчество не в создании с нуля, творчество в нестандартном но оправданном, креативном (в хорошем смысле этого слова), решении задачи. И в этом программирование довольно творческая профессия, у нас нигде нет чистого копирования (в духе вытачить 200 одинаковых деталей), в каждой задаче есть что-то нестандартное, ведь если бы было стандартное то достаточно просто подключить нужный уже написанный код. Но даже найти, оценить и выбрать этот код это часто тоже творческая задача.
Ну а то что мы при разработке базируемся на своем опыте, готовых привычных подходах, паттернах (в общем смысле) и внешних решениях — ну так и художники (если они не абстракционисты-неформалы в духе набрать краски в рот и плюнуть на полотно) в своей работе используют и свой и чужой опыт и привычные паттерны, и архитекторы, и композиторы, и тем более писатели.
Даже из вашего ответа ясно, что в программировании, в общем случае, не поощрается нестандартное решение задач. И не надо недооценивать количество рабочего времени, которое тратится на «достаточно просто подключить нужный уже написанный код». Большинство кодеров, к примеру, именно что сидят и заставляют работать чужой код.

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

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

Оценка и выбор кода — это НЕ творческая, а рациональная задача. Творческая оценка — это необъективно и плохо. Вообще, выбор подходящего инструмента — это опыт и профессионализм, а не творчество.
UFO landed and left these words here
«Даже из вашего ответа ясно, что в программировании, в общем случае, не поощрается нестандартное решение задач» — не поощряется креатив ради креатива и во вред всему остальному. собственно как везде. Я не могу назвать такой креатив творчеством.
А лучше — идти из программирования в эти менеджеры.
Почему в менеджеры-то? Есть еще архитекторы…
Отдельные архитекторы не в каждой компании есть, а менеджеры есть везде.
«а по-факту программист тупо пилит то, что ему скажет менеджер.» — или не тупо. Лучше всего когда программист работает «вместе» с менеждером а не «на менеджера». У программиста есть своя экспертиза и большинство адекватных менеджеров и прислушаются к его словам и расскажут зачем эта фича нужна бизнесу. И будут рады что программист сообщил им техническую точку зрения на проблему. Просто нужно говорить с менджером, предлагать решения и творить в области технической. Хороший программист вместо «из-за этой фичи мы вынуждены воткнуть костыли, давайте не будем это делать» спросит зачем она нужна с для бизнеса, опишет опасность кучи костылей и предложит решение которое (возможно с изменением поведения фичи но сохранением бизнес целей) хорошо ляжет в текущий код (или запланирует рефакторинг кода). Нужно не забывать что в любой компании программисты (как и другие позиции) занимаются реализацией задач бизнеса, это работа, а не кружок по интересам. У этой работы есть определенные цели, финансовые и другие, и любое решение (даже рефакторинг) нужно аргументировать с точки зрения бизнес целей.

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

Ну и не забываем что творчество и «я хочу тут применить новую базу, новую тулу и еще кучу паттернов просто потому что хочу попробовать» это разные вещи. Не путайте творчество, развлечение и обучение. Их можно совмещать но нужно понимать цели и задачи и творить под них, а если «креатив ради креатива» то это и сорванные сроки и низкая эффективности и на выходе ужасный код и куча багов, потому что каждый начинает творить по своему и вот тут начинается ад. За безграничным творчеством это к художникам, там можно примотать к хоботу слона кисть, он помажет им по полотну, и презентовать это все как форму искусства. Иногда даже продать это можно весьма неплохо.
Последние 3 месяца работаю за границей и тут все еще более гипертрофированно, а если вы будете ходить с кислой миной или тем более говорить, что-то кроме восхищения, то с вами никто работать не станет т.к. вы будете слыть депрессивным, агрессивным и заносчивым.

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

заграница бывает разная.

У американцев действительно есть инфляция прилагательных, и «interesting» означает «я нихрена не понял в вашей презентации», а «very interesting» — «ну ок, не полностью потраченное время» (и так далее)

Немцы же часто говорят как есть, если идея — барахло, то так и скажут.
UFO landed and left these words here
КДПВ напомнила:
— Ваши сильные стороны?
— Настойчивость!
— Отлично, мы вам перезвоним.
— Спасибо, я здесь подожду.
Или:
— Ваши сильные стороны?
— Уверенность в себе!
— Отлично, мы вам перезвоним.
— Нет, я к тому времени уже найду работу!
UFO landed and left these words here
Или:
— Ваши сильные стороны?
— Cамоуверенность!
— Отлично, мы вам перезвоним.
— Да нахрен вы мне такие дались, я лучше запилю свою компанию!
UFO landed and left these words here
Или:
— Ваши сильные стороны?
— Грамотность!
— Отлично, мы вам перезвоним.
— ПерезвонИм!
UFO landed and left these words here
А ещё у вас аутоимунное. ©
Я просто восхитителен в презентациях. Особенно, если нужно презентовать недоделанное днище. Я мастерски обхожу баги на презентации программы. Однажды я два часа презентовал окно логина, потому что дальше программа не работала. Да и логин работал не всегда.

Вы наняты на программу импортозамещения (остальное можно было и не писать)

ожидалось, что они захватят мир

как же знакомо… =)
Как вам удалось так мягко и толерантно описать типичный бардак? Поставил плюс :)
Aluminium — та же ерунда. Написано «алюминем» (əˈlo͞omənəm и некоторые так и говорят), а говорилка воспроизводит что-то типа «алуминийем». Бардак какой-то в этом вашем английском :)

Попробуйте русские слова по транскрипции почитать (как в учебники русского для иностранцев)… Получится дичайший акцент

Написано «алюминем» (əˈlo͞omənəm и некоторые так и говорят), а говорилка воспроизводит что-то типа «алуминийем».

А вы пишите aluminum и нормально всё будет ))

Подтверждаю, что нативные британцы говорят «эджайл».
UFO landed and left these words here
Наконец хоть один честный человек появился )
-
В первой части автор говорит, что соглашается делать каку, а в конце что на его проекты никто не заходит. Я увольняюсь их проектов, которые делают каку и честное резюме выглядит на несколько порядков лучше. Того же желаю и автору, пока не поздно.
увольняюсь их проектов, которые делают каку
Возможно, у Вас несколько иные критерии для увольнения, чем у большинства. Как и критерии каки.
Всё так.

Литературный герой в т.ч. сознается, что он говнокодер (см. Hard Skills) и ему норм. Допускаю, что в этом случае разборчивость приведет не к улучшению резюме, а к затяжной безработице — на собеседованиях спрашивают вещи, которые в посте помечены «я не знаю», «я не понял». И ладно бы что-то сложное было перечислено, так ведь азы.

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

Проработка альтернатив может занять 2 часа, или 4. Нужно полностью проверить, что твоё предложение действительно реализуемо, что всех данных хватает и оно подходит ко всем сценариям. Чтобы потом не краснеть за высказанную фигню не в тему. В какое время заниматься бизнес-анализом — в рабочее или в нерабочее?
И в рабочее и в нерабочее. Зависит от компании и вас. Но если компании нужны инициативные и вы докажете что можете взвешенно и аргументированно предложить решение/альтернативу (возможно потратив сначала свое личное время на это) то и рабочее время вам выделят. Во многих проектах такие разработчики ценны. 2-4-40 часов обычно на такое не жалко если в целом это спасает от потерь сотен и тысяч часов, денег и в целом весьма положительно сказывается на продукте.

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

Вкладывать личное время и личные нервы в чужой продукт, как бы это сказать помягче, — не самое умное поведение. Есть личное время — вложите в личный проект, в семью, с друзьями пообщайтесь, ну или, на худой конец, почитайте книжку. Увы, иногда мы это понимаем слишком поздно.
UFO landed and left these words here
Ваше время (время вашей жизни) — ваш самый ценный и увы невосполнимый ресурс. Имеет смысл относится к нему бережно, продавать за дорого. Если нужен доп опыт имеет смысл получать его каким-то более эффективным способом: вложив личное время в личный продукт, изучив интересующую тему по туториалам ну и т.п… Бится с ветряными мельницами в чужом продукте, тратя нервы и личное время — это способ получить розовый лишай, а не востребованный опыт, уж поверьте.
UFO landed and left these words here
Я говорю о том, что если вы видите что-то, что можно улучшить, почему бы нет.

Так я ведь и не возражаю. Но только строго в оплаченное работодателем время, в одобренном работодателем объеме.

Тратить 8 часов каждый день (1/3 жизни) на то чтобы делать в терминах автора «каку» — это тоже не вариант.

Почему не вариант? Автору же за это заплатили, он свое время продал, дальше этим проданным временем распоряжается начальство — сказало сделать плохо, автор сделал плохо, и даже предупредил перед этим.
UFO landed and left these words here
Давайте по другому, более конкретнее. Допустим, вы хотите увеличить свою зарплату в 2 раза, какими будут ваши действия?

Не уверен зачем вам нужен ответ на такой вопрос. Оставаясь в рамках той же сферы деятельность, надо поглядеть на рынок, как далека ваша зарплата от текущих рыночных реалий, если вы долго сидели на одном месте, возможно достаточно поменять работу на аналогичную, но в другой компании. Далее, переезд в зависимости от вашего текущего положения: в СПб, в Москву, за гранцу, но там сложности визового характера. В целом, рост и зарплат и позиции гораздо проще достигается путем смена места работы. Так же должен заметить, что иногда зп в два раза повысить не реалистично.

Плоха та фирма которая желает себе сделать плохо )))

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

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

Бывает по разному я так полагаю, например бывает, когда планы на продукт не соответствуют имеющимся ресурсам (и количеству и качеству), начинают резать углы, предпочитают ad-hoc решения, игнорируют коннер кейзы при выборе подхода, не инвестируют в инфраструктуру, качество кода, контроль качества. Иногда творится что-то совершенно необъяснимое.

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

Бывает и так наверное. Но обычно, когда всё делают плохо о перфекционизме говорить уже не приходится.
UFO landed and left these words here
Ну если менеджерам (т.е. и компании) не нужно чтоб вы находили решение, «которое повысит роизводительность труда, снизит издержки и увеличит прибыль», то вам-то это зачем?
UFO landed and left these words here
Так ведь и я ровно об этом говорю
UFO landed and left these words here
UFO landed and left these words here
Контор где выполняют сложные задачи всегда меньше чем тех что штампуют по шаблонам, такое не только в программировании а в любой области. Но и людей которые могут работать «на переднем крае» гораздо меньше чем тех кто умеет/хочет простые задачи от звонка до звонка. Я там ниже написал простыню про несовпадения ожидания с реальностью.

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

habr.com/en/post/433242
habr.com/en/post/446186
habr.com/en/post/404037
habr.com/en/post/436614
Последние несколько лет жизни в одной статье. Даже не знаю: смеяться или плакать?

Если это место твой выбор и твое решение, то смеяться, если нет — плакать.

может лучше что-то поменять?

Мне кажется смешали достоинства и недостатки и предоставили как недостатки. Или я вообще не понял задумку.
UFO landed and left these words here

Да это башорг(я заходил 1 или 2 раза) в it. Чего же вы хотите? Либо цензура, либо свобода слова.

UFO landed and left these words here
После слияния с гиктаймсом, особенно учитывая открытую регистрацию это было ожидаемо, нет?

Хабр сейчас больше гиктаймс, чем хабр. Программисты остаются больше по привычке, но не удивлюсь, если людей который просто решили на подборку самых крутых приложений на андроид за май 2019 посмотреть больше, чем разрабов.
А в Додо Пиццу они бы его не взяли, в пицце не любят честных, наверно.
Я месяц делал фичу, которая при самых оптимистичных расчетах отбивалась бы 437 лет. (заказ швабр для уборщицы) в ERP.

Очень редко на рынке встретишь программиста, который понимал бы Business Value той либо иной фитчи
В компании 20к+ сотрудников швабры и всякая хозяйственная мелочь заказываются несколько раз в день, функция реально нужная. Как вы считали «окупаемость»?

Я поделил стоимость труда, потраченного на создание фичи на стоимость труда, которая она экономит в год. Там не про уборщиц на самом деле, но я автоматизировал событие, которое происходит 1-3 раза в год и занимает 15 минут труда оператора на компе. Это внутренний продукт на продажу он не идет.

Я просто тоже автлматизировал процесс заявок на "метлы/швабры" и знаю, что там не просто заявочка. Там и деньги-закупки и себестоимость отделов и вычисление нормативов потребления. Поэтому я и спросил, как вы посчитали эффективность автоматизации?

сможете обьяснить почему? какие именно его качества вам так подходят для ваших задач?

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

Хех, перекройте сначала венттунель к главному реактору рабицей хотя бы, а то вдруг залетит кто-нить. А у вас пво надежное и нечего бояться? Ок, но я хотел бы удаленно работать.)))

Стартапы не умирают из-за говнокода, но от того, что никому не нужны. Кстати, я не говнокожу.)))
Какая разница отчего они умирают, если они умирают. А перед этим у них заканчиваются деньги. А у программистов зарплаты.
А при чем тут говнокод?
сможете обьяснить почему? какие именно его качества вам так подходят для ваших задач?
Честность.
ох, обнять и плакать…

хочу уволиться, думал в марте где-то в ноябре прошлого года…

ничего не работает,

пилю сервисы полтора года, часть клиентов перевели, остальные ждут, приехали запросы новых функций, начал делать, сделал — недопроверили, в лайв не ушло, приехали новые фишки, начал делать, недопроверили, ..., прошло пол-года, в пятницу в 16:00 прилетает срочность вытащить 1 фючер из дев-бранчей (фронт и бек), выпилили и залили, разрабы ушли кудато пить, начались проблемы, менеджеры\бизнес-овнеры\етц. орут: «ДАВАЙТЕ ОТКАТЫВАТЬ»… разрабы понимают — лучше не трогать, натыкали костылей — жалоб меньше…

делал импорт, 2 недели, работает, но не точно, приехал фючер, концепция поменялась — мы обосрались, неделю переделывал импорт, в инстанс 10гб пытался импортировать 12гб фотографий, удалять старые показалось тупо\интересно, мучался несколько дней, удалил старые фотографии, приехал фючер — опять ломает всю архитектуру (дизайнерам виднее)…

последние месяцев 6 работаю обезьяной, очень удобная позиция, мне говорят — делаю, ставлю в известность что может пойти не так, говорю 1 раз, когда слышу: почему не сказал менеджеру что так не получится — говорю: мне говорят, я делаю…

ой, из позитивного: наняли в компанию год назад группу людей настроить деплоймент, настроили кое-как, за почти 2 месяца за уйму денег… на днях получил такую же задачу, справился за час, попросили никому не говорить и не рассказывать как, говорят: «некоторые обидятся».

По последнему пункту — имел такой опыт. Хороший человек (не непосредственный начальник) попросил посмотреть на некий код — почему медленно работает. Собрались еще с двумя коллегами, оптимизировали раз в 30. Потом еще один компонент. Потом сделали презентацию с примерами кода «до» и «после» для всего отдела (не называя имен, разумеется — хотели как лучше). А потом пришло очередное календарное performance review и нас, обозвав высокомерными и оторванными от коллектива, прилично обошли с бонусом.
Как результат — все трое из того проекта ушли, а он так в продакшен и не вышел (там своеобразный real-time, хотя и не в привычном понимании — если не успевает вовремя то фичи уже не важны).
3.10. Наш УИ-дизайнер — вот он тут и говорит умные вещи, а Матиас Дуарте, может быть, даже не существует. Вместе с Мэрилэндом и Силиконовой Долиной. Я вот, лично, никогда его не видел!
Про «делать каку» — это кстати вполне нормальная ситуация.

Если начинаешь вникать в задачу, постановку, бизнес цели и прочее, то автоматически разделяешь ответственность за результат. А значит, если что-то пойдет не так (что при новых фичах 50/50, тебя будут трахать вместе со всеми продактами и проджектами). Только надо понимать, что их трахают за их работу, а тебя трахают за инициативу.

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

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

___

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

Так что соглашусь — каждый должен заниматься своим делом.
Болт к носу, забиваешь на бизнес и фигачишь какахи… Мде, не хотел бы я работать в таких условиях.
О да! Подпишусь под каждым словом, кроме сетеров и гетеров, конечно. Сетеры и гетеры — наше всё. Слава богам, идея умеет генерить их в два клика.
Мне все же больше нравится подход котлина, дарта и т.п. где их можно не писать до тех пор пока они не понадобятся, при этом интерфейс класса не меняется.
Правильный подход, как мне кажется.
Эх, сколько же времени я потратил, пытаясь выяснить, зачем их лепить где ни попадя, включая DTO-объекты. После такого опыта я точно знаю ответ на холиварный «Что лучше, Java или .NET»?

yannmar — гляньте Lombok.
> После такого опыта я точно знаю ответ на холиварный «Что лучше, Java или .NET»?

А смысл холиварить? что начальство сказало, то и будете использовать

>гляньте Lombok.

Спасибо. Надо разрешение юротдела получать, чтоб новую библиотеку втащить, а мне лень оформлять заявку.
Проше не позднее 1 Января 2020 года обновить зависимость "json-walker" с версии "1.9.1" до "1.9.2" в связи с выявленными требованиями к функционалу, добавленному в новой версии.

Кроме того, отправляю запрос на согласование встречи по решению миграции на версию 2.0.0. Прошу утвердить дату встречи не позднее 1 сентября 2023 года.

Так что ли?

Да. Только еще надо указать лицензию, владельца, зависимости, плюс все тоже самое по зависимостям (вот например у кубернетовского клиента в дереве зависимостей еще 15 библиотек). Ну и джустификацию, конечно, необходимо лучше проработать.
Тогда почему вы там до сих пор работаете? Чем меньше таких контор выживет, тем лучше.
А что такого-то? Юридическая чистота — важный момент, помогает избежать кучи неприятностей и сопутствующих неприятностям расходов.

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


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




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

Неприятностей связанных с правами на использования библиотек, я так полагаю.
В новой версии изменили лицензирование? Такое бывает максимально редко.
И я тоже. Даже под отсутствием геттеров и сеттеров))
Хотя статья очень напоминает грустный вздох моего тимлида. Уж он-то намучился с этими каками…

Стеб зачетный. Спасибо. Взоржал. Но и тут пропаганда капитализма в шутке про рабочий день. Что плохого что человек вовремя уходит с работы? Если вы перерабатываете на работе бесплатно и при этом не учавствуете в разделе прибавочной стоимости своего труда, то вы вредитель самому себе. Труд это товар. Если вам заплатили за 8кг товара, а вы такой радостный кричите — "я никогда не отгружаю меньше 10кг поэтому держите 12", то вы идиот. Каждый человек в меру своего понимания действует в своих интересах, а меру своего непонимания в интересах того кто понимает больше. Переработки оправданны только когда вы работаете на себя или в своих интересах.
Всех с празниким труда! )))

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


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

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

LinkedList в коде на Java встречал в коде от силы пару раз за деcяток лет, сам никогда не использовал. Keep It Simple наше всё.
И, да, я тоже использую их только для приличия.

Это как так, боюсь спросить?
То есть вы пишите нормальный код не нарушая OCP и инкапсуляцию, но «для приличия» оставляете лазейки для нарушений, чтобы ими воспользовался кто-то другой в вашем проекте?
Преимущество инкапсуляции (модификаторы доступа) — это одновременно еще и главный ее недостаток. Обычно исхожу из того, что все методы/свойства должны быть public и только в самом крайнем случае меняю модификатор.
Почему? Я видел и использовал много разных библиотек — и иногда их функционала из коробки не хватает. По принципам ООП я должен например унаследоваться от класса из библиотеки и дописать нужный функционал, но я не могу этого сделать из-за того, что критически важные методы/свойства помечены private. И даже в случае с открытым исходным кодом это означает переписывание самой библиотеки и в лучшем случае потерю совместимости с оригиналом
Зато разработчики могут смело менять private-метод на какой-нибудь другой при обновлении, не боясь потери совместимости. Т.е. можно поддерживать обратную совместимость только у определённого количества методов, торчащих наружу. Если всё делать public, то разработка такой библиотеки сильно усложнится.
Наследование вредно и к ООП не относится. Есть много лучших вариантов переиспользования кода. По принципам ООП объекты имеют поведение и общаются друг с другом путем обмена сообщениями.

Вытягивание данных через геттеры/публичные поля это очевидный content coupling — один из худщих видов coupling`a(извиняюсь, что на английском, слишком много путаницы с переводами coupling/cohesion), который сильно усложняет понимание и надежность программы.
Кстати, есть очень годный доклад на эту тему на Русском — «Связать и развязать».
Хотя книги Дяди Боба(«Clean code» и «Clean Architecture»), уверен, стоит каждому прочитать.

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

А причем тут избыточность джавы? Писать геттеры и сеттеры более избыточно чем написать private перед переменной и всё.

потому как так принято в среде Java.

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

Нет, я продолжаю жрать кактус

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

Еее! Больше депрессии в массы.
Я тут пилил форму отправки пользовательского текстового контента, сил было потрачено очень много. Стоит ли говорить, что до этой формы никто даже не доходит? Упоминал ли я о своих опасениях продюсеру? Упоминал, что дизайн плохой и совершенно неюзабельный. Один раз сказал, меня послали нахер. В итоге конверсия падает из-за дизайнера, но не из Кургана, а из офиса, потому что он поумнее будет чувака на аутсорсе из Тагила.

Я сделал 3 сайта, на которые зашло меньше человек, чем его делало. Когда я делал 2 сайта я знал, что на них никто не зайдет.(ожидалось, что они захватят мир)


Ну, это не аргумент. У каждого человека есть такой сайт.
В программировании, как в принципе и в любой специальности, есть 2 крайности:
1) Абсолютная инициативность. Человек будет делать только то с чем согласен, будет доказывать (аргументированно и не очень) свою правоту по каждой задаче и с технической и с бизнесовой стороны. Если он в целом разбирается, а так же умеет слушать и слышать, готов изменить свою точку зрения при поступлении новой информации и веских аргументов, то он идеальный кандидат для: стартапы и другие компании/продукты где нужна ответственность и инициатива от каждого, экспертные/лидовые позиции в системе сдержек и противовесов или коммуникаций с «не технарями», в целом команды работающие по настоящему agile (где вся команда как единое целое хочет улучшать и продукт и свою эффективность), задач на иссследование или задач где нужна креативность и при этом взвешенный подход и соответствие технических решений бизнес задачам (техлид, архитектор).

2) Абсолютный исполнитель. Тут можно выделить 2 подкатегории:
2.1) Пофигист. Сделает все что скажут, скорее всего будет бурчать но делать. Если его в целом устраивает такой подход к работе и если он действительн делает а не саботирует и просто просиживает то он идеальный кандидат для: бодишопов, простых или монотонных задач (а такие бывают даже на самом креативном проекте), конвеерной разраобтки, проектов с недостаточно квалифицированным менеждментом.
2.2) Я хочу кодом заниматься, плевать мне на ваши бизнес цели и ТЗ. Если не совсем фанатик то в целом идеальный кандидат для: глубоко технических задач (ну как те 2 парня которые в гугле имеют 10 левел, придумали map reduce и в целом внесли огромный вклад в поисковик), программирования как науки, задач где в первую очередь нужен серьезный research и эксперименты.

В целом люди находятся где-то между этими абсолютами. И в целом бизнесу нужные они все, только в разных местах и для разных задач. Ну при условии определенной адекватности конечно. Абсолютная инициативность без результата (только спор) смысла не имеет, как и пофигист который скорее саботировать будет чем делать свою задачу.
Проблемы как обычно возникают когда у людей желания не совпадают с текущей ситуацией. Они хотели задач для 2.2 а по духу они 2.1. Они хотели бы чтобы к ним прислушивались и не делать бесмысленные фичи (1), но при этом совершенно не хотят разбиратся в бизнес целях и брать какие-то обязательства в виде сроков и планов (оба типажа 2). Это общая проблема и общая вина и менеджмента который взял не подходящего под задачи человека и самого разработчика которые работает на месте которое ему не подходит.
Еще часто человек ничего не хочет менять или в чем то разбираться, он хочет ныть. Его ожидания (возможно излишне идеализированные) не совпали с его текущей реальностью, и он не хочет менять ни то ни другое, он ждет когда все само как то придет, ну там фея прилетит с билетами на бал или дедушка мороз.
Еще часто человек не понимает что бизнес это часто риск и эксперимент. Что вот эта формочка может как принести +500% пользователей и конверсии так может и ничего и часто заранее это не известно. Тут врубается ошибка выжившего и человек запоминает только самые абсурдные ситуации когда было потрачено куча времени, результата не было а «он говорил».

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

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

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

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

Полностью разделяю эту точку зрения.
Но осознанность и идея ответственности за свои решения и их результаты — скорее "не популярна". Об этом много любят говорить, бравировать, но как дело доходит до принятия негативного результата — виноват кто-то/что-то.


Ну и плюс — у нас как ни крути достаточно "молодая" отрасль и инфантов здесь хоть отбавляй, даже в возрасте 30+.
+Ситуация на рынке, что даже самый расположений инфантильный говнокодер на java — сможет получить достаточно предложений работы чтобы выбирать среди них.

UFO landed and left these words here
Я не понял! Почему автор нагло публикует мое резюме, да еше и вылает его за свое?! Причем резюме содержит не одобренные мною вставки (я кладу с прибором на мнение идеи, когда она там что-то там подчеркивает)
>Наследование — богомерзкая вещь, если от папы наследуется всего 1 ребенок.
а как тебе самописный делегат, который наследуется упоминается ровно в двух местах — там, где объявлен, и там, где класс его реализует?
Смех сквозь слёзы! К сожалению, это резюме подошло бы подавляющему большинству «программистов», кои заполняют open-spaces компаний с мировым именем. Это я подтверждаю, как Head of R&D израильской консалтинговой компании.
Расскажите что не так с Раздел 1. Soft Skills, почему так нельзя писать в резюме?
Почему нельзя? Можно. Я например сторонник честного резюме. Конечно если у вас цель найти компаню которая вам подойдет а вы ей. Если цель получить как можно больше офферов или побольше денег тогда конечно многие пункты писать не стоит. Правда они все равно выплывуют на испытательном сроке и там уже будете решать важны они или нет. А можно было решить это сразу. Мне только пункты 7 и 8 (ну и еще немного 6) из этого раздела понравились. Но кому-то могут другие понравиться. Вопрос какие задачи стоят перед тем кого ищут на позицию, например на скучных задачах, где нужно просто «работу работать» и не возмущаться что кругом бардак — качества 2-5 весьма неплохо подойдут.

Ну по пункту 1 много копий сломано, но в целом большинство согласны с тем что если человек ничего не может/не хочет принести с собой на совещание то он там не нужен. Исключения обычно ежедневные скрам пятиминутки (хотя бы поймет что происходит в команде) и «демонстрация команды клиенту», там просто задачи отличные от «найти решение проблемы/выработать план действий».
>Я дисциплинирован. Я прихожу на работу в 9 и ухожу в 6. Мне так удобно. Я могу задержаться за двойную оплату или если таска интересная.

Приходит тимлид — «Сиди сегодня хоть до завтра но исправь этот баг. Мы оплачиваем тебе сверхурочные» — «Нет, я не хочу, потому что устал и вообще уже стою на пороге одетый» — «Уволен»

>У меня хорошее чувство юмора и богатый жизненный опыт. Я могу легко сорвать работу команды на полдня рассказами, как прошла моя суббота. Но делаю это редко, так как считаю, что мне платят не за это, а за то, чтоб я прогал какую-нить каку.
Какие то влажные фантазии.
«Приходит тимлид — «Сиди сегодня хоть до завтра но исправь этот баг. Мы оплачиваем тебе сверхурочные» — «Нет, я не хочу, потому что устал и вообще уже стою на пороге одетый» — «Уволен»» — такое бывает редко. Это я вам как тимлид могу сказать. Уволить разработчика и найти на его место нового это дорого, очень. На сложных проектах потери могут запросто превышать ЗП за пол года этому разработчику. Учитывая что в среднем люди работают в одной комании года 3 это очень существенно. Просто ради того чтобы доказать «я начальник ты дурак» или необходимости одного вечера сверхурочных, на такое пойдет только начальник-дурак. Гораздо дешевле заплатить X2-X5 за сверхурочные или дать человеку пару дней оплачиваемого отпуска за пару часов работы вечером. Или договориться по другому. Или отпустить его домой и запустить «форс-мажор». Единственное когда такое увольнение имеет смысл — если сам подход к работе в компании подразумевает периодические сверхурочные всех людей (стартапы например, или очень ответственные проекты). Тогда да, лучше уволить человека и найти более подходящего по духу к такой работе. И то это делается не сразу в духе «прямо счас собирай вещи и вали».

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

Общий вывод, если тим лид так говорит (кстати тим лид очень редко в одно лицо может сам принять решение об увольнении члена команды) — нужно или менять тим лида или компанию, там все плохо.
С другой стороны все эти свободные графики и прочие плюшки в целом нацелены в том числе на повышение лояльности. Если человек просто не может остатся пару в этот раз на сверхурочные доделать задачу срочно (при условии что такая ситуаций 1-2 раза в год, не большье) это одно, а если просто не хочет по принципу «мое рабочее время закончено, мне плевать на компанию, продукт, команду, у меня по плану уютное кресло и сериал» то совершенно другое. Лояльность и интерес к продукту для многих проектов критичны. В такой ситуации можно и задуматься над тем чтобы заменить человека, несмотря на финансовые и временнЫе потери. Но если это условно галеры и там главное чтобы код писал и заказчик не жаловался то в целом «пусть работает».
Люди считают меня позитивным и договороспособным. Я всегда вежливо и ненастойчиво сообщаю, о том что в таске написано сделать каку. И только один раз. Потом не спорю. И когда я доделываю таску и она оказывается какой, я не смеюсь, и не говорю «Яжговорил!».

А потом проект накрывается медным тазом, организуется молниеносная компания по установлению, что ты плохо перформил и ты вылетаешь по сокращению, потому что «наш инженерный департамент потратил лишних $25M».
Это случай из жизни.

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

Дело в Австралии. Выплаты зависят от стажа, так что зарплат больше, чем две. К сожалению, в Аделаиде работа ищется не один день. В моём случае оказалось в 180 раз больше, и пришлось переезжать за 2700 км, расставаться с семьёй. Это уже не шуточки.

Хотя я чуть было не нашёл работу сразу, в соседнем офисе. Но они меня «прокатали» в течение 1.5 месяцев, рассказывая, какой я подходящий специалист. В конце концов позвонили и сказали «sorry».

За 180 дней мне кажется можно было хоть удаленку на Долину найти за кучу $$$$/y. И переезжать бы не пришлось.

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

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

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

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

И вы точно уверены что сократили потому что вы плохо работали? Может сократили потому что проект закрылся и разработчики перестали быть нужны? Вполне рядовая ситуация, держать разработчиков долго без дела это и их время воровать и компании зря деньги тратить.
Это был не единственный мой проект. Параллельно я вёл другой (успешный) проект. Коротко история такая:
Была команда Tools Team из двух человек: мой шеф и я. Была так же потребность сделать симулятор сельскохозяйственной железки. Шеф предложил супер-пупер универсальное решение с «машинным обучением», но по моему мнению, оно работать не должно было, так как информации для обучения было явно недостаточно. Споры были, и много. Тут моя вина, мне не хватило мозга ему это показать, я это понимал чисто интуитивно. Начали прожект. Прожект включал несколько частей: и ПК-приложение, и железо, и фирмварий для него. Во время прожекта были изменения, в итоге потрачено было 1.5 года. В конце прошлого года, когда бОльшая часть компонентов была готова, система начала как-то работать, и её даже показали каким-то шишкам, до шефа дошло, что задача решения не имеет. Ну грубо говоря, если в системе с 10 переменными всего три уравнения. После этого начался процесс увольнения. Это Австралия, тут свои тонкости, тянулось оно долго… В итоге после отпуска мне сказали буквально следующее: «к сожалению, наш инженерный департамент потратил лишних $25M, Tools Team более не существует, Вы уволены, сдайте пропуск».
Кстати, сам проект не умер. У него есть второе назначение, не требуещее режима обучения. Шеф перешёл в Firmware Team и продолжил работу над ним.

Моя трактовка такова: прожект провалился по нашей с шефом вине. Высокому начальству как-то надо объяснять, где результат. Если 50% команды, работавшей над проектом куда-то вдруг исчезнет, то объяснить будет просто. Собсно ради этого и был затеян весь полугодовой процес дискредитации (увольнение в итоге было не «по статье», а по сокращению). Кстати, процесс был объективно отвратительным. Мой коллега, который присутствовал при всём, охреневал от наглости лживости происходящего.
Естественно, гарантировать 100% правильность своих соображений я не могу.

С самим фактом увольнения есть нюансоы:
1. я лишился Long Service Leave (13 дополнительных недель отпуска), на который расчитывал
2. неприятна была лживость коллег и самого процесса;
3. в Аделаиде МАЛО работы;
Итог: Я получил прилично денег (в России я хер получил бы столько), но потратил 6 месяцев на поиск новой работы (размер «котлетки» за это время уполовинился).
Работу удалось найти в другом городе, вообше на другом конце континента, в 2700 км от дома. Был бы один — хрен с ним.

Положительные моменты тоже есть: я действительно засиделся на одном месте. Это увольнение меня вернуло в реальность :)
Ну как бы да. Австралия не самая «айтишная» страна, а Аделайде на самое айтишное место. Надо сразу поближе к Сиднею, Мельбурну перебираться.
Почти. Если говорить именно о программировании, то в Аде работа есть, но она вся в оборонке. Saab Systems, Lockheed Martin, BAE — ближайшие соседние офисы с моей бывшей работой. А ещё сейчас набирают на подводные лодки, в Боинг…
Сейчас вот было собеседование со Sсhneider Elektrics и подался в офтальмологическую контору Ellex…
Да хоть засообщайся, если хотят сделать плохо — все равно сделают, а захотят на тебя всех собак повесить — все равно повесят. Вариант с одним разом реально самый оптимальный.
Почитал статью. Посмотрел в зеркало. Почитал статью. Снова посмотрел в зеркало…
Подумал — вроде не я это писал. Но — это же просто моими словами сказано…
И никакого юмора или сарказма. Голимая жизнь…
Собираетесь что-то предпринять чтобы преобразовать голимую жизнь в интересную жизнь?
Так это всегда известный ответ. Хочешь что-то делать хорошо — делай сам. Впрягайся и тащи. Вопрос лишь в окупаемости, стоит ли оно того или нет…
приятно встретить единомышленников в месте где любят минусовать)
я как-то работал в конторе, где за проколы разработчиков увольняли тестировщиков, тк программера уволить нельзя, на ту зпл потом замену не найдешь, а тестировщика можно, у нас их было много.

Хорошо, что я вроде не такой. Хотя, как знать...

1) А какой вы?
2) Для кого хорошо? (для работодателя?)
3) Чем хорошо?
1. Читая, я вижу, что по большей части пунктов поступаю не так, как автор, или не соглашаюсь с высказываниями. Подробно расписывать — потянет на целую статью, и я не уверен нужна ли на Хабре еще одна статья-самолюбование.

2. Для меня так точно. Меня ломает совесть, если делаю что-то осознанно «на от*бись».

3. См пункт 2
А где вы там увидели самолюбование? Это сатирическая статья.
программист-профессионал пробелы пропускает
Очень порадовала статья, увы но почти каждый так или иначе сталкивался в пунктами в ней описанными.
Это госконтора наверное в статье или какой то очень крупный неповоротливый клиент.
А обычные коммерческие фирмы, обычно результат хотят, за который и баксуют, ну а если результата нет, то просто сливают команду, должен же быть кто то виноват, в фиаско.

Опыт собран по работе в разных негосударственных компаниях:10-400 человек. Там, где вы видите творческий продуктивный труд, возможно кто-то рядом видит бесполезный сизифов.

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

Не понимаю вашей язвительности по отношению к предыдущему комментатору, где вы там требования увидели?
Попробую кратко описать что вызвало у меня неприязнь к нашему литературному герою из статьи;


  1. Человек не отстаивает свою позицию и просто делает, выражаясь его же фразами, "каку"
  2. Человек противопоставляет паблик поля геттерам и назвает это инкапсуляцией. Когда речь идет об условном сеньоре, пишущем на джаве(явно не какой-нибудь embedded), и имевшем время разобраться что он делает и почему, для меня это признак того что человеку не особо то хочется в чем то разбираться.
  3. "Я так и не понял, зачем нужны интерфейсы в java" — ладно, неоднозначный момент, не понятно что наш герой им противопоставляет.
  4. "Я около недели потратил, на то чтобы комбобокс выезжал не сверху, а справа."
    Это, интересно, происходило параллельно событиям "Я руководил 4 человеками и мы полгода делали один проект, который я в одиночку мог сделать за неделю"?)

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

И да, повторюсь, немножко высосано из пальца, приходится опираться на ту информацию что нам доступна, но от половины перечисленных высказываний заметно веет безразличным отношением человека к тому что он создаёт

К какому пункту из моих «достижений» я должен относиться с душевным трепетом?
1. Единственный правильный способ работы с какой — не делать ее вообще. К сожалению, область решения программистов обычно лежит в поле, как именно делать каку, а не делать ли ее вообще.
2. Возможно я просто разобрался даже лучше вас, не думали об этом? Эмм… Что ваще такое «противопоставляет паблик поля геттерам и назвает это инкапсуляцией» и откуда вы это взяли из топика? У меня всего лишь написано, что все поля и методы я обычно делаю паблик, чем забиваю на инкапсуляцию.
3. Приведите пример их нужности, но бойтесь, что я перепишу короче и лучше)))
4. Не очень понимаю о чем вы.
Единственный правильный способ работы с какой — не делать ее вообще. К сожалению, область решения программистов обычно лежит в поле, как именно делать каку, а не делать ли ее вообще.

Да, бывает.

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

Паблик поле или private + геттер это в одинаковой степени нарушение инкапсуляции, вот и всё

Приведите пример их нужности, но бойтесь, что я перепишу короче и лучше)))

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

4. Ну если человек который руководит командой разработчиков и, параллельно, неделю занимается одним элементом в вёрстке, у заказчика должно быть много времени и денег.
4. Если заказчик заказывает переделку комбобокса за 100000р. и неделю, у него действительно много времени и денег. Меня тоже ввергают в оторопь такие расценки.
Приведите пример их нужности

Я могу попробовать. Как вы заметили, лямбды — это очень явный и понятный пример частного случая интерфейса, в котором только один метод. Они (интерфейсы) в принципе делаются для удобства написания и работы некоего "библиотечного" кода, который будет в оговорённом порядке вызывать методы из контракта/интерфейса и ожидать отклика тоже в соответствии с контрактом оного интерфейса — с точки зрения такого кода нет абсолютно никакой разницы, что именно находится по другую сторону.
Один из самых явных примеров здесь — коллекции в Java (и я ничуть не сомневаюсь, что вы сможете коллекции переписать лучше, там немало спорных решений), где есть установленный контракт для каждой коллекции, в том, что она поддерживает три операции — может сообщить собственный размер, сообщить, является ли X одним из её элементов, и вернуть Iterator, который перечислит все элементы в некотором (явно неопределённом) порядке. И ваш код может работать как с ArrayList, так и с HashMap$EntrySet вообще без изменений, до тех пор пока он вызывает только методы из контракта Collection<T>. Например, чтобы написать код, который примет на вход коллекцию и предикат и вернёт списком все элементы коллекции, которые предикат (не)прошли, вы можете либо перегрузить метод и для каждой реализации Collection написать один и тот же код (попутно создав себе работы на будущее, когда кто-нибудь напишет ещё одну реализацию коллекции) — либо воспользоваться интерфейсами, и написать это один раз. Какой вариант будет короче — думаю, очевидно. Какой из них будет лучше — можно весьма долго дискутировать, у разных людей разные мнения.

Если вы не понимаете человека, то он либо сильно умнее, либо сильно глупее. Странно, что при Вашем богатом опыте, вы об этом не знаете и рветесь развешивать ярлыки)))
Я не говорил ничего об уме и глупости, и уж никак не развешивал ярлыки. Я просто увидел в представленном «резюме» характерные признаки джуниора, о чем и сказал. Если угодно, могу показать, что именно меня привело к этой оценке.
— Из текста я предполагаю, что основной язык, на котором работает кандидат — Ява. В таком случае от синиора я бы ожидал глубокого знания системы программирования Явы, в частности — понимания того, как работает Garbage Collector. Без этого тяжело предсказывать производительность систем, оптимизировать, бороться с утечками памяти (с их Явским вариантом). (Заявление об интерфейсах меня насторожило, но тут мне, как нанимающему менеджеру, было бы интересно побеседовать с кандидатом на эту тему.)
— Я бы ожидал от синиора понимания принципов хорошего дизайна и следования им, даже если код никто читать не будет. Это относится к использванию инкапсуляции, public properties и т.п., тем более что отказ от них не дает никаких преимуществ.
— По поводу ArrayList и LinkedList, от синиора я бы ожидал немного другого заявления: «Я знаю, в чем разница между ними, и понимаю, когда следует использовать какой, но во всех моих проектах мне хватало ArrayList'a»

По поводу Soft Skills (в вопросе «джуниор или синиор» для меня они гораздо важнее технических).
— По поводу «делать каку». Синиор смотрит не на то, что нужно сделать, а на то, какую задачу нужно решить, и при этом прилагает все усилия к тому, чтобы каки не получилось, ни внутри ни снаружи. Если появилось требование сделать каку, синиор выяснит, откуда оно идет, почему оно возникло, убедится, что все понимают, почему это кака, и постарается придумать и предложить хорошее решение. Если выхода нет, он, конечно, каку сделает, но только когда все остальные варианты невозможны.
— Если синиору есть, что сказать, он не молчит на совещаниях. Если сказать нечего, то он, скорее всего, на этом совещании не нужен.

Любой джун знает отличия эррейлиста от линкед, как устроена хашмапа, обойдет дерево вглубь и в ширь и расскажет вам о важности инкапсуляции. Если не поленился подготовиться неделю, то перескажет Вам статью из Хабра про gc.

Знают отличие — да, все. Понимают, что из этих отличий следует (производительность, сильные и слабые стороны) — далеко не все. Осознанно принимают решение, что использовать — из джунов почти никто.

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


1.2 > вежливо и ненастойчиво сообщаю… сделать каку… один раз
из обсуждений — наверно более близок к инициаторам. Те аргументированно пробиваю свою точку зрения. Был случай, что не убедил, пришлось делать (Yota)… Но как сделал! Творчески:) С тем, чтобы вкладывать личное время и эмоции согласен — лучше не вкладывать. Just a business.


1.8 > тихо увольняюсь
Увольняюсь. Но также аргументированно. Те. просто без пафоса доношу свою позицию. Поменяет это что-то или нет — не так важно. Главное для себя сделал что должно, а там уже-будь что будет.


2.3 > никогда не юзал volatile и многие другие.
Подозреваю, что для красного словца. Кам минимум volotile и другое — раз в полгода-год пригодится таки юзать


2.5 > не использовать геттеры и сетттеры в Java
уже было в обсуждениях- с lombok все стало сильно проще


2.6 > зачем нужны интерфейсы в java, за исключением callback и лямбд
С ходу:


  • Примеси/Mixedin. Из последнего- HasEmail для ентити и TO.
  • Интерфейсное программирование (spring-data, mybatic, ...)
  • Множественное наследование: интерфейсы + делегирование (скорее из собеседований)

3.> Достижения
тут пишу возможно не то, что принято — технические решения. Хоте некоторые потом выбросили, но было интересно:) Потом- если проект мне не интересен, я туда не иду. Если интересен, то работаю для себя. Те мне достаточно маловажно, сколько человек его юзает.
Для меня главное- что я им остался доволен… Возможно это повод для упреков, но опять же- каждый делает свою работу. По остальному 3- см.п. 1.2

То как ведут себя программисты и то какие программисты у вас работают зависит от проекта и руководства. Если на проекте поощряется инициативность, то у вас будут работать инициативные, если позиция руководства «заткнись и сделай как я сказал», то на таком проекте и будут скапливаться амебы без особых стремлений. Если у вас проект — кусок «каки» состоящий из костылей и велосипедов на 95%, то не ждите что у вас появятся и задержатся программисты, которые умеют писать нормальный код.
А неподходящие люди и люди которым не подходите вы, они да, просто уволятся. Начиная с определенного возраста, никому не надо за свое личное время и нервы менять систему. Это должно быть надо менеджеру, который видимо, вместо того, чтобы выполнять свою работу, обвиняет программистов во всем.
И не надо навешивать на людей ярлыки, не понимая из какой среды человек к вам приходит. Человек в той или иной мере адаптируется к окружающей действительности, и его позиция и установки часто могут поддаваться корректировке со стороны требований команды и проекта.
Можно нырять в каку финтеха за большое бабло и двигать туда-сюда комбобоксы, можно забесплатно пилить прорывной опенсорс для лечения рака с классными единомышленниками.

Я даже вакансии видел, где прямым текстом написано — «копаться в старом легаси за зарплату в 2 раза больше рынка. Опыт на любом языке не менее 5 лет.»))

Выбор у каждого свой.

PS: Еще можно нырять в каку яндекса и гугла по дешевке за строчку в резюме))
Что плохого в том чтобы работать за бабло? Ах, да, последнее время как то стыдно стало признаваться, что программисты работают за бабло ) Индустрия хочет брать юношей-энтузиастов со взглядом горящим, с 10+ годами опыта на задачи типа «подвигать комбобокс»)

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

Да, у всех знакомых так же. Чего-то пару лет пилят -> чуть-чуть недопиливают -> новая работа. И так по кругу.
Сам я занимаюсь разработкой и проганием железа. Казалось бы, всё должно быть определённее. Ан нет. 6 лет лепил прибор. В итоге, после последних полевых испытаний, все дружно сказали, что они его не хотят т.к. нужно переучивать людей и вообще он сложнее и их устраивает та кака, которую я слепил перед этим за 1.5 года потому, что надо было очень срочно. Кроме того, за эти 6 лет, старой каки (к которой уже с большим трудом покупаются комплектующие (один 80186EB чего стоит ;) ), наплодили столько, что выбрасывать её уже вроде как и жалко :)
Еще лежит доделаный проект с сервоприводами по 10KW, купленными за немереные деньги.

А по поводу программирования — так вертел я ваше объектно-ориентированное программирование вообще :D Только то, что волей неволей, приходится использовать при прогании под Borland Builder. И да, под ним еще можно писать. И это работает :)
Оу, у нас тут новинка — отписана не-success-story. Тогда и я поделюсь.
Soft Skills:
0) Я прокачался играя в Мафию. Могу трындеть не затыкаясь и располагать к себе незнакомых людей. Правда вы думаете у меня зря ник Nadoedalo? Я ведь реально не затыкаюсь. На одном собеседовании меня спросили про мой опыт работы и я начал рассказ с самых ранних пор как мне было 13 и что я тогда чётко хотел быть прогером — потому что всё остальное было в CV…
1) Фоточку классную сделал. Одну. Приложил в CV и на Upwork. Мне кажется эта фотка — лучшее что я сделал для своей карьеры за последние несколько лет т.к она почти сразу же принесла бонус в +1к$ к ЗП
2) Могу офигенно расстраивать людей потому что взрощен молоком форумного тролля. Иногда делаю это автоматически и даже не замечаю — аж до тех пор пока поздно не станет. А слова обратно ни один профессионал брать не станет :)
3) Надеюсь что я научился предвидеть и исправлять ошибки в мисскомунникации. Пока не стало «поздно». Потому что «поздно» ставало уже несколько раз — а фидбек никто не оставляет что бы провести работу над ошибками.
Hard Skills:
0) Не имею классического образования программиста, самоучка. Пугаюсь когда просят обойти бинарные деревья за О(n).
1) Вообще нихрена не смыслю в теории программирования. Типа посчитать сложность задачи в уме — нереально. Уж молчу про более сложные концепты
2) Вообще ничерта не понимаю в математике. В первый раз что бы построить отрезок заданной длины у меня ушло 3 дня. А самое блин печально — что я ничерта не запомнил и код потерял ^_^
3) А вы пробовали когда нибудь без классического образования объяснять структуры данных другим людям и что бы они вас поняли? А у меня на разработку теории о том как синхронизировать удалённые базы ушла неделя. И ещё две — что бы объяснить как эта хрень работает, что бы бэк её тоже сделал. А читали бы умные книги — сказали бы «АГА!» и взяли бы с полочки готовое.

Achievements:
0) Два года на фрилансе. Не помню ни об одном успешном проекте который бы я делал с 0. Меня ещё и прокидали на последнем проекте.
1) 2 года работы над онлайн-банком. Даже не могу показать над чем конкретно работал так что бы не было стыдно
2) Ещё 2 года работы над новой версией онлайн банка. В итоге оказалось что я мог просто ходить на работу и получать деньги. Потому что проект выкинули — и я не уверен что им хоть кто-то пользовался
3) Ещё год работы на ентерпрайз, но теперь над абсолютно новым проектом електронного документооборта. Что бы вы подумали? Банк сломался, все кто хоть что-то соображал — свалили с тонущего Титаника. А проект я даже не дописал, ага.
4) Ещё два года на фрилансе. Ещё несколько проектов к которым я приложил руку — и которые не особо принесли успех владельцам. Меня ещё и прокидали на последнем проекте на довольно значительную сумму.
5) Паралельно — несколько проектов на добровольных началах. Не взлетел ни один.

В итоге — я уже больше 8 лет в индустрии. А по-настоящему гордится нечем — у меня даже своего веб-сайта нет. Так что приходится кодить на дядю ради денег. А они, как известно — не пахнут.
Only those users with full accounts are able to leave comments. Log in, please.