На стыке технологий: программист, который умеет что-то еще

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

Разносторонний опыт

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

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

Эйнштейн говорил: «No problem can be solved by the same kind of thinking that created it», что обычно переводят как «Невозможно решить проблему на том же уровне, на котором она возникла».

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

Релевантные знания

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

Свою историю рассказал Олег, тестировщик-аналитик в области нефтяной геологии и геофизики в Luxoft:

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

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

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

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

Своим опытом поделился и Юрий, в прошлом геолог, а ныне программист:

«Геологический бэкграунд часто помогает в работе на текущем проекте, который связан с сейсморазведкой (раздел геофизики). Помогает вникнуть в суть решаемых проблем, видеть их более глобально. Несмотря на то, что на проекте есть доменные специалисты, это дает некий performance gain при решении многих задач. Я бы оценил его где-то в 15-20%. При написании проекта с нуля наличие опыта и знаний геолога/геофизика повышало бы эффективность работы в разы».

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

«Знание геологии и геофизики помогают лучше понять, с чем имеешь дело. Понимать поставленную задачу не только со стороны программирования, но и стороны пользователя».

Андрей, программист в ELEKS, использует комплексный подход:

«Програміст, як на мене, — це не зовсім професія. Ти — інженер, а тому потрібно знати і фізику, і хімію, і механіку. А програмування слугує засобом для інтенсифікації процесів, це лише певний алгоритм. Я працюю на ELEKS протягом 7-8 років. Один із найбільших проектів, які довелося реалізувати за цей час, власне, і складався з двох напрямків: одна група фахівців складала „залізо“, решта — писали під нього програми. Проект стосувався спецефектів, і, як на мене, тоді нам вдалося налагодити оптимальну схему роботи — такий собі симбіоз фізики, механіки і програмування.

Я — прихильник прикладного програмування, яке має зв’язок із реальністю. Зараз же, на жаль, більшість працівників ІТ-компаній — лише програмісти, а тому вони трохи відірвані від інженерних реалій. Так і створюються поверхневі програми, часто не надто ефективні».

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

Анна, HR Generalist в Healthjoy:

«Стараемся всеми силами обучать сотрудников. Волей-неволей им приходится разбираться в медицине и фармакологии. Также для всех проводим обучающие лекции, встречи. Наши американские специалисты проводят обучение через видео, приезжают к нам в Днепропетровск. Даже офис-менеджер знает, чем отличаются типы страховок PPO от HMO Obamacare».

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

«Прийшовши в компанію, я зрозумів, що серед 1500 працівників нашого офісу точно є люди зі схожими інтересами. Але як їх знайти?

Я знайшов декілька таких людей, і ми разом створили, можливо, перший в аутсорсингу
корпоративний хакерспейс. Зараз уже порядка 40 людей залучені в різного роду проекти і події.

Звичайно, мої захоплення допомагають і в чисто „проектному“ аспекті. Вміння працювати з апаратурою і розуміння низькорівневих процесів дуже гармонійно доповнює навики програмування цих, власне, систем».

Что нас ждет в будущем

Умение анализировать информацию и даже кодить теперь не кажется таким уж заоблачным требованием к рядовому гражданину, особенно на фоне рассуждений о том, что в ближайшие 20 лет не станет половины тех специальностей, которые есть сейчас. Мол, придут роботы и начнут всё делать за нас. Но их же должен кто-то программировать? На это намекает не только Junior Obama developer с его пионерской строчкой moveForward(100);, но и обыкновенные белые воротнички — в той же Великобритании на позиции HR теперь все чаще можно увидеть требования: SQL skills is a plus или даже SQL skills is a must. Это сигнал.

Что касается программиста, то он будет чем дальше, тем больше становиться универсальным солдатом (особенно в аутсорсе). Вспомним лихие времена, когда не нужно было знать всех этих технологий и примочек. Когда резюме могло состоять из одной строчки: «Assembler» или «Fortran». Сейчас уже никого не удивишь требованиями в духе «Strong Java and C# skills». И пару тонн фреймворков да инструментов в придачу. Но и этого мало. Случаи нефтяников-программистов и диджеев-тестировщиков скоро уже никого не будут удивлять.

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


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

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

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

