Чтение онлайн

на главную

Жанры

IT Компас: как правильно программировать IT-карьеру
Шрифт:

Итак, круг замкнулся: я вернулся туда, куда не планировал возвращаться. В начале своего пути я и мечтать не мог о таком месте работы. Именно этот момент я считаю завершением моего карьерного дебюта. Он получился насыщенным, полным неожиданностей и удач. Я пожертвовал несколько «пешек» вначале, но полностью завладел инициативой. Была допущена как минимум одна серьезная ошибка. Но ведь не ошибается тот, кто ничего не делает.

Сейчас я нахожусь в стадии миттельшпиля и планирую его элегантно разыграть. Пара ходов в середине партии получилась очень удачной. Я возглавил реализацию первого государственного блокчейн-проекта в Германии для Федерального ведомства по делам миграции и беженцев (BAMF – Bundesamt fur Migration und Fluchtlinge). Мы объединили в одну сеть несколько

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

Вторым моим успешным проектом стали «ковидные паспорта». IBM Digital Health Pass – это была одна из первых в мире реализаций вакцинных паспортов. Мы внедрили ее в Нью-Йорке на полгода раньше, чем аналогичная система заработала в Европе. Я потрудился и над европейской реализацией. Немного моего кода исполнялось на Андроид-телефонах во всех европейских странах.

Вторую часть книги я назвал «Миттельшпиль». Как правило, дебют можно хорошо подготовить и просчитать. А вот миттельшпиль всегда уникален, поэтому надо импровизировать. Чтобы импровизация была более осознанной, я проанализирую разные аспекты профессии на реальных примерах и попробую предсказать, куда мои ученые коллеги тащат IT-мир и к чему нам, программистам, стоит заранее подготовиться.

Часть 2. «Миттельшпиль»

Чем глубже фундамент, тем выше здание можно построить

Корни образования горькие, но плоды сладкие.

Аристотель

Бурдж-Халифа – небоскреб высотой 828 метров в Дубае. На данный момент (2024 год) это самое высокое здание в мире. Безусловно, Бурдж-Халифа – памятник человеческой мысли, смелости, богатству. Но отличает этот небоскреб не только то, насколько он возвышается над поверхностью, но и то, на какой глубине расположен его фундамент.

Аравийский полуостров сформирован донными отложениями древнего океана, то есть преимущественно из песчаных пород. В отличие от Манхэттена, где пригодный для высоких и тяжелых зданий скалистый грунт лежит близко к поверхности, здесь относительно твердые породы встречаются значительно реже. Этот фактор приходилось учитывать чикагскому архитектору Эдриану Смиту. Чтобы построить здание в 828 метров, в землю вкрутили 192 сваи диаметром полтора метра и длиной 45 метров (половина футбольного поля). Далее над ними надстроили бетонную плиту шириной 3,7 метра. Эта сложная конструкция и образует фундамент самого высокого здания в мире. Именно благодаря такой мощной базе проект был успешно доведен до конца и ежегодно притягивает сотни тысяч туристов.

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

IT-фундамент

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

Базовые технические навыки в информатике – это структуры данных, базы данных, алгоритмы и низкоуровневый язык Си. Глубоко освоив эти вещи, можно будет без особых проблем выучить 80 % высокоуровневых языков и программировать на них так, чтобы было не очень стыдно показать другим людям. Не стоит в начале обучения гнаться за какой-то конкретной модной технологией, в некоторых отраслях тренды полностью меняются за пять-семь лет.

Когда я начинал заниматься веб-разработкой, главной библиотекой считалась jQuery (релиз в 2006 году), использовавшаяся для анимации и придания динамики сайтам. Мне

казалось, что jQuery будет вечной, потому что ничего лучше придумать нельзя. В 2013-м Facebook опубликовал первую версию ReactJS для создания сайтов и веб-приложений. Эта библиотека полностью поменяла все парадигмы. Но если веб-разработчик хорошо разбирался в базовых технологиях браузера, то переучиться не составляло труда. Аналогии можно привести и в совершенно других областях. Например, если программист хорошо знает один из базовых языков – Java, – он может одинаково эффективно использовать серверную библиотеку Spring и писать программки для пластиковых карт с чипом NFC.

Наилучшим доказательством моих слов будут требования к кандидатам в больших компаниях, таких как Google, Amazon, Microsoft. За исключением узкоспециализированных вакансий (например, криптограф), знания требуются очень широкие и в то же время базовые (см. выше). Я дважды проходил собеседования в Google, по совокупности около четырнадцати испытаний – и второй раз даже успешно. Интервьюеров в первую очередь интересовали скорость мышления и знание основ. Причина таких требований состоит вот в чем: после выхода на работу новый сотрудник получает около трех месяцев на обучение конкретным технологиям для конкретного проекта. Считается, что при наличии соответствующей базы этого времени будет достаточно, и поначалу компания готова в него инвестировать.

