Найти в Дзене
Леди Инженер

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

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

Давай поговорим про языки программирования. Ты начинал с Visual Basic. Какие нынче языки в ходу: какой самый распространённый, а какой самый передовой?

Начинающему программисту ещё 10 лет назад первым языком стоило выбрать PHP. Сейчас в эпоху интерактивных web-сайтов (SPA) имеет смысл выбрать первым языком Java Script, он позволит писать сразу на одном языке и web-страничку, и логику web-сервера. На ближайшие годы спрос на данный вид работ будет обеспечен.

Если хотите сразу по-серьёзному зарабатывать (от 70 000 руб. для junior), с перспективой через год получать 150 000 руб., то вам в обязательном порядке имеет смысл изучать Java, например, на таком сайте, как https://javarush.ru.

Так Java Script и Java - разные языки?

Верно. Java Script используется для создания web-сайтов и приложений Android, а Java - для создания больших распределенных приложений в сферах обработки информации, например в банковской. На Java также можно программировать под Android, т.е. она более универсальна, более профессиональна.

В общем каждый язык заточен под определённые задачи?

Конечно. И перечисленными языками дело, конечно, не ограничивается. Их очень много. Ты можешь задать вопрос: "Как так получается, что один язык становится базовым для банковской сферы, посредством другого программируют спутники, а третий остается уделом ограниченного круга программистов, типа гиков?"

И как?

Всё дело в совокупности факторов, главные из которых - надёжность и строгость к ошибкам.

Поясни.

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

Ого! Что за квалификация должна быть у ребят, которые запускают спутники?

Скорее всего это будут программисты-математики. Эти ребята - элита нашей профессии.

Можешь привести пример их работы? Чтобы было хоть немного понятно, чем они занимаются?

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

Раньше задача решалась следующим образом, к ней привлекались материаловед и математик. Материаловед указывал несколько, допустим 5 основных параметров, которые влияют на эту самую толщину (температура окружающей среды, температура топлива, давление и др.). А математик просчитывал энное количество вариаций этих величин вручную (пусть их будет 100). Теперь же программист-математик (или команда из математика и программиста) пишет программу, которая просчитывает не 100 вариаций, а уже миллион, получаем не просто просчёт критических точек, а компьютерное моделирование физического процесса.

Вау, звучит действительно очень круто!

Но мне эта сфера не показалась интересной - чистая математика, где код не связан с интерактивностью. Я хотел здесь и сейчас видеть результат своей работы. Меня заворожил интернет и привёл к web-программированию. Так я самореализовываюсь.

Так ты сейчас всё-таки работаешь на каком языке и в какой сфере?

Года четыре назад я устроился в очень крупную компанию-ритейлер, где 3 года отработал PHP-програмистом. До этого я в основном работал сам на себя. Но находясь бок о бок с ребятами программирующими на Java, видя их высокий уровень организации рабочего процесса, сложность решаемых задача и качество кодов, я решил, что пора заканчивать с PHP. К счастью в данной компании возможен горизонтальный рост. Вертикальный рост происходит, когда получаешь более высокую должность, а горизонтальный, когда на той же должности ты осваиваешь более серьёзную специализацию. У меня получилось, и вот я уже целый год работаю Java-программистом.

Было сложно перейти с одного языка на другой?

Психологически, да. Было страшно, получится ли. Ведь я заверил руководство, что мне надо дать шанс. Боялся не оправдать надежд, выставить себя дураком, а ведь быть дураком в 40 лет очень обидно. Но всё получилось. Зарплата, кстати, выросла в 1,5 раза - так что профессиональный рост привёл и к прагматичным успехам.

Теперь ты крутыш?

В моей компании, да. Но ребята из банка всё равно получают намного больше, их зарплаты начинаются от 200 000 руб, если тебе это интересно.

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

Естественно. Программисты нужны даже для работы над детскими игрушками. Так что работы много.

Не могу не спросить про девушек-программистов. Я понимаю, что их значительно меньше, чем ребят. Большинству девушек такая деятельность не близка. Но всё-таки, из тех девчонок, которые добрались до твоей работы, есть сильные? Их можно сравнить с мужчинами-программистами? Я предполагаю каким будет ответ, но мне хочется, чтобы его произнёс мужчина.

Те девушки, которые, как ты выразилась, "добрались", ничем не слабее мужчин, разницы нет. Такие же умные, если ты это хочешь спросить. Мне нравятся наши девушки, они кстати отличаются от остальных.

Чем?

Они мыслят более логично, они менее импульсивны. Нет такого: думаю "да", говорю "нет". Нет всех этих женских сложностей. Белое - белое, чёрное - чёрное.

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

Кстати, возвращаясь к теме о коллегах. А многие получили профильное образование или большинство самоучек, как ты?

Самоучек где-то 30%, остальные обучались профессии в учебных заведениях.

В каких ВУЗах?

Начиная от МИФИ, заканчивая тем же МАТИ.

Есть разница между самоучками и людьми, получившими образование?

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

Быть самоучкой - значит всегда чувствовать, что тебе чего-то не хватает. Поэтому не самое правильное решение менять профессию после учёбы в институте. Ты будешь чувствовать, что знаешь меньше коллег. Так что советую подходить более серьёзно к выбору профессии. Лучшие программисты - отучившиеся в вузе.

Что из стереотипах о программистах правда, а что нет?

У каждой профессии своё отражение в человеке, профессия программиста подразумевает под собой многочасовое молчание и постоянное движение мысли. Ты всё время находишься в умственном напряжении, когда пишешь саму программу, когда ищешь пути решения проблемы через чтение статей, поиск тематической литературы, рыскание по зарубежным сайтам (волей не волей начинаешь понимать английский язык).

Наша нелюдимость - это не следствие, а причина, почему человек становится программистом. Первоначально, это тяга к тому, чтобы тебя не трогали, не мешали, не указывали. Это не неподвижное созерцание, а уединённое действие. Ты уединяешься, чтобы творить. Мы независимы и можем сгенерировать продукт без постоянного взаимодействия с кем-либо ещё. Большинство программистов - это люди, которые ищут уединения творчества.

Тут вы похожи с нами - проектировщиками.

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

Скажи напоследок. Как человеку понять, что программирование - его путь.

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

Одна моя подруга дала универсальный ответ: "Если ты готов работать по 10-12 часов, и тебе всё ещё интересно, и ты не хочешь идти спать, значит это твоё". Когда определяешься с выбором профессии, нужно вспомнить, что вам приносит удовольствие.