Skip to content Перейти к разделу

💻Локальный гид: Greats

Инженер-программист · Пишет, тестирует и поддерживает код, который управляет современной жизнью, и является одной из первых профессий, наблюдающих, как ИИ автоматизирует свою повседневную работу.

Одним взглядом
Плотность баллов

Чем темнее клетка, тем выше балл по этому показателю.

Последняя проверка Источники и титрыМедиа-кредитыМетодология

Короткие ответы

Чем на самом деле занимается инженер-программист весь день?

Большую часть времени вы тратите на написание нового кода, чтение кода других людей во время проверки, исправление ошибок и обсуждение с товарищами по команде того, что делать дальше. Встречи, планирование и наставничество занимают больше времени, чем ожидают новички. Старший инженер часто лично пишет меньше кода, чем младший, тратя больше времени на проектные решения, обзоры и разблокировку других.

Нужна ли мне степень в области компьютерных наук, чтобы стать инженером-программистом?

Нет, но это остается наиболее распространенным и наименее трудным путем. Четырехлетняя степень преподает алгоритмы, структуры данных и системные концепции, изучение которых на работе обходится дорого. Выпускников Bootcamp и инженеров-самоучек нанимают, особенно в небольшие компании, но обычно им требуется сильное портфолио или работа с открытым исходным кодом, чтобы заменить диплом.

Подвержена ли разработка программного обеспечения риску со стороны ИИ?

Частично это уже есть. Инструменты, встроенные в современные редакторы кода, теперь пишут большую часть рутинного кода — шаблонного кода, первых набросков тестов, переводов между языками — для инженеров, которые используют их регулярно. Гораздо сложнее автоматизировать решение, что создавать, почему и как следует сформировать систему, чтобы она выдержала контакт с реальными пользователями и сбои.

Сколько зарабатывают инженеры-программисты?

Это сильно варьируется в зависимости от страны и компании. В Соединенных Штатах медианная сумма составляет около 133 000 долларов в год; в Германии примерно 69 000 евро; в Индии, где в отрасли занято больше всего людей, средний показатель по стране приближается к 900 000 фунтов стерлингов. Старшие и штатные инженеры крупных технологических компаний могут зарабатывать в несколько раз больше среднего показателя по стране, если включить в них вознаграждение за акции.

В чем разница между инженером-программистом, программистом и разработчиком?

На практике мало — названия пересекаются и компании используют их непоследовательно. «Программист» — самый старый термин, в котором особое внимание уделяется написанию кода; «разработчик» часто встречается в веб- и продуктовых компаниях; «Инженер-программист» опирается на идею применения дисциплинированных процессов, тестирования и проектирования, заимствованных из старых инженерных областей, для создания программного обеспечения. Должностные инструкции редко различают их последовательно.

Действительно ли собеседование по программированию необходимо для приема на работу?

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

Открыть лабораторию сравнения

Share

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

Их объединяет не общее прошлое (они живут в четырех странах и более 180 лет), а общее убеждение в том, что то, как создается программное обеспечение, имеет такое же значение, как и то, работает ли оно вообще.

Локальный гид: all-time podium

Грейс Хоппер
Грейс Хоппер
Соединенные Штаты
2
Деннис Ричи
Деннис Ричи
Соединенные Штаты
1
Маргарет Гамильтон
Маргарет Гамильтон
Соединенные Штаты
3

“Создавайте так, чтобы работа переживала машину, для которой она была создана — переносимость позволила идеям Unix пережить пятьдесят лет аппаратного обеспечения.”

Деннис Ричи

Локальный гид: eight who reached top

1
Фотография Денниса Ричи Denise Panyik-Dale · CC BY 2.0

Деннис Ричи

Соединенные Штаты · 1941–2011

Соавтор Unix и разработал язык программирования C в Bell Labs, дав отрасли портативную операционную систему и язык, синтаксис которого заимствовали большинство более поздних языков. Он разделил премию Тьюринга 1983 года с Кеном Томпсоном; большинство операционных систем, работающих сегодня, произошли от его работы или были созданы с использованием инструментов.

Локальный гид: story

Вместе с Томпсоном Ричи переписал Unix на C в 1973 году, чтобы можно было перейти на новое оборудование вместо привязки к одной машине — решение, которое позволило Unix и всему, что произошло от нее, пережить любой отдельный компьютер. Он умер дома в Беркли-Хайтс, штат Нью-Джерси, 12 октября 2011 года, и эта смерть в значительной степени омрачена в прессе смертью Стива Джобса неделей ранее, хотя программное обеспечение, созданное на основе работы Ричи, работало внутри собственных продуктов Джобса.

