среда, 25 августа 2010 г.

[prog.flame] Афигительно: Я выбрала распределенный back-end в С++.

Через rusdoc.ru до меня дошла ссылка на хабровский пост “Стажировка в Google 2 (Часть 1)”. Цитирую:

…Вторая часть была несколько интереснее — в ней предлагалось вписать, чем мне было бы интересно заниматься по трем пунктам: архитектурный уровень (front-end или back-end), область компьютерной науки (искусственный интеллект, распределенные вычисления, низкоуровневое программирование, компиляторы итп.) и язык программирования.

Я выбрала распределенный back-end в С++. Правда, я довольно смутно представляла себе, что это такое, тем более что моя первая стажировка — это был даже не front-end, а чистый дизайн в Photoshop и с активным пользованием Javascript/HTML/CSS. Забегая вперед, хочу сказать, что я получила именно то, что хотела. И «было сложно, но мы смогли»: о).

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

9 комментариев:

имя комментирует...

с одной стороны, ты возможно хватил лишнего, для студента (-ки?) такие прыжки нормальны, вот например она, если должным образом повозилась с js, при необходимости слабать свой бложик не скажет "я не веб-программист" ;-)

с другой стороны, в подтверждение твоей точки зрения приведу цитату:

> Просто есть вопросы, которые на самом деле далеко не простые — например, string rotation без использования дополнительной памяти. И если человек не знает решения этой задачи, то не факт, что ему будет просто до него додуматься.

С моей точки зрения, это тест на минимальный уровень интеллекта, отличающий программиста от кодера. Т.е. при наличии явной постановки задачи (а не вопроса "а можно ли ... ?") сделать вращение строки в О(1) по памяти, любой программист *должен* до этого решения додуматься.

И опять, аккуратные кодеры с кругозором тоже нужны :-)

имя комментирует...

естественно я имел в виду додуматься не мгновенно, а за некоторое время, но не пользуюясь гуглем

eao197 комментирует...

Я старомоден, для меня стажировка -- это приобретение практического опыта после изучения теории. И поэтому студентов посылают на стажировки с учетом вычитанного им ранее материала. Но когда после Web-а человек ни с того, ни с сего перескакивает на написанные на C++ back-end-ы... Это страшно, на самом-то деле. Программирование давно уже стало слишком сегментированной областью. А подобные прыжки только плодят дилетантов.

имя комментирует...

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

Я не представляю себе стажировки без знания предметной области, но ее слова --

Правда, я довольно смутно представляла себе, что это такое, тем более что моя первая стажировка — это был даже не front-end, а чистый дизайн в Photoshop

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

Хотя, возможно, дать знаниям отлежаться -- полезнее.

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

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

Сергей комментирует...

Боюсь вы слишком старомодны (радикальны?).

Думаю приведенный пример про мед не слишком подходит в подобном контексте.
У студентки ИТ все немножко не так - в подобной области всегда приходиться переучиваться или обучаться новому.

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

eao197 комментирует...

@имя:

>Кстати, знания предметной области в программировании обычно не заслуживают громкого слова "теория". (Хотя теория там есть тоже.)

Не заслуживают. Но есть некоторые best practices (ну или правила хорошего тона), которые следует держать в голове. Например, server-side должен быть устойчивым к сбоям. Следовательно нужно иметь представления о разных способах обеспечения этого качества. Еще очень важно, чтобы server-side могли гибко переконфигурироваться. Для этого так же нужно что-то предпринимать. Хорошо бы быть наслышанным о разных способах обеспечения этого свойства.

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

Основываюсь, к сожалению, на своем опыте. Т.к. лет восемь назад начал разрабатывать server-side (если можно так выразиться), не имея о таких вещах достаточного представления.

eao197 комментирует...

@Sanik:

>Боюсь вы слишком старомодны (радикальны?).

Есть такое дело.

>Думаю приведенный пример про мед не слишком подходит в подобном контексте.
У студентки ИТ все немножко не так - в подобной области всегда приходиться переучиваться или обучаться новому.


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

имя комментирует...

Я не поддерживаю тезис о "старомодности" (т.е. в одном из случаев так и *должно* быть), потом можно весьма долго обсуждать:

1. что есть знания о предметной области,

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

3. дилетантизм, теорию и практику программирования

... это все интересно, но не знаю, стоит ли.

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

eao197 комментирует...

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

Творение Роба Пайка вряд ли отражает общие тенденции в отрасти. Не удивлюсь, если Go останется таким же малоизвестным и нишевым проектом, как Limbo и Inferno.

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