В «Миттельшпиле» я систематизирую свой профессиональный опыт. «Консалтинг, продукты или наука?» – вместе с читателем мы рассмотрим особенности работы в каждой из этих областей, проанализируем разные направления информатики и их перспективность в мире, где искусственный интеллект с каждым днем становится все большим конкурентом для программистов. Порассуждаем о мотивации команды, роли тимлида и о том, в каких направлениях предпочтительнее развиваться, чтобы зарабатывать много. Ведь делать мир лучше – это прекрасно, но хотелось бы в этом улучшенном мире иметь возможность слетать на отдых и реализовать свои мечты.
P. S.: Эта книга не учебник по программированию. Это – мой личный опыт, размышления о жизни, технологиях и карьере в IT. Мною руководила искренняя заинтересованность в том, чтобы Вы, дорогой читатель, сделали классную IT-карьеру!
Часть 1. «Дебют»
Первые шаги в программировании: HTML для чайников
«Что делать дальше? А самое главное, как зарабатывать деньги?» – эти два вопроса возникли сразу после того, как я в 16 лет решил оставить шахматную карьеру. Я по-прежнему учился в школе и делал это хорошо, особенно силен был в математике, физике и истории. Без ложной скромности скажу, что был одним из лучших и в таком предмете, как физкультура. Школа и родители привили мне любовь к спорту, ведь «жизнь слишком коротка, чтобы быть не в форме».
Профессиональные шахматисты уделяют много времени здоровью, и я всегда отличался высокой самодисциплиной в этом вопросе. Поскольку свободного времени стало больше, решил подкачать тело и мозг: отправился в тренажерный зал и занялся немецким. Забегая вперед, скажу, что в будущем это добавит мне огромное количество бонусных баллов как на работе, так и в личной жизни.
И все же, как зарабатывать деньги? Начал я с уроков шахмат для детей. Мне повезло: в нашем многоквартирном доме несколько лет назад случился беби-бум, и новым детишкам как раз исполнилось по три-четыре года. Мое вознаграждение составляло 1–2–3 доллара в час плюс огромное удовлетворение от проделанной работы. Именно тогда я понял, как сильно мотивирует конкретный результат своих усилий. Когда мой пятилетний ученик впервые участвовал в соревнованиях, у меня аж живот от нервов сводило. Зато когда он выиграл свой дебютный турнир и получил четвертый разряд, счастью не было предела. Тогда я осознал, как радовались и переживали мои тренеры. Как они искренне болели за нас и расстраивались, когда мы упускали призовые места на последних ходах.
Обучая детей премудростям шахматной игры, я понял, что хорошее объяснение требует особого подхода. Лучше всего, если оно будет в форме сказки или увлекательного рассказа. В любую секунду ученик может забыть предыдущую информацию, и тогда следует спокойно ее повторить и отработать на практике. Впоследствии оказалось, что общение с детьми почти не отличается от профессионального взаимодействия с клиентами и младшими коллегами. Клиент тоже любит подзабыть обговоренную ранее деталь, а коллега легко перепутает очередность скриптов в командной строке. Тут не стоит нервничать, даже если это произошло далеко не в первый раз, надо просто повторить и снова попрактиковаться. Помните, что усвоение материала требует времени.
Шестнадцать лет – чудесный возраст, ведь все самое интересное только начинается. Но, как правило, это интересное требует каких-то дополнительных денег, а родители могли обеспечивать только базовые потребности. Шахматное тренерство приносило небольшие деньги, но на новые интересы и желания их не хватало. Например, я хотел заниматься большим теннисом и музыкой, а еще надо было начинать приглашать девочек в кино, покупать им цветы. По-честному, девочки, конечно, были приоритетнее, чем гитара или пианино.
В этот момент мама рассказала, что сын ее подруги делает сайты и хорошо зарабатывает. В школе у меня была информатика, мы учили Паскаль. Я ничего в этом не понимал и имел среднюю оценку 7 (из 10).
«Ладно, если попробую, ничего не потеряю», – решил я. Вычитал в Википедии, что сайты состоят из HTML, CSS и чего-то там еще, и так как ничего не знал об этом, то вбил в Google: «HTML для чайников». Этот поисковый запрос я считаю началом своей IT-карьеры.
HTML оказался не самой сложной технологией (во всяком случае, понятнее, чем Паскаль), было интересно, но как-то скучновато. Я старательно изучал инструкции из книги по HTML, но далеко не все получалось с первого раза. Да даже со второго не получалось. Сейчас-то я точно знаю, что поиск ошибок – debugging – это неотъемлемая часть жизни программиста, поэтому надо быть готовым заниматься скучной и методичной работой. К счастью, профессиональный спорт научил, что без упорного труда успеха не добиться. Поэтому я вдумчиво изучил HTML, затем CSS и, наконец, дошел до JavaScript. Тогда сайты приобрели динамику и стали похожи на те, которыми я пользовался. Появилось некоторое удовлетворение от проделанной работы: «Теперь я что-то да могу».