“Создавайте так, чтобы работа переживала машину, для которой она была создана — переносимость позволила идеям Unix пережить пятьдесят лет аппаратного обеспечения.”

Премия Тьюринга
1983 (с Томпсоном)
Языки произошли от C
C++, Java, C#, JavaScript…
Карьера в Bell Labs
~40 лет
2
Фотография Грейс Хоппер в военной форме ВМФ. James S. Davis · Public domain

Грейс Хоппер

Соединенные Штаты · 1906–1992

Математик и военно-морской офицер, создавший первый работающий компилятор в 1952 году, утверждавший, что людям следует программировать на чем-то более близком к английскому, а не на сырых машинных инструкциях. Этот аргумент привел непосредственно к COBOL, языку, который все еще используется в банках, авиакомпаниях и правительствах семь десятилетий спустя.

Локальный гид: story

Отвергнутая военно-морским флотом для прохождения действительной службы из-за недостаточного веса, Хоппер присоединилась к военно-морскому резерву в 1943 году, а позже была назначена для программирования Гарвардского корабля Mark I. В сентябре 1947 года ее команда Mark II записала в свой бортовой журнал мотылька, который заклинил реле, отметив «первый реальный случай обнаружения ошибки» - Хоппер не придумала слово «ошибка», но она рассказывала эту историю на протяжении десятилетий, пока она не стала легендой-основателем этой области.

“Заставьте машину говорить на языке программиста, а не только наоборот.”

Военно-морская карьера
43 года, контр-адмирал.
Возраст выхода на пенсию
79 лет, самый старый действующий офицер
Президентская медаль Свободы
2016 (посмертно)
3
Фотография Маргарет Гамильтон, стоящей рядом со стопкой списков программного обеспечения Apollo. Daphne Weld Nichols · CC BY-SA 3.0

Маргарет Гамильтон

Соединенные Штаты · б. 1936 год

Возглавлял команду в Лаборатории приборостроения Массачусетского технологического института, которая написала бортовое программное обеспечение для программы «Аполлон». Ему приписывают популяризацию термина «программная инженерия», утверждающего, что код заслуживает такой же строгости и уважения, как и разработка аппаратного обеспечения.

Локальный гид: story

Во время спуска «Аполлона-11» на Луну в июле 1969 года компьютер управления начал подавать сигналы тревоги 1202 и 1201, поскольку неправильно настроенный переключатель радара завалил его дополнительной работой. Команда Гамильтона создала программное обеспечение, позволяющее отбрасывать низкоприоритетные задачи при перегрузке, а не при сбое, поэтому оно поддерживало управление приземлением; Управление полетом, основанное на рукописной шпаргалке инженера НАСА, называемой «начать», а не «прервать».

“Создавайте программное обеспечение, которое будет корректно работать при перегрузке, а не только работать, когда все идет по плану.”

Президентская медаль Свободы
2016
Историческая миссия
Посадка Аполлона-11, 1969 год.
Роль MIT
Директор по программному обеспечению, инж. Див.
4
Фотография Линуса Торвальдса. Krd (photo) Von Sprat (crop/extraction) · CC BY-SA 4.0

Линус Торвальдс

Финляндия/США · б. 1969 год

Начал разработку ядра Linux как хобби-проект студента из Хельсинки в 1991 году, а четырнадцать лет спустя написал ядро ​​Git примерно за десять дней. Оба проекта сейчас лежат в основе большей части общедоступного Интернета, большинства телефонов в мире и ежедневного рабочего процесса большинства профессиональных команд разработчиков программного обеспечения.

Локальный гид: story

25 августа 1991 года Торвальдс сообщил в группе Usenet comp.os.minix, что пишет «(бесплатную) операционную систему (просто хобби, не будет такой большой и профессиональной, как gnu)». Добровольцы по всему миру начали вносить свой вклад в течение нескольких месяцев. В 2005 году, после того как лицензионный спор лишил команду ядра доступа к существующему инструменту контроля версий, он сам написал ядро ​​Git примерно за десять дней, вместо того, чтобы ждать, пока его создаст кто-то другой.

“Рабочий код, свободно распространяемый и обсуждаемый открыто, превосходит идеальный дизайн закрытого комитета.”

