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

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

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

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

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

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

Вот и именно.

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

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

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