Підписуйтеся на Telegram-канал редакції DOU, щоб не пропустити найважливіші статті.

👍НравитсяПонравилось0
В избранноеВ избранном0
Подписаться на автора
LinkedIn



Підписуйтесь: Soundcloud | Google Podcast | YouTube


Лучшие комментарии пропустить

Как-то странно.
15-й год 21 века, а кто-то еще умудряется спорить с идеями портфеля навыков и лего-карьеры. Ну вот почему для меня еще в далеком 1999 году было очевидно следующее:
— Прогресс (в частности, в ИТ) ускоряется.
— Это (в том числе через политические, формационные и др. сдвиги) вызывает все более быстрые и менее предсказуемые изменения в экономике.
— Никакой самый лучший вуз не способен предугадать, какие именно знания и навыки будут востребованы в будущем. Их просто еще не существует, а то, что сейчас является уделом профессионалов, завтра может либо устареть, либо стать фундаментом для всех.
— В долгосрочном плане нельзя даже спрогнозировать, как будет меняться спрос на конкретные профессии. Плохая реакция на потребности рынка — главная причина безработицы. Поэтому лучше с самого начала настроиться на регулярный апгрейд квалификации и даже — при необходимости — радикальную смену профессии. Хотя, поскольку для многих направлений существуют общие фундаментальные знания и навыки, скорее всего удастся скорректировать направление так, чтобы задействовать их с выгодой для себя.
— Профессиональная диверсификация и мобильность индивида является логическим продолжением специализации. Раньше технологии и экономика развивались медленнее, чем сменяли друг друга поколения людей; часто у них даже не было особого выбора, кроме как заниматься тем, чем занимались их предки или жители определенной местности. Затем развитие ускорилось, появилась возможность и потребность выбирать профессию и специальность. Но что дальше, когда в течение жизни одного индивида появляются и исчезают целые профессии, специальности или еще более динамичные сущности, определяющие суть его занятий (тренды, проекты...)? В таком случае речь уже не может идти об окончательном выборе, максимум о предпочитаемом типе деятельности по психологическим причинам (человек-человек, человек-машина и т. д.): один человек — много сменяющих друг друга специальностей.
— Узкая специализация индивидов «на всю жизнь» по мере дальнейшего развития становится узким местом экономики; возникает острая потребность в междисциплинарности.
— Сами конкретные профессии, даже если продолжают оставаться актуальными, постоянно эволюционируют. Часть навыков из профессионального домена перетекает в общеобразовательный; в частности, это можно сказать об умении программировать на базовом уровне. «Кодер» — уже давно ругательство, а когда-то была и такая профессия, как «оператор ПК», а еще раньше «писарь». А вот «программист-биолог» или что-то еще более специфическое — это может быть актуально.
— Следует также понимать, что подбор такого портфеля навыков, зачастую уникального для индивида, становится задачей самого этого индивида (либо какого-нибудь коуча, нанятого за хорошие деньги) с учетом реальной потребности рынка (или конкретной компании/организации/стартапа/проекта и т. д.). Никто никому больше ничего не гарантирует за пределами самого минимума. (Не исключено, что для решения таких проблем в массовом масштабе появятся какие-нибудь особые сервисы и особые специалисты.) По большому счету, такой мультиспециалист-дженералист, особенно высокого уровня, должен развивать и предпринимательские способности при выборе карьерного пути — или же пользоваться для этого услугами профессионалов высокого уровня в этом деле.
— Всё это усиливается еще и тем, что люди живут все дольше, дольше длится период их трудоспособности. На западе мультикарьеризм и т. н. дауншифтинг как его промежуточный этап уже давно вошли в мейнстрим. Увеличивается и количество высших образований на человека — хотя они могут в дальнейшем вытесняться онлайн-курсами. (Появление «цифрового образования» я прогнозировал в том же 1999 году и предполагал, что оно начнет реально взлетать по мере формирования студенческих сообществ, эквивалентных оффлайновым, — в целом так и вышло.) MOOC и тому подобное — это следующий закономерный шаг в освобождении от «традиционных» вузовских представлений об образовании и карьере. (Фундаментальная роль вуза при этом может становиться даже более актуальной, как и роль приобретаемых в нем социальных связей. Но его больше нельзя рассматривать как билет на гарантированное рабочее место. Такого понятия больше не существует.)
— Дальнейшее развитие еще более радикальных технологий, в т. ч. позволяющих апгрейдить наше тело и наш разум, вызовет потребность в еще более радикальном освобождении от стереотипов; в частности, уже сейчас все менее убедительными становятся аргументы насчет «врожденной неспособности» кого-либо к чему-либо, кроме разве что самых тривиальных случаев. Само собой разумеется, что при этом должны будут эволюционировать и экономические отношения, и социальные. Как именно — вопрос отдельный; главное же в профессиональном аспекте, пожалуй, — отвыкнуть принимать что-либо за безусловную данность, постоянно быть начеку в отношении «черных лебедей» (которые в общем-то далеко не всегда «черные» (абсолютно непредсказуемые), а скорее являются следствием инертности человеческого мышления, в т. ч. по отношению к новым технологиям). Есть такой известный стишок — «Жизнь в 100 словах» (...Телевизор. Сериал....), так вот это хороший пример, как НЕ надо относиться к жизни.
Вернемся к программистам. Да, сегодня спрос на них такой, что даже быдлокодер может зарабатывать неплохие бабки по местным меркам. Но если ты хочешь стать не просто программистом, а человеком, известным в широких ИТшных кругах, — много ли среди таких «обычных кодеров»? Ну разве что системщики типа Линуса — но их вряд ли назовешь обычными. Или преподаватели, авторы учебников — вот вам и дополнительные скиллы. Создатели стартапов в специфичных отраслях — отраслевые специалисты и одновременно предприниматели. Как ни крути, а такие личности рулят и на них стоит ориентироваться. Так же как у переводчиков есть специализация — по предметным областям и/или каким-то особым режимам работы, и одно только определение «переводчик» не гарантирует никакого качества вообще ни для каких актуальных профессиональных задач.