Вторая важная составляющая IT-фундамента – широкий кругозор: история, география, литература, философия, экономика. Прошло то время, когда программисты работали поодиночке. Сейчас создание любого инновационного продукта – это долгая работа в больших командах под руководством эффективных менеджеров. Нельзя построить квантовый компьютер за полгода в гараже с друзьями.

Рабочие дни программиста – далеко не только сидение за компьютером. Вы выходите с кем-то из коллег пообедать, выпить кофе, общаетесь на отвлеченные темы. Умение работать и взаимодействовать в команде – такой же навык, как язык программирования. Чтобы с тобой хотели работать месяц, достаточно быть приятным в общении. Чтобы с тобой хотели работать годами, ты должен быть еще и интересным собеседником. Чтобы руководить и вести за собой коллектив, ты должен быть приятным, интересным и эффективным. Где эффективность – это профессионализм, помноженный на скорость.

Математика

Третий важный навык – математика. Математику не зря называют царицей наук. Она используется везде: в музыке, в автопилоте машин, при оплате покупок в магазине.

В музыке нотная грамота подчиняется строгим правилам сложения дробей. Если половина мелодии написана в размере 2/4, а другая половина – в 3/4, и все такты перемешаны вразнобой, то человеческое ухо быстро это распознает, такая музыка вызывает дискомфорт.

Автопилот (в 2024-м) – это натренированный искусственный интеллект, который с помощью камер распознает предметы и принимает решения. Сам процесс тренировки и последующей оптимизации включает в себя операции над огромными (100…000 x 100…000) математическими матрицами из раздела дискретной математики. При оплате покупок кредитная карта вместе с платежным терминалом каждый раз исполняют криптографические протоколы, которые в 2024 году основаны либо на больших числах и дискретном логарифме, либо на эллиптических кривых.

«Ну мне-то точно эта сложная математика не понадобится. Где я и где автопилот последнего поколения» – так думали и я, и мои одногруппники в университете. И действительно, максимум 1 % программистов используют в работе математику. Однако впоследствии я понял, что нужна она не только тем, кто ее применяет впрямую или косвенно, а действительно всем – как гимнастика для ума. Мозг – это своего рода мышца, его можно и нужно тренировать. Математика – отличный способ заставить мозг работать быстрее и дольше. Один из базовых тренировочных процессов в шахматах – решение задач: мат в два хода, выигрыш ферзя в три хода и т. д. Чем быстрее шахматист решает задачи, тем быстрее и дальновиднее он действует в реальной игре. Так же и с математикой в жизни – она раскачивает мозг и позволяет думать быстрее, глубже и дальше.

Поделиться:
Популярные книги

Его наследник

Безрукова Елена
1. Наследники Сильных
Любовные романы:
современные любовные романы
эро литература
5.87
рейтинг книги
Его наследник

Его огонь горит для меня. Том 2

Муратова Ульяна
2. Мир Карастели
Фантастика:
юмористическая фантастика
5.40
рейтинг книги
Его огонь горит для меня. Том 2

Адепт. Том 1. Обучение

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
9.27
рейтинг книги
Адепт. Том 1. Обучение

Я – Орк. Том 4

Лисицин Евгений
4. Я — Орк
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 4

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Я тебя верну

Вечная Ольга
2. Сага о подсолнухах
Любовные романы:
современные любовные романы
эро литература
5.50
рейтинг книги
Я тебя верну

Звезда сомнительного счастья

Шах Ольга
Фантастика:
фэнтези
6.00
рейтинг книги
Звезда сомнительного счастья

Идеальный мир для Лекаря 19

Сапфир Олег
19. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 19

Последняя Арена 4

Греков Сергей
4. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 4

Real-Rpg. Еретик

Жгулёв Пётр Николаевич
2. Real-Rpg
Фантастика:
фэнтези
8.19
рейтинг книги
Real-Rpg. Еретик

Идеальный мир для Социопата 4

Сапфир Олег
4. Социопат
Фантастика:
боевая фантастика
6.82
рейтинг книги
Идеальный мир для Социопата 4

Бездомыш. Предземье

Рымин Андрей Олегович
3. К Вершине
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Бездомыш. Предземье

Ваше Сиятельство 3

Моури Эрли
3. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 3

Игра топа

Вяч Павел
1. Игра топа
Фантастика:
фэнтези
6.86
рейтинг книги
Игра топа