Профессия программист python

Python – один из наиболее популярных «неклассических» языков программирования. Он идеально подходит на роль «вводного» или второго языка (например, после более сложных C++ или Java). Благодаря лаконичности (или даже минималистичности) он быстро усваивается. Упрощенный синтаксис Python позволяет передать большое количество информации в минимальном объеме исходного кода.

Кроме того, Python может применяться практически в любой области разработки ПО (standalone-приложения, клиент-серверы, веб-приложения) и в любой предметной области. Он легко интегрируется с другими компонентами, что позволяет внедрять Python в уже написанные приложения. Проекты, написанные на этом языке, обладают свойством кросс-платформенности, то есть при необходимости их можно быстро и безболезненно перенести с одной операционной системы на другую.

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

Новые версии Python (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года.

Обязанности

Проектирование и разработка

Главная задача программиста Python -это создание c помощью одноименного языка разработки приложений и сервисов. При этом программист должен уметь составлять технические задания (ТЗ), разбираться в специальной терминологии.

Тестирование и внедрение

В задачи программиста C++ также входит сопровождение проекта по созданию приложений и сервисов: их тестирование, отладка (в том случае, если обнаружатся ошибки) и, наконец, внедрение - запуск в работу.

Сопровождение

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

Что нужно знать и уметь

    Личные качества
  • Аналитический склад ума;
  • Внимательность к деталям;
  • Структурное мышление;
  • Способность к самообучению;
  • Ответственность.
    Основные навыки
  • Знание и опыт разработки на Python;
  • Знание и опыт работы с HTML, CSS, JavaScript;
  • Знание MySQL, PgSQL;
  • Наличие опыта разработки приложений / сервисов;
  • Умение составлять и читать ТЗ;
  • Умение разбираться в чужом коде;
  • Навыки работы с большими объемами информации.

Программист Python использует высокоуровневый язык программирования для создания приложений client—server, разных видов игр, микросервисов, крупных и маленьких сайтов, ботов для социальных сетей. Занимается не только созданием ПО, но и технической поддержкой, интеграцией, оптимизацией, обучает персонал компании работать с программами и сервисами. Профессия подходит тем, кого интересует информатика (см. выбор профессии по интересу к школьным предметам).

Краткое описание

В начале 90-х годов прошлого века голландским разработчиком был создан Python, в котором объединились черты разных языков программирования. Рассматриваемый высокоуровневый язык занимает 4 место в мировом рейтинге, его в работе используют и поддерживают компании Mail, Pinterest, Youtube, создатели крупных поисковых систем.

Опытные программисты Python выделяют следующие сильные стороны языка и плюсы работы с ним:

  • расширяемость языка, интеграция с C/C++;
  • упрощенный синтаксис, поддержка Unicode;
  • кроссплатформенность;
  • динамическая типизация;
  • возможность оперативно создавать самый сложный код;
  • огромное количество сред разработки;
  • можно использовать для написания всех видов программных продуктов;
  • упрощенное сопровождение созданного ПО;
  • свободная лицензия;
  • большое сообщество грамотных программистов.

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

Особенности профессии Python-программиста

Опытные программисты постоянно обучаются, ведь если не получать новые знания, то разработчик быстро потеряет и квалификацию, и ценность на рынке труда. Python — это язык программирования широкого назначения, который разработчику желательно знать. Чаще всего за изучение Python берутся программисты, которые уже имеют солидный опыт работы с C++ или Java. Дело в том, что навыки работы с объектно-ориентированным программированием позволяют освоить Python в сжатые сроки.

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

Разработчик Python занимается сопровождением ПО, которое он разработал или модернизировал, обучением сотрудников, подготовкой инструкций, документации.

Плюсы и минусы профессии

Плюсы

  1. Возможность обучаться самостоятельно, что удобно для людей, которые решили отойти от сложного программирования.
  2. Быстрое обучение.
  3. Большое русскоязычное сообщество программистов.
  4. Красивый и простой код языка, что существенно ускоряет процесс разработки.
  5. Небольшое количество программистов, хорошо владеющих Python.
  6. Востребованность, поэтому работы будет много.

Минусы

  1. Язык Python менее популярный, чем Java, C/C++, что оказывает существенное влияние на размер заработной платы.
  2. Рассматриваемый язык программирования может быть вторым, но не первым языком.
  3. Программисты Python востребованы в известных компаниях, базирующихся в Москве, СПб и других крупных городах. Поэтому с поиском работы в отдаленных регионах у разработчика, который владеет только одним языком программирования, могут возникнуть проблемы.
  4. Для трудоустройства в крупную компанию необходимо иметь 2-3 года работы с Java, C/C++.

Важные личные качества

  1. Терпеливость.
  2. Трудолюбие.
  3. Решительность.
  4. Инициативность.
  5. Целеустремленность.
  6. Самоуверенность.
  7. Внимательность.
  8. Самоконтроль.

Обучение на программиста Python

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

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

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

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

Место работы

Найти достойную вакансию разработчик Python сможет только в том случае, если у него есть опыт работы в сфере программирования. Талант, креативность, желание обучаться, быстрая реакция, внимательность к деталям — вот дополнительные требования к соискателям. Перед разработчиком, который соответствует этим требованиям, раскроются двери вузов, торговых и IT-компаний, государственных предприятий, экономических учреждений, медиахолдингов и т. д.

Зарплата Программиста Python

Размер оклада зависит от опыта разработчика Python, наличия высшего образования, отзывов предыдущих работодателей, уровня технической подготовки. Наиболее высокую заработную плату получает программист Python со стажем работы от 2-3 лет, который трудится в компаниях, базирующихся в МО и СПб.

Зарплата на 17.09.2019

Россия 50000—200000 ₽

Москва 80000—200000 ₽

Профессиональные знания

  1. Знание основ программирования Python, опыт работы не мене 1 года.
  2. Свободный фреймворк Django.
  3. Желательны практические навыки работы с Java, JavaScript, C/C++.
  4. Знание REST, HTML, CSS, AJAX, Canvas, Web Sockets.
  5. Version Control System.
  6. Системы управления базами данных, верстка страниц.
  7. Английский язык, который необходим для чтения и составления тех. документации.

». Рассказываем, какие профессиональные и карьерные возможности даёт изучение этого языка программирования.

Сколько может зарабатывать Python’ист

Будущую специальность зачастую выбирают, исходя из спроса и уровня зарплат. Python-разработчик с опытом от года может рассчитывать уже со старта на новом месте на зарплату от 80-120 тыс. рублей в месяц. Естественно, верхняя планка гораздо выше: доход пайтониста зависит от его способностей, специфики бизнеса и от города, в котором он ищет работу. Максимальный оклад для позиции «Python-разработчик», который указали работодатели на портале hh.ru, составляет 280 тыс. рублей в месяц. Соискателям без опыта работы достаточно иметь законченное или неполное высшее образование, иметь базовые навыки работы с CSS, HTML и, конечно, Python. Новички могут рассчитывать на доход не менее 40 тыс. рублей в месяц в Санкт-Петербурге и от 50 тыс. в Москве.

Опыт работы повышает стоимость специалиста на рынке. Чем он больше, тем выше будет зарплата. Среди других востребованных плюсов:

  • знание технического английского;
  • наличие портфолио выполненных проектов;
  • опыт работы с MySQL;
  • знание дополнительного языка программирования (PHP, Java, С);
  • разработка под Unix/Linux;
  • навыки разработки web-сервисов с применением Django, Tornado и/или Twisted;
  • разработка высоконагруженных информационных систем;
  • оптимизация производительности информационных систем.

Почему программисты выбирают Python

Python — мощный многоуровневый язык, используемый в разработке крупнейших платформ, сайтов и приложений. В частности, он обеспечивает ключевые возможности поисковой системы Google и ряда приложений этой корпорации. На Python написаны YouTube и Dropbox, крупнейший в мире сервис онлайн-опросов SurveyMonkey, Reddit, Quora и другие. На фреймворке Django построена архитектура сайтов Instagram, Pinterest, Prezi, Spotify, NASA, The Onion и других.

В то же время Python довольно легко освоить. Это подтверждают и сами программисты.

Екатерина Нижникова , разработчик в «Купишуз» (Lamoda Group):


«В сети есть много литературы и курсов по разработке на Python, доступных даже для новичков. Для разных целей в Python существует огромное количество библиотек — это существенное преимущество перед другими языками. К тому же тот, кто выбирает программирование на Python, никогда не останется один на один с трудностями. Сообщество python-разработчиков не только многочисленное, но и очень открытое, поэтому вы легко найдёте ответы на возникающие вопросы».

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

Виталий Адучиев , инженер по обеспечению качества в «ИнПлат»:

«На Python я пишу около 3 лет. Люблю его за гибкость, простоту в циклах, маленькое количество типов данных, команды без лишних строк и букв, а ещё за точность указания ошибок в консоли.

После получения некоторых «шишек» по пути, важно научиться представлять алгоритм решения задач. Без этого вы рискуете потерять много времени. Обязательно учитесь работать с форматами данных в API: JSON, XML, SQL. Желательно уже во время обучения попасть на работу, связанную с программированием на Python, или самому практиковать полученные навыки. Так вы яснее увидите перспективы и возможности, быстрее освоите нюансы разработки».

Как и где учиться разработке на Python

Человеку, который решил связать свою жизнь (или её часть) с Python, повезло: есть множество способов обучения этому языку программирования.

Университет. Как правило, этот способ выбирают выпускники школ. Многие молодые люди хотят учиться программированию, потому что сейчас это модно. При выборе вуза они не вникают в его учебные программы. И зря: зачастую в вузах можно получить лишь базовые знания о нескольких основных языках программирования, и после защиты диплома все равно придётся дополнительно изучать интересующее направление. К тому же учиться в университете долго — минимум 4 года.

Самообразование. Пожалуй, самый популярный способ изучения Python. Можно начать с литературы, например, книг с систематической программой. Разработчики советуют присмотреться к «Автоматизации рутинных задач с помощью Python» Эла Свейгарта, «Скрапингу веб-сайтов с помощью Python» Райана Митчелла и «Python в системном администрировании UNIX и Linux» Ноа Гифта.

В сети доступно множество онлайн-курсов по Python: Codecademy , DataCamp , Coursera , edX и другие. Англоязычные онлайн-курсы ценятся разработчиками выше отечественных.

Екатерина Нижникова:


Наставник/ментор.
Найти опытного пайтониста в сети или оффлайн несложно. Такой человек подскажет, с чего лучше начинать работу, проанализирует код и расскажет о частых ошибках и способах их исправить. Нужно только учитывать «человеческий фактор»: у наставника могут появиться неотложные дела, да и оценивать код он будет субъективно. Есть специализированные ресурсы, где можно найти ментора — например, Codementor .

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

Ещё один плюс оффлайновых курсов — нетворкинг. В среде увлечённых программированием людей вы освоите новые навыки в разы быстрее, чем самостоятельно. Здесь вполне реально обрасти полезными для будущей работы связями и узнать, какие скиллы требуются для трудоустройства в той или иной компании.

Программа представляет собой набор алгоритмов, которые обеспечивают выполнение необходимых действий. Условно таким же образом можно запрограммировать обычного человека, написав точные команды, для того чтобы, например, он приготовил чай. Если в последнем варианте будет использоваться естественная речь (русская, украинская, английская, корейская и т. д.), то для компьютера понадобится специальный язык программирования. Python - один из таковых. Среда программирования впоследствии переведет команды в и цель человека, ради которой создавался алгоритм, будет выполнена. «Питон» имеет свой синтаксис, который будет рассмотрен ниже.

История языка

Разработка началась в 1980-х году, а завершилась она в 1991. Язык Python был создан Гвидо ван Россумом. Хоть основным символом «Питона» является змея, назван он был так в честь комедийного американского шоу.

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

Одним из факторов, которые позволили стать «Питону» достаточно известным, является дизайн. Многими весьма успешными специалистами он признается одним из лучших.

Особенности «Питона»

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

Многие синтаксические системы были созданы с опорой на объектно-ориентированное программирование. Не исключением является и язык Python. Для чего же именно он появился на свет? Он облегчит обучение новичкам, поможет вспомнить некоторые элементы уже квалифицированным сотрудникам.

Синтаксис языка

Как уже было сказано, код читается достаточно легко и просто. «Питон» имеет последовательные команды, отличающиеся четкостью выполнения. В принципе, используемые операторы не покажутся даже новичкам трудными. Этим и отличается язык Python. Синтаксис его легок и прост.

Традиционные операторы:

  • При задавании условия следует использовать конструкцию if-else. Если таких строк слишком много, можно вписывать команду elif.
  • Class предназначен для понимания класса.
  • Один из простых операторов - pass. Он ничего не делает, вписывается для пустых блоков.
  • Цикловыми командами являются while и for.
  • Функция, метод и генератор определяется благодаря def.

Кроме одиночных слов, в качестве операторов язык программирования Python позволяет использовать и выражения. Благодаря использованию цепочек строк можно уменьшить количество отдельных команд и скобок. Используются и так называемые ленивые вычисления, т. е. те, которые выполняются лишь тогда, когда того требует условие. К ним относятся and и or.

Процесс написания программ

Интерпретатор работает на едином механизме: при написании строки (после которой ставится «Энтер») она сразу же выполняется, и человек может уже видеть какой-то результат. Это пригодится и будет достаточно удобным для новичков или тех, кто хочет протестировать небольшой кусочек кода. В компилируемых средах пришлось бы сначала написать программу целиком, лишь потом запустить ее и проверить на ошибки.

Язык программирования Python (для начинающих, как уже стало понятно, он подходит идеально) в операционной системе Linux позволяет работать непосредственно в самой консоли. Следует написать в командной строке название кода «Питон» на английском языке. Свою первую программу создать будет нетрудно. Прежде всего, стоит учитывать и то, что пользоваться интерпретатором здесь можно в качестве калькулятора. Так как с синтаксисом зачастую молодые и начинающие специалисты не дружат, то написать алгоритм можно таким образом:

После каждой строки необходимо ставить «Ентер». Ответ будет выводиться непосредственно после его нажатия.

Данные, используемые «Питоном»

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

Наиболее распространенные типы данных, которым пользуется язык программирования Python:

  • Integer. Речь идет о целых числах, имеющих как отрицательное, так и положительное значение. Ноль также входит в данный тип.
  • Для того чтобы интерпретатор понял, что работает с дробными частями, следует задать тип float point. Как правило, им пользуются в случае использования чисел с варьирующейся точкой. Следует помнить, что при написании программы нужно придерживаться записи «3.25», а не использовать запятую «3,25».
  • В случае добавления строк язык программирования Python позволяет добавить тип string. Зачастую слова или фразы заключаются в одинарные или

Недостатки и преимущества

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

Недостатков у «Питона» практически нет. Единственный серьезный минус - медлительность при выполнении алгоритма. Да, если сравнивать его с «Си» или «Джава», он, откровенно говоря, черепашка. Объясняется это тем, что данный

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

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

Сейчас над улучшением «Питона» работает не одна группа программистов, поэтому не факт, что код, написанный на С++ будет лучше, чем тот, который создан при помощи Python.

С какой версией лучше работать?

Сейчас широко используются сразу две версии такой синтаксической системы, как язык Python. Для начинающих выбор между ними будет достаточно трудным. Следует заметить тот факт, что 3.х все еще находится на разработке (хотя и выпущен в массы), в то время как 2.х - полностью завершенная версия. Многие советуют использовать 2.7.8, так как она практически не лагает и не сбивается. В 3.х версии нет радикальных изменений, поэтому в любое время свой код можно перенести в среду программирования с обновлением. Чтобы скачать необходимую программу, следует зайти на официальный сайт, выбрать свою операционную систему и дождаться окончания загрузки.

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

Предыстория

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

Поступил я, правда, в авиационный институт, т.к. самолеты в тот момент казались интереснее. По окончании института (2001г.), получив красный диплом и приглашение в аспирантуру, пять лет разрабатывал системы управления авиационными двигателями, защитил кандидатскую, подучил английский. И тут вплотную встал вопрос - а что дальше? Авиация тихо умирала. По ощущениям - перспектив не было, все было глухо.

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

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

И вот теперь, как мне кажется, снова пришло время что-то менять.
И снова, как и в предыдущий раз, все спрашивают: Почему? Зачем? Всё ведь хорошо!

Попробую объяснить свою позицию

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

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

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

Можно продолжать ходить на работу и попытаться реализовать себя в каком-нибудь хобби и пять раз в неделю, вставая по утрам, осознавать, что сегодня будет навсегда потерян еще один день - мрачноватая перспектива!

В общем нужно что-то менять! Но что и на что? - вот в чем вопрос!

Если посмотреть на программирование, то это направление представляется очень интересным:

  • Оно с одной стороны - совершенно новое для меня, т.е. в нем можно учиться и развиваться: выбор ПО, задач, проблем практически не ограничен, от молекулярной биологии, физики и химии до верстки сайтов. Мне кажется, тут есть возможности и есть перспективы.
  • С другой стороны - это направление, в котором у меня есть некоторый опыт: Fortran в институте, LabView - последние три года на работе, Си и Free Pascal (немножко для общего развития), PHP + WordPress + HTML+CSS - вполне рабочий сайт получился.
  • Честно говоря, мне просто нравится кодить, и я люблю когда моя работа имеет результат: сделал - заработало!
Судя по тому, что я вижу на Хабре и в интернете - разработчик должен быть очень опытным и молодым, желательно лет 23-27, после 35 - найти работу становится сложнее. Скажу честно, это кажется немного странным! Конечно, общеизвестно, что с возрастом интеллектуальные способности деградируют, но с точки зрения медицины - возрастом считается 70-80 лет и никак не 30-40. Другое дело, что человеку, которому двадцать лет, можно меньше платить. Но я не претендую на позицию разработчика с 20-летним стажем.

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

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

Мне нравятся слова, адресованные Кирком Шупом молодым разработчикам на встрече в Яндексе :

Найдите вещи, которые вас мотивируют, пишите много кода и читайте много кода. Меня вдохновляет строить вещи, которые просуществуют много лет после того, как я их сделаю, и которые не сломаются даже после изменений, которые в них внесут люди, не понимающие их.
Когда я начинал программировать, смотрел на опытных разработчиков и думал, что через 10 лет я догоню их текущий уровень, но они уже уйдут вперёд на 10 лет. Через десять лет я понял, что на самом деле полностью их догнал. Технологии двигаются вперёд, так что мне не пришлось изучать старые, а новые я узнавал одновременно с ними.

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

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

  • Во-первых программист не так сильно привязан к месту работы географически, а это значит, что при желании я смогу работать на удаленных заказчиков;
  • Во-вторых, по моей оценке уровень дохода скорее всего через пару лет сравняется с моим текущим уровнем;
  • В третьих, рынок программного обеспечения неуклонно растет, а значит растет спрос и на специалистов, а вот производство оборудования в РФ непрерывно сокращается (это безусловно мои личные субъективные ощущения, не претендующие на какую-либо объективность), а значит работу программиста через двадцать лет я скорее всего найду, а вот работу инженера-конструктора - вряд ли!
Но языков программирования так много, почему именно Python - скажете вы.

Существует даже мнение, что не нужно учить Python первым языком .

Получилось так, что лет пять назад один мой друг, увлекающийся Linux, очень настоятельно мне его порекомендовал, были новогодние праздники и было время попробовать разные дистрибутивы, в общем последние пять лет я использую Debian. А дальше все просто: bash - это наше все, но хотелось возможности написать что-то более сложное: попробовал Си, по рекомендации того же друга попробовал Lazarus, немного повозился с PostgreSql. Потом был почти годовой перерыв, а потом, попробовал Python.

Python мне понравился сразу и по многим причинам: читаемость, подробнейшие описания на русском и на английском, масса примеров программ в том же Debian, большое количество модулей, возможность использовать Си там, где требуется скорость, перечислять можно долго. Именно после этого я понял, что это вполне интересное направление, которым можно заниматься и которого мне хватит надолго. Ознакомился с литературой, написал несколько не очень сложных программ.

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

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

Получилось несколько длинно, но я хотел максимально подробно объяснить свои мотивы, и размышления.

В данный момент вопрос актуален для меня, и мне будет интересно получить мнения и комментарии читателей Хабра.