научился узнавать автора по картинке :)

86 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

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

Ваши примеры нерелевантны, они не показывают успешность этих людей, а лишь украинский подход: «О! Там платят больше, надо прыгать». Завтра IT-сектор в Украине может стать не таким привлекательным и все пойдут скажем в депутаты или продавцы пылесосов.

Поинтересуйтесь биографией программистов и ИТ-экспертов с мировым именем и вы увидите что очень многие из них отдали этому призванию всю жизнь или несколько десятков лет и не распылялись ни на что другое:
en.wikipedia.org/wiki/Andrew_S._Tanenbaum
en.wikipedia.org/wiki/James_Gosling
en.wikipedia.org/wiki/Linus_Torvalds
en.wikipedia.org/wiki/Martin_Fowler
en.wikipedia.org/wiki/Erich_Gamma
en.wikipedia.org/wiki/Kent_Beck

Чтобы достичь выдающихся результатов необходимо сконцентрироваться.

Что такое и откуда "

Junior Obama developer
"?

Как-то странно.
15-й год 21 века, а кто-то еще умудряется спорить с идеями портфеля навыков и лего-карьеры. Ну вот почему для меня еще в далеком 1999 году было очевидно следующее:
— Прогресс (в частности, в ИТ) ускоряется.
— Это (в том числе через политические, формационные и др. сдвиги) вызывает все более быстрые и менее предсказуемые изменения в экономике.
— Никакой самый лучший вуз не способен предугадать, какие именно знания и навыки будут востребованы в будущем. Их просто еще не существует, а то, что сейчас является уделом профессионалов, завтра может либо устареть, либо стать фундаментом для всех.
— В долгосрочном плане нельзя даже спрогнозировать, как будет меняться спрос на конкретные профессии. Плохая реакция на потребности рынка — главная причина безработицы. Поэтому лучше с самого начала настроиться на регулярный апгрейд квалификации и даже — при необходимости — радикальную смену профессии. Хотя, поскольку для многих направлений существуют общие фундаментальные знания и навыки, скорее всего удастся скорректировать направление так, чтобы задействовать их с выгодой для себя.
— Профессиональная диверсификация и мобильность индивида является логическим продолжением специализации. Раньше технологии и экономика развивались медленнее, чем сменяли друг друга поколения людей; часто у них даже не было особого выбора, кроме как заниматься тем, чем занимались их предки или жители определенной местности. Затем развитие ускорилось, появилась возможность и потребность выбирать профессию и специальность. Но что дальше, когда в течение жизни одного индивида появляются и исчезают целые профессии, специальности или еще более динамичные сущности, определяющие суть его занятий (тренды, проекты...)? В таком случае речь уже не может идти об окончательном выборе, максимум о предпочитаемом типе деятельности по психологическим причинам (человек-человек, человек-машина и т. д.): один человек — много сменяющих друг друга специальностей.
— Узкая специализация индивидов «на всю жизнь» по мере дальнейшего развития становится узким местом экономики; возникает острая потребность в междисциплинарности.
— Сами конкретные профессии, даже если продолжают оставаться актуальными, постоянно эволюционируют. Часть навыков из профессионального домена перетекает в общеобразовательный; в частности, это можно сказать об умении программировать на базовом уровне. «Кодер» — уже давно ругательство, а когда-то была и такая профессия, как «оператор ПК», а еще раньше «писарь». А вот «программист-биолог» или что-то еще более специфическое — это может быть актуально.
— Следует также понимать, что подбор такого портфеля навыков, зачастую уникального для индивида, становится задачей самого этого индивида (либо какого-нибудь коуча, нанятого за хорошие деньги) с учетом реальной потребности рынка (или конкретной компании/организации/стартапа/проекта и т. д.). Никто никому больше ничего не гарантирует за пределами самого минимума. (Не исключено, что для решения таких проблем в массовом масштабе появятся какие-нибудь особые сервисы и особые специалисты.) По большому счету, такой мультиспециалист-дженералист, особенно высокого уровня, должен развивать и предпринимательские способности при выборе карьерного пути — или же пользоваться для этого услугами профессионалов высокого уровня в этом деле.
— Всё это усиливается еще и тем, что люди живут все дольше, дольше длится период их трудоспособности. На западе мультикарьеризм и т. н. дауншифтинг как его промежуточный этап уже давно вошли в мейнстрим. Увеличивается и количество высших образований на человека — хотя они могут в дальнейшем вытесняться онлайн-курсами. (Появление «цифрового образования» я прогнозировал в том же 1999 году и предполагал, что оно начнет реально взлетать по мере формирования студенческих сообществ, эквивалентных оффлайновым, — в целом так и вышло.) MOOC и тому подобное — это следующий закономерный шаг в освобождении от «традиционных» вузовских представлений об образовании и карьере. (Фундаментальная роль вуза при этом может становиться даже более актуальной, как и роль приобретаемых в нем социальных связей. Но его больше нельзя рассматривать как билет на гарантированное рабочее место. Такого понятия больше не существует.)
— Дальнейшее развитие еще более радикальных технологий, в т. ч. позволяющих апгрейдить наше тело и наш разум, вызовет потребность в еще более радикальном освобождении от стереотипов; в частности, уже сейчас все менее убедительными становятся аргументы насчет «врожденной неспособности» кого-либо к чему-либо, кроме разве что самых тривиальных случаев. Само собой разумеется, что при этом должны будут эволюционировать и экономические отношения, и социальные. Как именно — вопрос отдельный; главное же в профессиональном аспекте, пожалуй, — отвыкнуть принимать что-либо за безусловную данность, постоянно быть начеку в отношении «черных лебедей» (которые в общем-то далеко не всегда «черные» (абсолютно непредсказуемые), а скорее являются следствием инертности человеческого мышления, в т. ч. по отношению к новым технологиям). Есть такой известный стишок — «Жизнь в 100 словах» (...Телевизор. Сериал....), так вот это хороший пример, как НЕ надо относиться к жизни.
Вернемся к программистам. Да, сегодня спрос на них такой, что даже быдлокодер может зарабатывать неплохие бабки по местным меркам. Но если ты хочешь стать не просто программистом, а человеком, известным в широких ИТшных кругах, — много ли среди таких «обычных кодеров»? Ну разве что системщики типа Линуса — но их вряд ли назовешь обычными. Или преподаватели, авторы учебников — вот вам и дополнительные скиллы. Создатели стартапов в специфичных отраслях — отраслевые специалисты и одновременно предприниматели. Как ни крути, а такие личности рулят и на них стоит ориентироваться. Так же как у переводчиков есть специализация — по предметным областям и/или каким-то особым режимам работы, и одно только определение «переводчик» не гарантирует никакого качества вообще ни для каких актуальных профессиональных задач.