Ядро Linux запущено
1991 год, 21 год.
Git написан на
~10 дней, 2005 г.
Устройства под управлением ОС Linux
Миллиарды, в т.ч. все Android
5
Фотография Барбары Лисков Kenneth C. Zirkel · CC BY-SA 3.0

Барбара Лисков

Соединенные Штаты · б. 1939 год

В середине 1970-х годов в Массачусетском технологическом институте разработал CLU, один из первых языков с реальной абстракцией данных, а позже формализовал принцип замены, который до сих пор определяет, как инженеры проектируют иерархии классов. В 2008 году она стала второй женщиной, получившей премию Тьюринга.

Локальный гид: story

Лисков получила степень доктора компьютерных наук в Стэнфорде в 1968 году, став одной из первых женщин в США, получивших это звание. В Массачусетском технологическом институте она возглавляла команду, создавшую CLU в период с 1974 по 1975 год, представив абстрактные типы данных задолго до того, как термин «объектно-ориентированное программирование» стал обычным явлением. В своем выступлении на конференции 1987 года она изложила то, что стало известно как принцип замены Лискова, теперь буква «L» в принципах проектирования SOLID, которым учат почти каждого инженера.

“Подтип должен выполнять каждое обещание, данное его супертипом, иначе абстракция перестанет вас защищать.”

Премия Тьюринга
2008 (2-я женщина)
Кандидат компьютерных наук
1968, Стэнфорд
Встроенный язык CLU
1974–75, Массачусетский технологический институт
6
Портрет Ады Лавлейс Antoine Claudet · Public domain

Ада Лавлейс

Великобритания · 1815–1852

В 1843 году Лавлейс перевела и аннотировала итальянскую статью о незавершенной аналитической машине Чарльза Бэббиджа и в своей самой длинной заметке шаг за шагом описала, как машина может вычислять последовательность чисел — рабочую программу, написанную для компьютера, которого еще не существовало.

Локальный гид: story

В примечании G Лавлейс, самом длинном из семи примечаний, сопровождающих ее перевод статьи Луиджи Менабреа, изложены операционные карты аналитической машины для вычисления чисел Бернулли, и она обнаружила и исправила ошибку в расчете перед публикацией. Она умерла от рака в 1852 году в возрасте 36 лет, за десятилетия до того, как кто-либо построил машину, способную выполнять то, что она написала; в ее честь был назван язык программирования Ada, принятый Министерством обороны США в 1980 году.

“Программу можно спроектировать и отладить еще до того, как появится машина, на которой она будет выполняться.”

Примечания опубликованы
1843
Возраст на момент смерти
36
Язык, названный в ее честь
Ада, 1980 г., Министерство обороны США.
7

Фрэнсис Аллен

Соединенные Штаты · 1932–2020

Почти всю свою карьеру провела в IBM Research, превращая буквальный, неэффективный код, который сначала создает компилятор, в быстрые программы, которые инженеры фактически выпускают, закладывая математическую основу для современных оптимизирующих и распараллеливающих компиляторов. В 2006 году она стала первой женщиной, получившей премию Тьюринга.

Локальный гид: story

Аллен выросла на молочной ферме в Перу, штат Нью-Йорк, без электричества и водопровода, и присоединилась к IBM в 1957 году, главным образом, чтобы погасить свой долг за обучение в колледже. В ее статье 1966 года «Оптимизация программ» были представлены методы анализа кода на основе графов, которые до сих пор преподаются на курсах компиляторов. Позже она возглавила PTRAN, проект, который научил компиляторов автоматически находить скрытый параллелизм в старых программах на Фортране, и стала первой женщиной-стипендиатом IBM в 1989 году.

“Программа, которую пишет человек, и программа, которую должна запускать машина, — это разные проблемы; решить оба.”

Премия Тьюринга
2006 (1-я женщина)
Сотрудник IBM
1989 (1-я женщина)
Карьера в IBM Research
~45 лет
8

Юкихиро Мацумото

Япония · б. 1965 год

Начиная с 1993 года, разрабатывал язык программирования Ruby с одной явной целью — счастье программистов, а не эффективность машин — и наблюдал, как он стал двигателем первых Twitter, GitHub и Shopify, а также более широкой волны стартапов эпохи Rails, которые он помог запустить.

Локальный гид: story

