Для связи со мной всегда можно использовать адрес: мой_ник_на_пикабу@gmail.com
Интересного чтения!
=============
Вернемся к событиям зимы 2007 года. После письма из Майкрософт и приглашения на собеседование встал вопрос – на какую же тему мне лучше делать доклад? Я, конечно, мог рассказать о том, что я уже запрограммировал – и, признаюсь, сначала мне так и хотелось. Но потом я все-таки решил выбрать тему, которая была еще совсем не известна, но которая, на мой взгляд, станет важной в ближайшие годы. Руководствуясь этим принципом, я подготовил доклад о языке программирования F#, тогда еще находящимся в стадии альфа-разработки.
Функциональное программирование тогда еще только-только начинало входить в мейнстрим, и еще мало кто толком знал, что это такое и с чем его едят. Да я и сам, признаюсь честно, тогда не понял много. Но того, что я понял, хватило на мой 20-минутный доклад, где я показал, как функциональный подход к программированию позволяет решать определенные задачи быстрее, с меньшим объемом кода и меньшим числом ошибок. Мой доклад понравился, и уже через месяц я стал полноправным членом организации Microsoft Student Partners Germany, с доступом к её Sharepoint и электронным адресом в домене studentpartners.de.
Вообще, программа Microsoft Student Partners довольно сильно отличается от страны к стране, и я не знаю, насколько мой опыт участия в этой программе в Германии можно перенести на аналогичные программы в России и ближайших странах.
В том виде, в котором программа работает сейчас в Германии, она представляет из себя что-то вроде «клуба по интересам». То есть сам факт членства еще ничего не означает, а лишь показывает твой интерес к технологиям и дает возможность изучать и популяризировать технологии, которые тебе нравятся. Каждый участник (обязательно студент ВУЗа!) получает возможность выбрать себе какую-то определенную технологию и получить бесплатно материалы для подготовки к сертификационному экзамену по этой технологии, а также бесплатный ваучер для сдачи экзамена. Считалось, что первый экзамен надо сдать в течение года, затем каждые полгода необходимо было сдавать новый сертификационный экзамен (для которого, опять-таки, предоставлялась необходимая для подготовки литература и ваучер).
Параллельно с самообразованием ожидалось, что студент также занимается «популяризацией» интересующих его технологий, то есть обучает работе с данной технологией других студентов или преподавателей. Обучение может происходить в виде докладов, семинаров, мастер-классов или конференций – как удобнее тому, кто обучает и как сможешь договориться с ВУЗом. Некоторое минимальное количество таких мероприятий должно было организовываться каждые полгода для того, чтобы оставаться активным членом данной программы и продолжать получать её бонусы.
К сожалению, в реальности довольно небольшой процент доходил до сдачи первого экзамена, и самостоятельной организацией тоже занимались лишь единицы. Остальные либо пассивно принимали участие, либо участвовали в роли докладчиков на мероприятиях, организованных другими. Однако такое участие было возможно только в двух-трех крупных городах или университетах, где был налажен контакт между программой и руководством ВУЗов.
Если сначала в программу принимали только студентов технических специальностей, то с определенного момента участие расширили и на студентов-гуманитариев, предоставив им возможность специализироваться в различных офис-продуктах и сдавать экзамены из серии MOS/MCAS (Microsoft Office Specialist/Microsoft Certified Application Specialist).
В зависимости от количества проведенных мероприятий и количества сданных сертификационных экзаменов можно было сделать небольшую карьеру, вершиной которой является Expert Student Partner (после сдачи трех сертификационных экзаменов и около 700 часов мастер-классов по собственным слайдам и программе), которым оплачивали неделю специального педагогического курса, нужного для получения сертификации Microsoft Certified Trainer.
Эта программа мне очень много дала и определила место моей настоящей работы! С одной стороны, требование о сдаче сертификационного экзамена ограничивало выбор технологий (я выбрал экзамен по администрации SQL Server 2005, экзамен 70-431), но с другой стороны никто не запрещал изучать и другие, смежные технологии и делать доклады по ним, а не непосредственно по предмету сертификации. В результате, в частности, я в первый год разбирался с C# и подготовил двухчасовой доклад на тему LINQ (тогда эта технология только появилась и все, связанное с ней, было в новинку), потом переключился на технологии ASP.NET, и так далее.
Если с сертификацией было все более-менее понятно и за четыре года самоорганизации, заставляя себя читать книги для подготовки к сертификационным экзаменом хотя бы три дня в неделю, я смог добраться до уровня MCPD (Microsoft Certified Professional Developer), то с организацией учебных мероприятий для студентов дело с самого начало не заладилось. При первой же попытке забронировать учебную комнату для доклада по MS SQL Server 2008 мне было заявлено, что такого рода доклад является рекламным мероприятием (!) и что я должен платить почасовую аренду за комнату, как если бы я хотел организовать в ней банкет или частную вечеринку. Конечно, таких денег у программы не было. Дело зашло в тупик.
Здесь мне опять помог случай. Во время участия в конкурсе программных проектов Microsoft Imagine Cup команде нашего ВУЗе повезло занять третье место по Германии, и Майкрософт тогда в качестве утешительного приза подарил нашему ВУЗу годовую бесплатную подписку на онлайн коллекцию курсов Microsoft IT-Academy. Во время вручения этого приза нашему университету я познакомился с главой нашего вычислительного центра, Куртом. Курт был уже в возрасте и был таким очень типичным ГДР-овским немцем: он очень любил СССР, любил русскую культуру, бывал в СССР (в Россию же почему-то не ездил) и умел читать по-русски (говорить, увы, он при мне уже стеснялся).
Благодаря этому знакомству я получил возможность бронировать помещения под любые курсы, доклады, конференции и другие (технические!) мероприятия от имени вычислительного центра нашего ВУЗа. Наш вычислительный центр на 50% был основан на технологиях Майкрософт (другие 50% представлял Debian Red Hat) и сотрудники центра с интересом относились к нашим мероприятиям и часто приходили послушать наши доклады. Я пишу «наши», так как часто я выступал в роли организатора и приглашал на доклады других партнеров, которые были специалистами в областях, в которых я разбирался не очень хорошо (IT Infrastructure, SharePoint, Exchange, Embedded Systems, Microsoft Surface и прочее).
Активное участие в программе позволило мне не только достичь довольно продвинутых сертификаций (MCPD в .Net и MCITP в разработке баз данных), но и получить сертификацию тренера (MCT, Microsoft Certified Trainer), что позволило мне использовать готовые слайды для своих докладов из материалов, предоставляемых тренерам (MOS, Microsoft Official Courseware). Но не это главное. Главное – те связи, которые ты нарабатываешь за это время, общаясь с одной стороны с большим количество сотрудников Майкрософта, с другой стороны – с преподавателями своего ВУЗа, с профессорами и заинтересованными студентами.
Однажды, когда глава разработки Windows 7, John de Vaan, тогда Corporate Vice President Майкрософт и глава Windows Development, был проездом в Гамбурге. Windows 7-ка тогда как раз только-только вышла, и он приезжал на какое-то закрытое мероприятие для значимых клиентов компании. И когда он захотел выступить перед студентами с техническим докладом, так получилось, что я оказался тем посредником, который координировал этот доклад. Сначала мой ВУЗ не знал, как отнестись к такой информации от обычного студента (ведь для ВУЗа я был всего лишь студентом-третьекурсником), из-за этого организовывать помещение пришлось в последнюю минуту и даже переносить одну лекцию. В результате на доклад Джона, к моему удивлению, пришло около 500 человек (при вместимости зала 400 мест), и доклад был действительно сугубо технический и посвященный координации работы всех команд, разбросанных по всему миру, которые работали над операционной системой.
Когда я учился на четвертом курсе один из профессоров предложил мне, совместно с его аспирантом, разработать программу практического курса для студентов-второкурсников. В курс, состоящий из восьми 4-часовых занятий, вошли такие темы, как Code Versioning Systems, Issue Tracking Systems, Unit Test, Test-Driven Development, Code Metrics и другие, сугубо прикладные темы, которые мы демонстрировали в Visual Studio. На последнем курсе другой профессор попросил меня прочитать курс – введение в программирование на С++. Оба эти курса, с одной стороны, заняли у меня очень много времени на подготовку и проведение, но очень помогли мне понять сложности и быт преподавателей ВУЗов.
Среди тех, кто приходил на мои курсы, было много студентов старших курсов, которые уже работали самостоятельно программистами и хотели углубить или систематизировать свои знания. Через таких, талантливых студентов, я смог найти еще несколько очень интересных проектов для ряда известных компаний и получить практический опыт использования всех технологий, которые изучал теоретически (опыт был нужен и для сдачи экзаменов). Конечно, за это мне платили как специалисту, так что я на какое-то время даже ушел с фирмы, где я работал, и занимался сторонними проектами для Deutsche Telekom и SAP.
Как обычно, в начале я хочу поблагодарить каждого из моих 3366 подписчиков за их терпение и поддержку! Именно благодаря вашим вопросам я вдохновился на описание всех тех событий, что привели меня в Майкрософт, и благодаря вашему терпению я смог написать этот текст.
Часть 1: Поворот Часть 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, известную берлинскую клинику.
Прежде чем начать, я хочу поблагодарить каждого из моих 2721 подписчиков за их терпение и поддержку! Именно благодаря вашим вопросам я вдохновился на описание всех тех событий, что привели меня в Майкрософт, и благодаря вашему терпению я смог написать этот текст.
Текст получился довольно большой и я разбил его на 7 частей:
Часть 1: Поворот
Часть 2: (лирическое отступление) Школа и медвуз
Часть 3: Microsoft Student Partners Germany
Часть 4: Подготовка к интервью
Часть 5: Интервью
Часть 6: Практика в Майкрософт Бинг в Сан-Франциско
Часть 7: Работа в Майкрософт Бинг изнутри
На протяжении следующих 7 недель я буду выкладывать эти части в своем блоге на Пикабу, по одной части каждую неделю: такой темп обусловлен лишь тем, что иначе я не смогу адекватно отвечать на ваши вопросы и комментарии в блоге.
За 17 лет, прошедших после окончания школы, я окончательно рассорился с русской пунктуацией, и если правописание мне еще как-то подсказывает проверка орфографии, то запятые я ставлю совсем уж наугад. Буду рад любым вашим замечаниям!
Для связи со мной всегда можно использовать адрес: мой_ник_на_пикабу@gmail.com
=============
Так получилось, что в 27 лет жизнь моя зашла в тупик, из которого я не видел простого выхода. Закончив с золотой медалью школу и с красным дипломом медицинский, отучившись в аспирантуре в Германии три года и дописывая диссертацию, я вдруг окончательно осознал, что мне уже почти тридцать, а я всё ещё занимаюсь в жизни совсем не тем, чем я хотел бы заниматься.
С первого класса я мечтал стать «информатиком» (так я сам называл эту профессию, что-то среднее между программистом и администратором). Однако информатика всю мою жизнь оставалась лишь моим хобби, занятие которым давало мне силы и энергию на другие сферы. Моей профессией сначала было изучение медицины (как студента-медика), потом я подался в фундаментальную науку (так как она была более близка к тому, чем я думал, я хотел бы заниматься, нежели рутинная работа врачом-педиатром – специальность, что стояла у меня в дипломе). Посвятив исследованиям четыре года во время учебы в ВУЗе и еще три года после в аспирантуре, я все больше разочаровывался в себе, в своих способностях. Жизнь просто и незаметно завернула «не туда» и, казалось, уже не вывернет куда мне надо.
Однако, так сложились обстоятельства, что у меня появилась возможность начать всё сначала. Такое решение помогла мне принять моя (тогда еще будущая) супруга, и в возрасте 27 лет я пошел учиться в Технический Университет Гамбурга (TUHH, Technische Universitt Hamburg-Harburg), на факультет инженерной информатики (Informatikingeneurwesen), на первый курс. Как ни странно, в свои 27 лет я был 5-м или 6-м студентом на потоке по возрасту (то есть были люди и старше 30!). Это помогло мне число психологически влиться в студенческую жизнь и не чувствовать себя «белой вороной».
Мне сложно сравнивать студенческую жизнь в Германии с тем, как преподают информатику в России, ведь я в России в ВУЗе я изучал только медицину, а это такая «вещь в себе», наполненная походами в анатомический театр и зубрежкой анатомических и прочих терминов начиная с самой первой недели первого курса и практически до пятого курса. Учеба в медицинском была для меня трудной, напряженной работой на протяжении всех шести лет обучения, с редкими праздниками и встречами вне рамок учебы. Я ни до, ни после никогда не был вынужден ежедневно прикладывать столько усилий для того, чтобы просто «удержаться на плаву». Я помню, что очень часто во время учебы я вспоминал высказывание Чёрной Королевы из «Алисы» Кэрролла: «Иногда нужно бежать изо всех ног чтобы просто оставаться на месте».
Учеба по специальности Informatik-Ingenieurwesen (информатика и инженерное дело), по сравнению с учебой в России, показалась мне намного проще. Возможно, здесь сыграл роль тот факт, что я всегда интересовался информатикой и к моменту начала учебы у меня уже были (пусть и разрозненные) знания. А, может быть, это просто специфика обучения в техническом ВУЗе.
Об учебном процессе в Германии можно писать много и долго: за те 6 лет, что мне понадобились, чтобы закончить ВУЗ по моей новой специальности, я успешно сдал около 40 письменных и 10 устных экзаменов, написал около 20 работ (включая преддиплом и диплом), прошел через 30 кафедр, на ряде которых я даже немного подрабатывал тутором (помощником преподавателя). Мне очень нравилось, что, в отличие от России, на многих лекциях никто не пытался нас отмечать. Более того, конспекты лекций (слайды презентации или сканы того, что писал профессор на overhead-проекторе), а в некоторых случаях даже видеозаписи лекций, выкладывались в сеть и их можно было смотреть несколько раз. В конце семестра силами самих студентов организовывались курсы подготовки к экзаменам по ключевым предметам (математика, теория систем, электротехника, механика и т.п.), когда студенты, успешно сдавшие этот экзамен в прошлые годы, разбирали с теми, кому этот экзамен только еще предстоит, наиболее важные и сложные моменты теории и задачи. Таким образом, сравнивая медицинский и инженерный диплом, я могу лишь сказать, что моё второе высшее образование далось мне намного легче первого, и больше напоминало отдых и общение с интересными людьми нежели тяжелый труд.
Примерно через полгода от начала учебы моя жена, случайно зайдя к нам в университет перекусить в студенческой столовой, нашла на доске объявление вакансию, которая бы мне подошла – разработка формуляров и написание запросов к базе данных товарооборота (Warenwirtschaftssystem, WaWi) в небольшой фирме, расположенной в 5 минутах езды на автобусе от университета.
В этой фирме я и проработал всё время учебы, пройдя путь от практиканта на 6 часов в неделю до ведущего разработчика. Именно это работа позволила мне финансировать учебу и мою семью, особенно когда на втором курсе у нас родился сын и моя жена была вынуждена уйти со своей работы. Мне повезло работать с удивительными людьми, которые решали практические задачи каждый день и которые многому меня научили именно в том, что касается практики программирования (теории мне хватало и в ВУЗе). Мне также очень повезло с директором фирмы, немцем по имени Зёнке, которым я искренне восхищаюсь до сих пор. Он много раз отвозил меня домой на своём Порше, когда автобусы уже не ходили и идти через индустриальный район было бы страшно. Он несколько раз ночевал со мной на работе, когда надо было что-то срочно починить до утра в моей части кода. И на третий день работы на фирме, еще только в самом начале испытательного срока (который по договору был полгода), он сказал мне – «увольняйся со свой второй работы» - (я еще работал в аэропорту, в отделе подготовки документов на грузы) – «здесь ты можешь работать столько, сколько ты захочешь и пока ты хочешь». Сейчас, через много лет, я очень благодарен ему за то доверие и веру в меня, которая тоже сыграла немалую роль в моей карьере.
Я никогда не забуду то чувство эйфории, которое охватило меня через неделю-две после того, как я начал работать на этой фирме. Информатика и программирование вдруг так быстро и неожиданно стали из хобби, которое я лелеял 20 лет и плоды которого не мог оценить практически никто из моего медицинского окружения, в профессию, что кормила меня.
Одной из первых систем, что я написал, стала система автоматического распределения персонала по рабочим местам в небольшой фирме, что занималась предоставлением временных рабочих различным заказчикам. У меня ушло три недели на написание этой системы и уже через два дня после этого она стояла у клиента и – что самое удивительное – вполне сносно работала. Система сама определяла какого рабочего куда лучше послать, учитывая его квалификации, где он раньше работал и различные приоритеты заказчиков (которые хотели работать с определенными рабочими и не хотели с другими), генерировала всю необходимую документацию (лист убытия на объект, обходной лист, накладные по учету времени работы, счета заказчику за выполненные работу, зарплатные листы рабочим с учетом надбавок и прочее).