У меня ситуация наоборот.
Я врач, но в медицине с моими алгоритмами меня не воспринимают.
В этом году наконец-то дошел до курсов EPAM-a, но по family reason пришлось уехать работать в ЕС. Так что надеюсь в следующем году наконец-то стать джуном и начать смешивать медицину и CS, потому что в Украине это мало получило распространение, а при правильном подходе это очень перспективно и «вознаграждаемо». Во всяком случае в ЕС куча софта для медиков, которые можно улучшить на несколько порядков и им же продавать.

Удачи, конечно, в Ваших новых начинаниях. Но вот про «кучу медицинского совта, который можно улучшить и продавать....» Не мне Вам рассказывать, как сложно нашим врачам пдтвердить свою квалификацию на Западе.(Не в пример программистам, кстати :-)). Но вот недвано узнал, что любой, мало-мальский софт, хоть десктопный, хоть мобильный, хоть вебовский, имеющий отношение к медицине, по крайней мере в США должен пройти очень непростую процедуру сертификации. Думаю — в Европе что-то аналогичное. Имейте это ввиду.

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

А Вы не в Украине учились? У нас в медах кроме Болонской системы больше ничего придумать не могут, да и степенью M.D. у нас не награждают )

В Украине, но с первого дня я взял медицинскую программу U o T и учился придерживаясь ее.
Плюс я планировал уехать подтверждать диплом в Канаду сразу после окончания меда.
Во время учебы мои предложения вызывали интерес только в Европе и США, а около 2 лет назад я узнал, что подобным занимался и google и microsoft.
В итоге мне нравится биоинформатика (вакцина ВИЧ, SNP — типа 23&me) и AI (IBM Watson) в медицине).