Мацумото начал рисовать Ruby на бумаге в феврале 1993 года, смешивая кусочки Perl, Smalltalk, Eiffel, Lisp и Ada, и опубликовал его в 1995 году. Он сказал, что его цель заключалась в том, чтобы сделать программистов счастливыми, а не оптимизировать для компьютера. Эту философию сообщество Ruby превратило в свой собственный девиз: «Matz хорош, и поэтому мы хороши» — правило о том, как участники должны относиться друг к другу, а не только о том, как должен работать язык. вести себя.

“Создавайте инструменты с учетом того, как люди чувствуют себя при их использовании, а не только с учетом того, что они позволяют машине вычислять.”

Первый публичный релиз Ruby
1995
Годы разработки Ruby
С 1993 года
Роль
Главный дизайнер Руби

Длина полос — относительно лидера этого списка.

Лаборатория сравнения

Локальный гид: Toggle names on off — every bar rescales to leader of your selection.

5 / 8

Локальный гид: argument

Вопрос о том, «придумал» ли конференция НАТО 1968 года термин «программная инженерия», остается спорным: Маргарет Гамильтон и другие говорят, что версии этой фразы уже неофициально циркулировали в инженерных кругах до Гармиша, и что конференция скорее популяризировала, чем изобрела его.

Именование и признание Linux порождают свои собственные давние аргументы: Ричард Столлман и Фонд свободного программного обеспечения утверждают, что операционную систему следует называть «GNU/Linux», поскольку большая часть окружающей ее инструментальной цепочки возникла из проекта GNU, который предшествовал ядру Торвальдса.

Similar professions

📊

Специалист по данным

Находит закономерности и строит прогнозные модели на основе данных — должность 2008 года, основанная на трех столетиях подсчета, тестирования и визуализации доказательств.

Локальный гид: AI-resistant 38
📦

Инженер МЛОпс

Создает системы, которые обучают, развертывают, контролируют и управляют моделями машинного обучения в производстве.

Локальный гид: AI-resistant 54
🗺️

Менеджер по продукту

Решает, что компания должна построить дальше и почему, превращая потребности клиентов, бизнес-цели и технические ограничения в один общий план, которым никто больше не владеет.

Локальный гид: AI-resistant 50
🔐

Специалист по кибербезопасности

Защищает системы, данные и людей, обнаруживая, предотвращая и реагируя на цифровые атаки.

Локальный гид: AI-resistant 63
🌿

Менеджер по устойчивому развитию

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

Локальный гид: AI-resistant 66
🧾

Бухгалтер

Хранитель книг: наследник ремесла, настолько древнего, что оно изобрело само письмо, и теперь ведет переговоры с программным обеспечением, созданным для его автоматизации.

Локальный гид: AI-resistant 35

Continue exploring

Локальный гид: Keep exploring

Локальный гид: More in Локальный гид: Engineering & Technology

🤖

Исследователь искусственного интеллекта

Разрабатывает и тестирует алгоритмы, лежащие в основе машинного интеллекта, в области, которая сейчас стремится автоматизировать растущую долю собственного исследовательского процесса.

Локальный гид: AI-resistant 50
🛰️

Аэрокосмический инженер

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

Локальный гид: AI-resistant 74
🌉

Инженер-строитель

Профессия, превращающая реки, скалы и гравитацию в мосты, дороги и чистую воду — тихая несущая сила цивилизации со времен Имхотепа.

Локальный гид: AI-resistant 72
🔌

Инженер-полупроводник

Разрабатывает и производит транзисторы внутри каждого компьютера, телефона и оружия, используя настолько точные станки, что их могут эксплуатировать лишь несколько заводов на Земле.

Локальный гид: AI-resistant 60
🦾

Инженер-робототехника

Разрабатывает машины, которые чувствуют, принимают решения и действуют в физическом мире, где сложной проблемой является не интеллект, а сам мир.

Локальный гид: AI-resistant 65
🔐

Специалист по кибербезопасности

Защищает системы, данные и людей, обнаруживая, предотвращая и реагируя на цифровые атаки.

Локальный гид: AI-resistant 63
📦

Инженер МЛОпс

Создает системы, которые обучают, развертывают, контролируют и управляют моделями машинного обучения в производстве.

Локальный гид: AI-resistant 54
🌬️

Инженер по возобновляемым источникам энергии

Проектирует, строит и совершенствует ветровые, солнечные, накопительные и сетевые системы, которые превращают возобновляемые ресурсы в надежную электроэнергию.

Локальный гид: AI-resistant 72