Книга: Отъявленный программист: лайфхакинг из первых рук
Образование и карьера
Образование и карьера
Невольно выходим на тему образования, которая всегда актуальна для любого айтишника. Для начала — есть ли у тебя высшее образование в области ИТ?
Институтов я не кончал. Я сделал свой выбор и бросил вуз сразу после поступления. До сих пор не знаю, что я упустил и как сложилась бы моя жизнь, поступи я иначе. История не знает сослагательного наклонения.
Сейчас с этим проще — самообразование становится очевидным трендом. Диплом — ничто, знания — все. Откуда сегодня можно черпать качественную информацию?
К примеру, на YouTube можно найти множество видеозаписей лекций по computer science от различных лекторов из самых различных мировых вузов. По части информатики с большим отрывом лидирует арабский мир, причем, что показательно, лекции почти всегда на английском. За ними следуют США (с большим отрывом от остальных).
При этом легко видеть, что не все лекторы одинаковы: одни объясняют вещи глубоко и понятно, другие же — ущербно и загадочно: у таких можно только вызубрить, сдать и забыть, поскольку пользоваться этим все равно не получится.
Отмечу, что кроме знаний институт дает еще и связи, а связи решают все. Потому что после вузов народ разбегается кто куда, а разбежавшись, тянет к себе своих. Впрочем, это сильно зависит от конкретного вуза и страны.
В наше время также доступно огромное количество книг...
Хороших книг и раньше было немного, и даже сегодня их чуть меньше, чем совсем ничего, а классика так и остается классикой. Например, в семидесятых была одна «Книга Дракона», а сейчас доступны десятки качественных вариаций на тему, но в них от 70 % до 90 % — это пересечения и повторения, а потому первую книгу читаем вдумчиво, остальные бегло пролистываем в поисках различий.
Опять же, давай поможем новому поколению сделать первый шаг в эту самую классику. Взять, например, известную книгу Кнута — не все способны понимать изложение алгоритмов, описанных в ней, хотя, знаю, многие усердно штурмовали их. Конкретный пример: Heap sort — несложный, в общем-то, алгоритм, который можно в пять минут объяснить на пальцах, но я столкнулся с тем, что некоторые коллеги не понимают его в наукообразном изложении Кнута. Как правильно грызть гранит науки? — вопрос на миллион для профессионального грызуна Мыщъха.
Нужно заказывать похожие или аналогичные книги с Амазона, где их очень много. К примеру, сейчас я углубился в теорию CS и постоянно покупаю кучу разных книг. Большинство из них давно не переиздавались, но можно купить б/у. Среди них попадаются очень и очень хорошие. Вас какие алгоритмы вообще интересуют? Алгоритмов много и все из разных предметных областей, но книг, их описывающих, — еще больше.
Взять, например, упомянутого Кнута. Да, у него изложение своеобразное. Но статьи, на которые он ссылается в своей книге, зачастую описывают эти же алгоритмы намного понятнее и доступнее. Многие из этих статей опубликованы в журналах, которых сейчас уже не достать, но сборники таких статей часто доступны в виде отдельных книг. Например, вот: Computer Algorithms: String Pattern Matching Strategies (ISBN-10: 0818654627). В этой книге один и тот же алгоритм последовательно описывается разными авторами и по-разному, что существенно облегчает понимание новичку.
Насколько я могу судить, молодое поколение не очень-то много читает, судя по всему, потерявшись в этом информационном изобилии.
Согласен. Но сейчас, по крайней мере, есть документация. Есть SDK и куча примеров. А вот в свое время, чтобы заставить CD-ROM проигрывать диски, мне пришлось дизассемблировать пару программплееров, реконструируя протокол, причем так приходилось делать не только мне одному. Информацию собирали буквально по крупицам. Ассемблер x86 я изучал в досовском debug.com путем анализа воздействия команды из реальной программы на флаги, память и регистры процессора.
Но у моих предшественников и этого не было. Пионеры информатики не могли почерпнуть знания в книгах, поскольку эти книги им еще предстояло написать. По сути, с тех пор ничего не изменилось, просто линия фронта сместилась. Да, сейчас можно набрать в Гугл вопрос: как развернуть список на Java/.NET/C и получить готовый код для «копи-пасты». Зачастую, даже несильно кривой и рабочий. Но если спросить Гугл, «как написать Гугл», то ничего полезного он все равно не скажет, так как непрерывно совершенствуется, а над проблемой поиска бьются лучшие умы человечества. Лет через надцать об этом можно будет прочитать так же свободно, как сейчас мы читаем принципы построения компиляторов в «Книге Дракона», в результате чего создается огромное множество новых языков и технологий, которые не только создаются, но и выживают в конкурентной борьбе.
Кстати, давайте побухтим о молодежи. В чем отличие молодежи от «олдскул», как ты видишь?
Если бы во многих вопросах молодежь не клала меня на лопатки, я бы бухтел. А так у нас просто разделение труда и совершенно разные подходы к решению задач. Я по старой привычке сначала включаю мозги, затем внезапно вспоминаю, что Гугл рулит. И минут через полчаса рожаю ответ.
В это время молодые коллеги через свои фейсбуки и твиттеры быстро-быстро находят того, кто знает ответ, и уже через три минуты уходят пить кофе. Да, у них другой стиль. Они более социальные. Они не привыкли по умолчанию полагаться лишь на самих себя, потому что у них онлайн 24/7 и куча друзей в контактах. Почему сразу НЕТ, если ДА?
Вот тут фильм вышел на экраны (к моменту публикации интервью уже зашел) Edge of tomorrow. Фильм — фигня, но там инопланетяне только на первый взгляд индивидуальные особи, а на самом деле это единый организм со своим мозгом и нервной системой. Вот таким организмом и стало современное поколение. Это же МЕГА-МОЗГ планетарных масштабов, круче, чем Солярис.
Возвращаясь к началу: нас читает множество молодых и начинающих айтишников, которые делают свои первые шаги в ИТ в направлении к упомянутому тобой мега-мозгу. Какие бы общие советы ты им дал? Что необходимо для взлета карьеры в ИТ?
А давайте вы пойдете по грибы, а я буду давать советы, куда конкретно вам ходить, основываясь на собственном опыте? Ничего, что мы разнесены в пространстве и времени и что моей тропой ходить бессмысленно — именно потому, что я ею уже ходил и собрал все грибы? Это, конечно, абстрактный пример, но его легко превратить в конкретный. Когда компьютеры были большими, а вирусы простыми, я только-только начинал интересоваться этой темой. Вирусы росли, хакерские технологии усложнялись, но ведь и я не стоял на месте. К тому же хакеры двигались поступательно, из пункта А в пункт Б. Шаг за шагом. Сейчас же зловреды усложнились настолько, что человеку с улицы очень трудно войти в эту область, и со своими 15–20 годами практического опыта я получаю огромное преимущество перед молодым поколением. Поэтому если изначально выбрать одно из молодых направлений ИТ-индустрии, то лет через пять можно начинать получать конкурентное преимущество. Конечно, при условии, что это направление окажется востребованным.
Что же касается успеха в карьере — для взлета необходимо оказаться в нужном месте в нужное время. Ни знания, ни способности сами по себе этого не обеспечивают. Выражение: если ты такой умный, то почему не богатый — слышали? Оно хоть и едкое, но меткое. Умный не означает успешный, хотя успешный — это скорее умный, чем нет.
У меня встречный вопрос насчет последнего сильного утверждения. Большинство из нас выросло в рамках западной культуры «сделай себя сам» или «талант всегда пробьет себе дорогу». Не все могут смириться с тем, что от нашего таланта, усидчивости и вложенных усилий зависит далеко не все, если не сказать, что, согласно тебе, — почти ничего…
Скажите, а вы колодцы никогда не рыли? Вы не в курсе, что в одном месте можно копнуть — и вот она, вода. А ваш сосед день роет, два роет, три... а воды нет и не будет. Грунтовые воды они такие... Знакомый с Ростовской области как раз попал на такую подлянку. Весь отпуск убил на рытье колодца, а воды так и не оказалось. Но не пропадать же тяжкому труду? Решил сделать туалет типа сортир. Говорит, что и ему теперь хватит, и детям его, и внукам.
Что касается успеха… Никакой значимости или успешности в жизни просто не существует. Есть субъективное ощущение (собственной) значимости. При этом всегда будет толпа людей, которые намного успешнее тебя, равно как толпа неудачников, которые все кругом пропили и теперь им даже не опохмелиться. А еще существует до фига людей, типа меня, которых ни своя, ни чужая значимость совсем не колышет, потому что им вообще на все пофиг.
Поэтому конкретная метрика самореализации сильно зависит от вашей среды окружения и круга общения. В моем окружении очень много ярких, неординарных и успешных людей, на фоне которых мой «успех» практически незаметен.
Но это не значит, что делать ничего не надо. Говоря кратко, в рамках своей среды делать нужно то, что у вас получается максимально хорошо. В идеале — лучше, чем у большинства остальных. Повторяясь, я бы использовал природные наклонности конкретного человека и уже имеющиеся отточенные навыки, а не пытался навязывать ему стандартные шаблоны социума. И тогда, возможно, при стечении множества маловероятных обстоятельств вы окажетесь впереди. По крайней мере у вас будет больше шансов вырваться вперед, чем у тех, кто упорно занимается тем, чем у них ни фига не получается заниматься, но это типа «сейчас модно» и вообще такой типа тренд. В последнее время из-за высоких зарплат таких случайных людей особенно много и в ИТ.
- Преобразование XML в реляционную базу данных
- Преобразование строки в целое: stoi( )
- Я слышал, что в Интернете можно заниматься самообразованием. На каких сайтах?
- 7. Лекция: Преобразование типов
- Преобразование кодировок
- Преобразование WSDL-кода в программный код агента для клиента
- Преобразование в XSL-FO при помощи таблицы стилей XSLT
- Глава седьмая. Самообразование
- Пример 12-44. Преобразование метров в мили
- Преобразование типов даты в CHAR(n) и VARCHAR(n)
- 7.12. Отображение структур и преобразование деревьев
- 9.7. Преобразование обычных адресов в данные широты и долготы