Почему-то все забыли о такой роли, как системный/бизнес аналитик (Есть правда путаница в терминах, но не в этом суть). Это и есть человек, который обязан разобраться в предметной области и перевести это на язык программиста. Разобраться в терминах, сущностях и отношениях, которыми оперирует специалист и переложить это на язык классов, методов, реляционных таблиц и пр. Исходя из этого, именно системный аналитик и должен быть И специалистом в предметной области И специалистом в ИТ. А программист — должен оставаться специалистом в технологиях разработки ПО. Грубо говоря — предметник знает, что надо делать, программист — как это сделать, а системный аналитик — посредник между ними.
P.S. Другое дело, что в силу определенных обстоятельств (бедности, нехватки кадров, просто непонимания....) роль аналитика и программиста объединяется в одном исполнителе. Но это уже другой разговор.

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

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

Ну как тут не вспомнить Анжелу [Марину Кравец] www.youtube.com/...h?v=cKYDXPbXkM0

Как ловко Вы объединили шлюх и программистов :)

ну ,если задуматься . эти профессии очень близки :)

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

Пожалуй отличия только в используемых для работы интерфейсах :)

Иные и програмят тем же самым интерфейсом :)

Obamacare
? + Что такое синглтон?

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

это прошлое десятилетие, куда интереснее спрашивать отличие фасада от адаптера.

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

тут есть нюансы, с предметом можно тоже быть знакомым по-разному. В конце-концов, каждый сам решает.

Я говорю о том, что если паттерны не используешь в работе, то они забываются. Поэтому проводить оценку сотрудника по тому, знает ли он, чем adapter отличается от bridge — излишне. Человек, который их не использует — почти наверняка забудет детали. Тогда как человек, который подготовился к собеседованию — будет в лучшей форме, но далеко не факт, что он при этом лучше работает.

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

