Как обычно, в начале я хочу поблагодарить каждого из моих 3366 подписчиков за их терпение и поддержку! Именно благодаря вашим вопросам я вдохновился на описание всех тех событий, что привели меня в Майкрософт, и благодаря вашему терпению я смог написать этот текст.
Часть 2: (лирическое отступление) Школа и медвуз
Часть 3: Microsoft Student Partners Germany
Часть 4: Подготовка к интервью
Часть 5: Интервью
Часть 6: Практика в Майкрософт Бинг в Сан-Франциско
Часть 7: Работа в Майкрософт Бинг изнутри
Для связи со мной всегда можно использовать адрес: мой_ник_на_пикабу@gmail.com
=============
Честно говоря, я никогда не думал, что когда-то буду работать в США и тем более в такой компании, как Майкрософт. Как-то, когда я еще учился в школе и случайно увидел Эйфелеву башню на иллюстрации в учебнике французского языка, я невольно посмотрел в окно, где тогда еще был СССР, и подумал – «да, Эйфелеву башню я увижу разве что на более качественной иллюстрации и вряд ли я когда-то окажусь в Париже». Попасть в Париж через окно чердака, как в популярном тогда фильме «Окно в Париж», было для меня более реальным, чем съездить в Париж. По многим причинам, и не в последнюю очередь по финансовым.
У меня, как и у любого ребенка, были свои мечты, кем я хотел бы стать. Сначала я хотел быть космонавтом, потом пожарником (после посещения музея пожарного дела), потом мне хотелось вырасти и ремонтировать телевизоры. Все закончилось в 8 лет, когда папа принес домой первый мой компьютер. Компьютер этот выглядел не совсем так, как сегодня мы привыкли (см. иллюстрацию): это была такая черная коробка, чем-то похожая на обувную, на которой сверху была наклеена разноцветная бумага с нарисованными разными цветами клавишами и покрытая блестящей плёнкой. Это было достижение советской мысли, персональный компьютер БК-0010. (см. иллюстрацию в комментариях)
Вместе с компьютером шла кассета с пятью играми, которые можно было загружать, если подключить к компьютеру магнитофон. Игры были написаны на «алгоритмическом языке Фокал», интерпретатор которого был встроен в ПЗУ, и были по сегодняшним меркам довольно примитивными: кости, поиск сокровища в лабиринте («Фараон»), прохождение каких-то препятствий человечком. Игры, собственно, меня то и не заинтересовали так сильно, как сам компьютер и возможности поиграться с ним, попробовать что-то своё.
Но тут папа достал толстую книжку, что лежала в одной коробке с компьютером, и сказал, что сначала мне нужно прочитать её полностью. Книжка называлась очень странно «Персональный компьютер БК-0010. Руководство системного программиста». Последние два слова из названия книги я не понял совсем. Начав её читать, я осознал, что после 10-й страницы я уже не понимаю практически ничего. Те отдельные слова, что я знал, не сильно помогали понять смысл.
Чтобы хоть как-то разобраться я стал просто перепечатывать кусочки программ из книжки и смотреть что же они делают, заодно читая русский текст-пояснения. Я интуитивно понял, что такое цикл после того, как несколько дней поигрался с примерами. То же самое относилось и к подпрограммам. Некоторые вещи, например, «массив», я так и не смог понять, рассматривая их просто как аналог таблицы умножения.
Постепенно компьютер занимал меня все больше и больше. Мой магнитофон оказался каким-то не самым подходящим и отказывался читать большинство программ, в том числе и записанных им самим же, поэтому я проводил время сочиняя небольшие программки для рисования простых картинок: замок с крепостной стеной и бойницами, где циклом выводилось 10 одинаковых сегментов, ров с водой и так далее. Я также проводил вечера переписывая листинги программ в общую тетрадь, чтобы потом их анализировать.
Прорыв у меня случился во втором или третьем классе, когда мы проходили умножение многозначных чисел «в столбик». Команда Фокала “T 3456 x 4567 = “ давала мне сразу окончательный ответ, а мне необходимо было записать в столбик «полное» решение. Сначала я вручную умножал первое число на отдельные разряды используя несколько команд -- «Т 3456 x 4 =», «T 3456 x 5 =» -- но скоро мне это надоело.
Тогда-то я и задумался: я нельзя ли написать такую программу, которая бы выдать решение в нужной мне форме? Самой сложной проблемой в решении этой задачи было найти i-ю цифру с конца числа, так как Фокал не поддерживал операции с символами (только с числами). В результате долгих размышлений я нашел такой способ: делим исходное число на 10, отбрасываем дробную часть, умножаем полученный результат на 10 и вычитаем его из оригинального числа. Таким образом мы получаем последнюю цифру числа.
После этого вторым трудным шагом было написание рекурсивного алгоритма (я просто банально не знал, как посчитать число знаков в числе, логарифмы в школе проходят сильно позже), который извлекал числа с конца второго числа, пока они там были, умножал на первое число и записывал результат с необходимым сдвигом. Сама программа, наверное, была строчек 20, но я был очень горд, что мог ее написать и аккуратно переписал её в тетрадку, что я завел для своих программ. С этого момента все космонавты, пожарные и милиционеры у меня отошли на второй план, и я знал, что я хочу стать «информатиком»...
Но время шло, сменился строй за окнами школы, наша школа стала экспериментировать с методами обучения, вводить элементы Вальдорфской системы. Система оценок вдруг стала из 5-бальной 15-бальной, появилась внутришкольная валюта «талант», которую можно было заработать ответами на каверзные вопросы и, накопив некое количество талантов, купить контрольную работу. Вокруг меня все менялось – и в стране, и в школе, неожиданно то, чем мы гордились – октябрятская звёздочка и пионерский красный галстук – вдруг стали предметами культа личности и люди стали гордиться тем, что никогда не были пионерами.
Компьютер у меня сменился сначала на ZX Spectrum, а потом на более продвинутый его вариант «Профи», где я наконец-то познакомился с ассемблером и долгими вечерами сидел в ZXASM (ассемблер) + STS (отладчик) стараясь написать собственную операционную систему. За три года я довольно далеко продвинулся: написал библиотеку работы с пропорционально-ширинными шрифтами (стандартно там шрифты все моноширинные), оконный менеджер, библиотеку графического указателя, что управлялся клавиатурой или джойстиком. На основе этих трех библиотек я написал свой примитивный файловый менеджер, что-то вроде Проводника в Windows, и стал раздумывать как можно написать диспетчер задач на основе той ограниченной поддержки прерываний, что была реализована в Спектруме. На этом я и остановился. (см. иллюстрацию в комментариях)
В школе у нас стояли «двойки» (IBM PC 286), списанные из какой-то спонсорской организации, где мы, как и большинство школьников того времени, «мучали Паскаль», штудировали книжку Хершеля и играли в игры типа первой Цивилизации. К сожалению, олимпиады по информатике тогда еще не проводились так массово и централизованно как сейчас, да и участвовать в них от моей школы посылали более способных в информатике (а таких было несколько!). Но к концу школы я вполне хорошо разбирался в программировании на тот момент времени, хотя, конечно, у меня не было никакого опыта написания серьезных приложений или опыта участия в олимпиадах с автоматической оценкой решений. (см. иллюстрацию в комментариях)
Постепенно шла к концу школа, и надо было выбирать себе ВУЗ по профессии. Однако вопрос выбора у меня не стоял. Весь 10-й и 11-й класс я усиленно готовился к поступлению в медицинский университет. Почему медицинский? Потому что мама у меня врач. Она честно мне сказала: «В жизни можно иметь много хобби и одну профессию. И пусть это профессия будет медицина. Вот если вдруг что случится, война или что – ну кому нужны будут информатики? Врачи же всегда будут нужны». Это был сильный аргумент. Тогда у меня не было чётких приоритетов в жизни. Мне казалось, что мне всё по плечу, а медицина была такой хорошей планкой, прыжком на высоту которой это можно было проверить.
Я успешно сдал вступительный экзамен по химии (после которого у меня остался на всю жизнь клок седых волос, так как решение ключевой задачи до меня дошло только за 15 минут до конца экзамена) и как медалист прошёл сразу на бюджет Педиатрического факультета. Потом были шесть удивительных лет в моей жизни. Медицина это действительная такая интегративная область знаний, где можно применять и высшую математику (в биофизики, физиологии, фармакологии) и просто уметь объединять тысячи вроде бы разрозненных фактов в единую систему (анатомия, гистология, патологическая анатомия, «топочка»). В какой-то момент огромный объем знаний, что дается несколько вразнобой на разных кафедрах, должен ассимилироваться в голове в единую четкую систему того, как устроен и работает человеческий организм в здравии и болезни – и эта система называется «клиническое мышление».
Довольно рано я начал заниматься наукой на кафедре физиологии и еще во время учебы мне удалось получить приглашения выступить с научными докладами в Украине и Италии, а также сделать практику в Германии. В результате по итогам этой практики меня и пригласили в аспирантуру в Берлин. Для меня этот вариант оказался просто спасением, так как в родном моем городе места мне, конечно же, не нашлось и меня собирались отправить работать врачом в небольшое татарское село Дрожанное, чтобы, по словам декана, «отработать своё бесплатное медицинское образование). Я плюнул на всех, поругался с проректором и деканом на распределении и уехал в Германию в аспирантуру в Charit, известную берлинскую клинику.
Я: пока.
Знакомые: ага, пока, до скорого, что, да, да, пока, ага, может быть, ага, да, не знаю, пока, что, да нет, пока, да, пока, ага пока. Кстати, ты знал, что Людка родила?
Подписывайтесь на интересные вам теги, сообщества, авторов, волны постов — и читайте свои любимые темы в этой ленте. Чтобы добавить подписку, нужно авторизоваться.