Топ-5 языков программирования для фриланса и стартапов
В этой статье я перечислю пять лучших языков программирования для фрилансеров-разработчиков.
Наверное, вы удивитесь, но Java не включен в этот список. Данный язык программирования больше всего востребован в финансовой сфере: банках, кредитных организациях и страховых компаниях. Но он не подходит для стартапов и фрилансеров.
PHP, несмотря на свой приличный возраст, все еще востребован. На его основе работает более 50% всех сайтов.
А если хотите получить работу в стартапах и в таких крупных компаниях как Google и Facebook, изучайте Python, Ruby и Swift.
Пять лучших языков программирования для фрилансеров и стартапов
1. Python
С помощью Python можно создавать веб-приложения, разрабатывать модели машинного обучения, автоматизировать выполнение рутинных задач и даже просматривать веб-страницы с помощью Python.
Основное преимущество Python – это множество пакетов, которые находятся в свободном доступе. Просто найдите подходящий пакет или библиотеку и включите их в свой Python-проект.
Для веб-разработки на Python можно использовать два фреймворка Django и Flask.
Django — это обширный полнофункциональный фреймворк. Flask более минималистичен.
Для разработки в сфере машинного обучения предназначены библиотеки Pandas, SciKit-learn и TensorFlow для машинного обучения.
2. PHP
Многие заказы для фрилансеров связаны с созданием сайтов, использующих WordPress. Если вы знаете PHP, то сможете выполнить их.
Если вы работаете фрилансером, разрабатываете собственные проекты или ищете работу в стартапах, PHP может стать отличным выбором.
3. Ruby
Если вы знаете Ruby on Rails, то сможете создать полнофункциональный сайт с базой данных всего за несколько дней. При использовании Java это заняло бы неделю.
Ruby также часто используется в стартапах. Многие успешные проекты создаются с использованием Ruby и Rails. Например, Twitter, Shopify, Github, Groupon и Airbnb.
4. Swift
Все стартапы нуждаются в мобильных приложениях. Поэтому если вы хотите получить работу мобильного разработчика в стартапах, Swift может стать отличным выбором.
Swift — это язык программирования от Apple. С его помощью вы сможете создавать приложения для iPhone и iPad. Он безопасен и надежен. Этот язык является идеальным для фриланса. Ведь iOS-разработчики зарабатывают намного больше, чем Android-программисты.
5. JavaScript
JavaScript он стал первым языком программирования для разработки full-stack приложений. Он также позволяет создавать как front-end, так и back-end приложения.
Если хотите устроиться на работу в стартап или подумываете о карьере фрилансера, изучение перечисленных в этой статье языков программирования поможет вам в этом.
Дайте знать, что вы думаете по этой теме статьи в комментариях. За комментарии, отклики, лайки, подписки, дизлайки низкий вам поклон!
Портрет разработчика на удалёнке: тренды, зарплаты и языки программирования
Команда рекрутингового агентства DigitalHR решила проанализировать 564 профиля разработчика, с которыми общались в 2019 году и которые рассматривали только удаленный формат работы.
Специфика выборки обусловлена тем, что эти разработчики рассматривали фулл-тайм занятость в продуктовых компаниях в Москве или зарубежных компаниях из США и Западной Европы.
Как правило, такие разработчики уверены в себе и своих навыках, поэтому готовы отказываться от интересных предложений в офисе, чтобы не менять образ жизни обусловленный удалённым сотрудничеством.
Всего 2,1% среди разработчиков, которые рассматривают только удаленную работу, составляют женщины. Половина из них использует JavaScript как основной язык программирования, еще четверть — PHP. 16,6% занимает ведущие позиции: Lead и Senior.
Мы удивились результату, хотя известно, что разработчиц на рынке не очень много. Например, в 2017 году “Мой круг” исследовал заполненные профили разработчиков, среди которых оказалось только 7% женщин.
Кроме того, что в ИТ-сфере классически меньше женщин, у нас есть несколько теоретических предположений для объяснения такого результата:
Всего 1,5 % составляют разработчики с возрастом 41+. Как правило, специалисты в этой возрастной категории в случае выбора удаленного формата работы работают на себя: либо на фрилансе, либо будучи основателем студий разработок. А специалисты до 25 лет, которые составляют 10,9% от выборки, не всегда обладают достаточным опытом для удалённой работы.
Из-за того, что удаленный формат работы предполагает бОльшую зрелость специалистов, крайне редко бывает ситуация, когда Junior-специалисты рассматривают только удаленную работу. Разумеется, они не против неё, но готовы пойти на компромисс и выйти работать в офис. А разработчики с опытом коммерческой разработки около года называют себя уже Middle-разработчиками, отсюда 61% в исследовании.
Мы анализировали языки программирования, которые разработчики отмечали в качестве основного. Топ-5 языков для удалённой разработки: JavaScript (38,5%), Python (22,2%), PHP (7,6%), Java (6,9%), Swift (5,7%). Такие разработчики не испытывают проблем с предложениями по работе, потому что, стремясь увеличить воронку кандидатов-разработчиков и закрыть бизнес-задачи, работодатели скорее идут на встречу специалистам и предлагают удаленный формат работы в виде исключения.
Рубли, доллары или евро
28,1% рассматривают преимущественно работу с зарубежной компанией с оплатой в долларах или евро и обладают для этого соответствующим уровнем английского языка.
Общее распределение зарплат
Этот график показывает зарплаты вне зависимости от языка программирования и должности разработчика. Наибольший процент — 30,5% — занимают разработчики с зарплатой от 200 до 300 тысяч рублей, 30,3% — с зарплатами от 150 до 200 тысяч. Процент зарплат свыше 400 тысяч почти соответствует проценту CTO в исследовании (2,1%).
Распределение зарплат по должностям
Middle-разработчики могут рассчитывать на доход в 176 тысяч рублей в месяц, доходя до уровня Senior — на 206 тысяч рублей, Lead — 221 тысячу рублей. Самый большой скачок зарплат, на 67 тысяч рублей в среднем, происходит при переходе на должность CTO.
Распределение зарплат по языкам программирования
Мы выбрали ТОП-5 языков по популярности (80,9% от общего числа специалистов), чтобы выявить среднюю зарплату по каждому. Самая низкая средняя зарплата у PHP-разработчиков — 150 тысяч рублей, Java и Swift отрываются от неё почти на 50 тысяч рублей.
Среднестатистический разработчик, который рассматривает только удаленную работу, это мужчина в возрасте от 26 до 30 лет со знанием JavaScript на уровне Middle и с зарплатными ожиданиями в районе от 176 до 189 тысяч рублей.
Для повышения шансов на получение интересного предложения разработчики стараются не использовать слово “Junior” в резюме, даже если объективно соответствуют этому уровню.
15 самых высокооплачиваемых языков программирования для фрилансеров
Фриланс-биржа Upwork опубликовала список языков программирования с наиболее высокими почасовыми ставками.
Фриланс-биржа Upwork опубликовала список языков программирования с наиболее высокими почасовыми ставками.
Прежде всего авторы рейтинга обращают внимание на популярность самых разных айтишных навыков и языков программирования. В частности, востребованы мобильные разработчики, владеющие Objective-C или Kotlin, аналитики данных и инженеры, знающие SQL, а также Java- и Go-разработчики. Причём к помощи независимых специалистов обращаются как малые, так и крупные компании.
В рейтингах наиболее популярных ЯП такие языки, как Objective-C, Golang, Windows PowerShell, Kotlin или Excel VBA обычно далеко не впереди планеты всей, хотя Golang и Kotlin, настойчиво продвигаемый Google, действительно получают всё большее признание среди разработчиков, пишет Dice Insights.
Отчасти это может объясняться как раз их популярностью, считает Dice: если на проект требуется человек, который знает более редкий язык и которого сложнее найти, компании будут склонны повысить ставку. И поскольку Java, C++ или Python сегодня владеют многие, заказчики могут понижать расценки.
Высокие рейты Objective-C — языка разработки под macOS и iOS — примечательны тем, что он активно вытесняется Swift-ом. Объясняться они могут сложностью поддержки legacy-кода, предполагает Dice.
Вывод из рейтинга Upwork можно сделать такой: специализация может быть хорошо оплачиваемым плюсом — как для фрилансеров, так и для штатных разработчиков. С одной стороны, знание Python, SQL и других распространённых нынче языков никогда не помешает, но с другой, иногда узкая специализация может дать конкурентное преимущество и повод повысить свои запросы.
Обзорные курсы по программированию от Coursera:
Сравнение языков программирования относительно работы на фриланс-бирже upwork.com + опрос
Недавно (в конце марта 2016 года) делал исследование перспективности языков программирования на upwork.com для одного из своих проектов и подумал, что это может быть интересно кому-нибудь ещё.
В первую очередь меня интересовало соотношение спрос/предложение по наиболее популярным ЯП, а так же уровень оплаты труда по каждому из них. Так же мне было любопытно какой уровень квалификации ожидают работодатели (и соответственно сколько они предполагают платить)
Процентное соотношение офферов по популярным языкам программирования
На самом деле большая часть JavaScript и PHP офферов пересекаются, так что в реальности у остальных ЯП должно быть чуть больше процентов, но в то же время какие-то языки сюда вовсе не попали.
Отбор языков программирования
Поиском в гугле были отобраны топовые языки программирования (ЯП)
Я позволил себе убрать из исследования SQL: работа исключительно программистом базы данных на апворке весьма редка, такие разработчики требуются чаще в крупные корпорации на постоянку, а на апворке знание SQL идет просто как практически обязательное дополнение к какому-либо другому основному языку.
Поиск офферов на upwork.com
Соотношение офферов вы видели на картинке выше, но кроме этого меня так же интересовали ожидания работодателей к уровню специалистов.
Я предполагал, что для разных ЯП ожидания работодателей будут сильно разными, но на практике разница оказалась незначительной.
Чуть больше ожидают экспертности от Java, C++, C# и Ruby разработчиков и чуть больше терпимы к новичкам в PHP и внезапно опять же C#.
В среднем — 51,5% работодателей ожидает intermediate, 26,5% expert и 22% entry.
Поиск работающих фрилансеров
К большому сожалению поиск по фрилансерам C++ (3%) и C# (5,9%) не давал актуальных результатов. По этой причине мне пришлось убрать их из дальнейшего исследования, не смотря на то, что спрос на них больше, чем на те же Ruby (4,5%) и Swift (2,5%). Простите мне это, пожалуйста.
Есть два типа «фрилансеров» на апворке — те, кто зарабатывает там и те, кто только зарегистрировался и забил. Я считаю, что неактивные аккаунты не представляют конкуренции и решил сделать поиск только по аккаунтам, заработавшим на апворке хотя бы доллар.
Мне так же было интересны их ожидания об оплате труда.
При поиске фрилансеров на апворке можно фильтровать их по часовой ставке:
Какие языки программирования учить?
Чем больше освоишь, тем круче будешь
Довольно популярное мнение среди разработчиков, что уровень квалификации и зарплата зависят от количества языков программирования, которыми разработчик владеет.
Я сам в свое время ходил и думал, что бы такого изучить, чтобы потом писать в резюме много умных слов. Затем однажды на работе познакомился с коллегой, С++ разработчиком, который за всю жизнь освоил только один этот язык и все. А зарплата у него была, как у меня, может даже больше. Помню, как он ходил и с интересом спрашивал, как такие же вещи можно делать на С #. Это меня очень удивило, потому что я увидел, что человек достаточно успешен в IT-карьере, хотя он хорошо выучил всего один язык, а за его пределами почти ничего не знает.
Конечно, это не значит, что надо ограничивать свой кругозор единственным языком. На мой взгляд, секрет успеха в том, чтобы стать профи в чем-то одном, а затем осваивать смежные области, которые будут дополнять друг друга и двигать в направлении одной цели. Например, если вы занимаетесь Web-разработкой, будет плюсом знать какой-то язык для бэкэнда и JavaScript для фронтэнда. Но если я буду учить С++ для бэкэнда, то знания JavaScript для фронтэнда мне ничего не даст, потому что я никогда не буду использовать их вместе.
Обычно, с одного языка пересесть на другой не так сложно из-за схожего синтаксиса и общих принципов. Например, с C # на Java. При этом вокруг каждого языка есть своя большая экосистема: библиотеки, фреймворки, либы. А вот на это уже нужно много времени, и быть достаточно высококвалифицированным специалистом в двух-трех разных областях в программировании очень сложно.
Рынок вакансий диктует условия
Если осваивать программирование с целью карьеры, а не в качестве хобби, ориентироваться надо на рынок вакансий. Идем на HeadHunter и видим такую картину
Зеленым выделены языки с положительной динамикой вакансий. За год Kotlin и Go впервые оказались в этом списке. Красным выделен Ruby — для него число вакансий сокращается, и возможно, скоро из топ-10 его вытеснит какой-нибудь другой перспективный язык.
Может показаться, что если выбрать что-нибудь экзотическое, у вас будет меньше конкурентов, а значит проще найти работу. Это не совсем так. Работодатели тоже идут на hh, смотрят кандидатов и решают, на чем запускать проекты, под которые реально собрать команду. Замкнутый круг. Поэтому мой совет с точки зрения развития карьеры: выбирайте популярный язык, при этом ориентируйтесь на спрос на рынке труда, а не по каким-то другим рейтингам.
Вместо того, чтобы обсуждать актуальность отдельно взятого инструмента — а именно этим являются языки программирования — я рассмотрю их в разрезе 4-х направлений разработки и составлю наборы навыков, необходимых для решения разных задач.
Web-разработка
Здесь больше всего вакансий, но и сильнее конкуренция среди специалистов, т.к. направление развивается уже много лет. Web-разработка состоит из Frontend — визуальная часть сайта, то, с чем взаимодействуют пользователи, и Backend — серверная часть сайта.
Начальный маршрут для фронтендера:
HTML, CSS — языки верстки
JavaScript — для интерактивных элементов
ECMAScript / Typescript — расширения JavaScript, дающие больше возможностей
Опыт работы с одним из фреймворков: React / Angular / Vue
Как правило, выбор фреймворка не столь принципиален: работодатель готов рассмотреть кандидата с опытом в любом из трех, т.к. довольно быстро можно пересесть на нужный специально под проект.
Для бэкендера есть несколько вариантов. Каждый пункт в списке — пара из языка и его фреймворков:
PHP + Laravel / Yii 2 / Symphony
Javascript + NodeJS (Express.JS, Nest.js, TypeScript, GraphQL, Apollo)
Каждый из наборов актуален для написания серверной части сайтов, поэтому можно выбрать на свое усмотрение. В любом случае понадобится овладеть еще и этими знаниями:
HTML & CSS — понимание верстки сайтов
SQL (PostgreSQL / MySql) — работа с базами данных
Архитектуры и паттерны — как писать код, который легко поддерживать и масштабировать
В большинстве случаев это необходимый минимум, джентельменский набор для бэкенд-разработчика, работающего над сайтами. Далее, можно развиться как разработчик в 2 разных направлениях: начать осваивать технологии из списка фронтендера, т.е. стать Fullstack-разработчиком, или углубиться в бекенд и хайлоад. Выбрав второй путь, будет полезно освоить следующие технологии:
NoSql (MongoDB, Reddis, Cassandra)
Брокеры сообщений: RabbitMQ / Kafka
Мобильная разработка
Более молодое направление, в котором меньше вакансий, но пока наблюдается дефицит кадров. Языки программирования выбираются в зависимости от того, под какую платформу вы будете создавать приложения.
Android-разработчик:
В большинстве проектов нужно знать и Java и Kotlin
Новый код чаще пишется на Kotlin, однако очень много кода, который нужно поддерживать, написан на Java
Kotlin молодой, но очень перспективный язык, созданный питерской компанией Jetbrains в 2016 году. Он полностью совместим с Java, но примерно на 40% короче его, что значительно ускоряет разработку. Кроме того, в какой-то момент Google, устал от исков со стороны правообладателей Java за использование кода в Android и назвал Kotlin предпочтительным языком для Android-разработки. Сейчас все чаще приложения пишут на нем. Однако на текущий момент все еще очень много проектов, написанные на Java, которые нуждаются в поддержке и развитии. Поэтому Android-разработчику надо знать оба языка, чтобы уметь читать и вносить изменения в старый код.
iOS-разработчик:
Достаточно знать Swift
Старый код написан на Objective-C
Легкий и простой Swift пришел на смену и значительно потеснил первый iOS-язык Objective-C. Эти языки несовместимы, поэтому новые проекты начинают на Swift и его вполне достаточно для разработки на платформе. А Objective-C остается актуальным только для старых больших проектов, которые не решились переписывать на Swift.
Что касается востребованности, то Java и Kotlin универсальные языки, которые используют не только для мобильной разработки и под различные платформы. А вот Swift подходит исключительно для мобильной разработки под iOS и десктопной разработки под MacOS.
Еще один путь мобильного разработчика — освоить библиотеку ReactNative для JavaScript. Она устроена таким образом, что написанный код работает под все платформы. С одной стороны это очень удобно. Однако нередки случаи, когда появляется необходимость прописать нативный код для каждой платформы, а это значит нужно иметь наготове знания и Kotlin, и Swift.
Серверные приложения
Путь разработчика серверных приложений во многом похож на бэкендера, разрабатывающего сайты. Во-первых, надо выбрать и изучить один из языков. Сейчас в ТОП-е по количеству вакансий на российском рынке:
Во-вторых, как и бэкендеру, для большинства задач вам понадобятся навыки работы с базами данных и умение писать качественный код. Тут вам пригодятся:
SQL (PostgreSQL / MySql)
Архитектуры и паттерны
Дальше можно изучить:
Алгоритмы и структуры данных
NoSql (MongoDB, Reddis, Cassandra)
Брокеры сообщений: RabbitMQ / Kafka
Из этого самый сложный пункт — выбор языка. Я подготовил сравнительную таблицу:
Java, Python и С # между собой очень похожи и довольно универсальны. Java используют для сайтов и мобильной разработки. Python отдают предпочтение стартапы (а также крупные проекты, выросшие из стартапов) из-за его простоты освоения и универсальности. C # популярен и для сайтов, и для написания игр на движке Unity 3D. Я советую выбирать тот, с которым вы уже хоть немного имели дело и на какую сферу больше ориентируетесь. При необходимости быстро пересесть на другой из этой тройки не составит труда.
C++, на мой взгляд, один из самых сложных в освоении язык, подходящий в основном для серверных, десктопных программ и игр, реже — для Data Science. Разработка на нем занимает значительно больше времени, но дает программисту огромные возможности. C++ используют для программ, требовательных к быстродействию, например, Photoshop, или масштабных игр, так как с его помощью можно контролировать и распределять нагрузку на «железо».
Golang (Go) появился как более простая версия С++. Его легко освоить, и он заточен под высокие нагрузки и многоядерные процессоры, но имеет очень ограниченный функционал, например, нет дженериков, исключений и т.д., которыми обладают другие языки программирования. В первую очередь его целесообразно использовать для консольных утилит и highload бэкенда. Вакансии разработчика на Go открывают преимущественно крупные корпорации, хотя в последнее время спрос на разработчиков Go начал появляться и в проектах поменьше.
Разработка игр
Выбор языка во многом определяет платформу, на которой вы сможете писать игры:
C#, Unity 3D — кроссплатформенный, возможность быстро портировать игру с одной платформы на другую
C++, Unreal Engine — PC, обычно используется для масштабных игр, требовательных к быстродействию «железа»
Если по выбору языка какие-то моменты не осветил, задавайте вопросы — отвечу.