а если он «выучил» только синглтон, то это может быть сигналом, что и в работе не особо будет стараться.

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

>>

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

это перекручивание смысла. мне лень спорить, тем более в воскресенье.

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

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

Спрашивают что угодно, но не код. А казалось бы: дай кусок говнокода и попроси или ошибки перечислить (не баги или не только баги, а вообще, исправить говнокод). И сразу видно, чем человек дышит, есть ли опыт

человек в принципе должен готовиться к собеседованию.
Вот честно, последние года 4 принципиально к собеседованиям не готовлюсь. Разве что могу подчитать те области, знаний в которых у меня вообще нету, но они встречаются в описании вакансии, чтобы на вопросы по данной области не хлопать глазами, а сказать — я это понимаю, практического применения нет, но интересно попробовать.
Ну, ещё формализовываю для себя описание последнего проекта. Были прецеденты, когда выдёргивали на интервью из отпуска, а я не мог вспомнить, как именно строил фреймворки. Как-то не очень красиво получалось :)
К остальному не готовлюсь: если моих знаний хватит — отлично, нет — значит, вы ищете другого человека.

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

ну это конечно так :)))

спрос на программистов превышает предложение
Для начинающего Джавера это влажные мечты :(

Стільки балачок щоб пояснити нездатність менеджерів правильно організувати division of labor і знайти підходящі кадри.

Цілком погоджуюсь, що програмісту варто розбиратись і в інших сферах. Необов’язково в таких кардинально різних як геологіст, але як мінімум:

* ази дизайну
* менеджменту
* адміністрування

і інші суміжні спеціальності є дуже корисними. Допомагають не вести війни, а розуміти і дружити із іншими спєцами в команді.

Як то кажуть, не кодом єдиним :-) www.vitaliypodoba.com/...r-extra-skills

В статье говорится, что придут новые времена, когда программист все более будет становиться универсальным солдатом. Хочется спросить две вещи:

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

2. куда уж дальше универсализироваться? И сегодня, в массе своей, люди знают по чуть-чуть от разных сфер деятельности — потому что физически невозможно все охватить на глубоко-профессиональном уровне. А дальше что? Знать будут еще шире, но еще хуже? Обалдеть, какие ценные универсальные солдаты. Это и будут обезъянки с печатными машинками. А рулить ими будут «взрослые дяди».

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

Да, все знают всего и по чуть-чуть, google становится главным инструментом в работе.

редакция, исправьте опечатку в первом предложении:

имея высшее техническое и трудовой стаж

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

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

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

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

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

Поддерживаю автора в том, что знания в других отраслях часто могут пригодиться. Я, как начинающий Java-программист, имеющий 4-летний опыт работы сисадмина с параллельным 9-летним опытом работы в сфере экономики и финансов, частенько в своей основной работе применяю знания из других сфер, что воспринимается топ-менеджментом как неоспоримый плюс и преимущество перед другими сотрудниками. За 10 лет трудового стажа ни разу не жалел о том, что могу с легкостью применить знания, которых нету у других сотрудников. Проблема только в том, что на зарплате это не особо заметно, на госслужбе особо не заработаешь ;-) Поэтому работаю над собой в программировании и думаю, что в таких фирмах, как Luxoft или Kreditech, например, мои знания в экономике и финансах будут в самый раз.

а в чем суть-то, если тебе за это преимущество никакого проку?) преимущество для работодателя иметь такого сотрудника? на много большее будет если ты на 100 долларов меньше зп попросишь, ото реальный профит, а не непонятные знания в другой области

оно-то да лучше уметь/знать что-то еще, но это такой себе плюс...

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

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

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

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

«хороший программист — это когда он знает еще чуть-чуть».

ни разу. обычно такие специалисты получают меньше.

Кто не верит в усложнение, может глянуть в учебники прошлого века. То, что раньше проходили на первом курсе, сейчас проходят в 10-11 классе.

Для справки — 8 класс средней школы во времена Николая II — это второй курс современного университета

С тех времен наука шагнула далеко вперед, как при этом в школах у них мог быть выше уровень? При грамотности в 30%.

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

Это не средняя школа, а недоступный кухаркиным детям престижный колледж.

ни разу. обычно такие специалисты получают меньше.
Ви впевнені? Є статистика?

Як на мене, в ідеальному світі, це може «заважати» лише джунам, може трохи мідлам, але ні в якому разі не сеніорам, тімлідам, менеджерам чи тестерам. Останні мають повністю розуміти що вони роблять, для чого і яким чином їх робота робить світ кращим (клієнта задоволеним).

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

Я сам отношусь к мастерам на все руки. это интересно но мне никогда не подворачивалась возможность на этом что нибуть серьезное заработать :(((

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

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

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

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

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

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

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

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

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

нет. Эрик Синк «Бизнес для программистов». Там эта идея подробно рассматривается. Где-то еще у Эрика Эванса — DDD

Я объявлял войну говнокодерам. ))
А говнокод принципиально создается от непонимания, что программирование — это перевод, а не конструирование конструкций.

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

говнокод и программа делающая не то что надо — разные вещи

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

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

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

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

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

Вот в таком ключе может яснее станет, что переводчик, знающий один язык, а переводящий с языка, который он не знает — это ацки плохой переводчик.

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

Нет. Я указал книги. По крайней мере Эрика Эванса читать обязательно, для джавистов, дотнетчиков.

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

)

Я за линкедом особо не слежу. Давно не обновлял. В том «банке» не работаю два года.

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

Так что банки банкам рознь )) (в зп тоже). В аутсорсе такие задачи еще поискать надо.

у него просто времени нет, а уж особенно на учебу
Где-то читал, что полезно каждые семь лет кардинально менять сферу деятельности. Кстати, в США 40-летние студенты смотрятся вполне органично. Тогда как у нас их считают почему-то сумасшедшими или даже инфантами. По-моему, времена, когда человек всю жизнь работает в одной профессии давно ушли. Особенно в наше бурное время.
так не бывает, когда человек добивается каких-то результатов в чем-то обычно его не тянет положить на это болт заняться чем-то другим, а если он еще и востребован, то у него просто времени нет, а уж особенно на учебу

Как человек, имеющий отношение к биоинформатике: сміявсь.

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

Чаще всего, кстати говоря, востребован именно эксперт в какой-то конкретной области. А вот эникейщиков можно набрать «пачку на рубль», чем и живет украинский аутсорс.

Опять же, вы почему-то рассматриваете крайности: мастер vs эникейщик.
Friendly reminder: в статье речь шла о программисте, который умеет что-то ещё, а не всё подряд.

Тогда о чем статья? Любой программист и сегодня умеет что-то еще. Каких таких новых программистов вы ожидаете в будущем, в таком случае?

Любой программист и сегодня умеет что-то еще
Мы с вами, видимо, говорим о разных «что-то ещё». Вы говорите про «что-то ещё» в контексте смежных областей. Например, Java и C#. Я же говорю про «что-то ещё» в контексте традиционно далёких от программирования областей: экономика, физика, геология и так далее. Вот таких новых программистов я и ожидаю в будущем — которые, например, знают, что такое фьючерзы и опционы и чем отличается margin call от option put. Люди на стыке технологий.

Суть понятна.

У нас мало программистов со знанием «смежных областей» просто потому что у нас вообще мало специалистов по «смежным областям». Другими словами, у нас в принципе мало кто имеет в своем словаре margin call и option put.

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

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

которые, например, знают, что такое фьючерзы и опционы и чем отличается margin call от option put
А есть вообще люди, которые это знают?

Да пребудет с Вами святая Инвестопедия!
www.investopedia.com

Чистым «технарям» легче находится работа из-за их универсальности, а стык — пойди найди, хотя может быть золотое дно.
Для предметной области есть BA.

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

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

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

Безусловно. Однако, это, по идее, подразумевается по умолчанию. Как иначе можно писать какое-то ПО, не имея представления об области его потенциального применения? Возможно, кто-то именно так и работает, но я подозреваю что это принято за основу только на просторах exUSSR.

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

Вот и именно.

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

научился узнавать автора по картинке :)

Подписаться на комментарии