Pull to refresh

Comments 125

UFO just landed and posted this here

Это следующий этап, когда IT надоест)))

Rust (простой язык от Mozilla)

Вот это поворот

Благодарю за комментарий. Не программировал на Rust. Убрал слово "простой"

UFO just landed and posted this here

А кто в той же нише? Даже так: а как можно сформулировать именно нишу rust? Просто куда ни ткни, rust имеет слишком много особенностей при сравнении с другими языками той же ниши (по крайней мере если отбросить маргинальную экзотику). Где-то эти особенности "в минус", где-то "в плюс".

Ну вот как язык уровня ОС он "конкурирует" с C. С явно проще как язык (это не значит, что проще писать). Но rust в обмен на свою дополнительную сложность даёт свои преимущества.
Как язык для простых сервисов бэк-энда он может конкурировать с Go. Go в целом проще. Но в Go больше runtime и сборка мусора - что немного разделяет ниши.
А в сложном бэкенде, где обитают jvm (Java, Kotlin), dotnet core (C#), Rust вроде особо конкурентом и не числится (пока?). Как, впрочем, сложно себе представить rust и в нишах PHP или Ruby. Ну и точно rust не про конкуренцию с Python по нише. Да и с JS/TS ниша не совпадает.
С++ точно сложнее. Rust может и рад бы поконкурировать, но при всей вкусности Rust, ему до конкуренции за всю нишу C++ еще как до луны пешком.

В итоге, как мне кажется, сейчас ниша rust - это либо более-менее прямая конкуренция с C и Go, либо компилируемый костыль производительности для разных толстяков (больше Python, JS, меньше Java, Kotlin, C#). Причём тут слово "костыль" не ругательное: просто на Rust можно подпереть какое-то локальное узкое место - но фактически это та же "безопасная замена C", даже ABI сишный придётся использовать.

UFO just landed and posted this here

не по порядку

Почему? Я именно её и имел в виду.

Потому что вся ниша C++ это огромный багаж существующего нагромождения кода. Либо учиться жить вместе и вытеснять помаленьку (так с C происходит), либо "переписать всё сразу" (что не кажется реальным). И тут становится непросто. Вот пример - попробуйте написать UI приложение под KDE и Qt. Проблема в том, что Qt сильно "засиплюсслюсенный" фреймворк и, хотя определённые продвижения в этой интеграции есть, но, чеснослово, до стадии "готово" там еще далеко-далеко.

Простые сервисы любо-дорого писать на хаскеле. Бойлерплейт убирать в реюзабельные библиотеки для этого — вообще одно удовольствие.

Я не смогу сравнить Rust с хаскелем. Уж слишком они разные. Как вы правильно заметили, Rust про тонкий слой до кишков и скорее про прогнозируемое исполнение. Функциональщины в нём почти нет (а та, что есть - не идиоматичная). С Go похожая история - он максимально "линеен" и императивен, рантайм относительно компактный и более-менее прозрачный по IO, а сборка мусора задумывалась, как предсказуемая.
Тут я, наверное, неточно выразился, я не имел в виду "простые сервисы" в смысле "сервисы из сотни строк", а скорее "примитивные с точки зрения бизнес-домена". Например, MinIO (написан на Go) ни фига не маленький и не простой, но с точки зрения предметной модели бизнеса он примитивная хранилка блобов.

Сложный бекенд тем более лучше писать на хаскеле.

Хаскель во многом прекрасен, но в этой части ни фига не мейнстримен.

Python-вне-датасайенса

Python в DS оказался отчасти случайно. Сам-то язык медленный (плюс-минус как 1C и VBA), но благодаря низкому порогу входа и нескольким хорошо написанным внешним библиотекам стал использоваться у "не совсем труъ программистов", т.е., например DS.

Сложный бекенд тем более лучше писать на хаскеле.

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

UFO just landed and posted this here
Какие проблемы с тем, что просто работает? Это ж не C++.

всмысле "работает"?


поддержка это:
1) фикс багов
2) добавление фич
3) обновление используемых библиотек
4) обновление поддержки разных ОС и всяких частных случаев


поиск сеньора даже на питон, казалосьбы, занятие крайне нетривиальное


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

ну вы во первых находитесь в США и "ну чо, поставим зарплату в 10-15к в месяц и найдем" — у вас там это как два пальца от асфальт, а во всем остальном мире это какбэ проблема

UFO just landed and posted this here
А на хаскель на 10-15к вполне можно найти людей.

ага, в США, а в условной Польше? много безумцев которые нанимают удаленщиков за 10-15к?

у меня видимо проблемы с сарказмом - я же верно понял что это юмористический текст?

Пусть для тебя этот текст будет стендап-выступлением :)

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

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

Сначала сходил на расстановки по Хеллингеру, но на них лишь определилось, что у меня появится девушка.

Появилась? А то мы волнуемся :)

Про метод - наверно да.
Про девушку - уже 5 лет вместе живём.

Если что, такое представление называется Круги Эйлера или Диаграмма Венна
https://ru.wikipedia.org/wiki/Диаграмма_Венна

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

Хорошая статья, полезная, интересная, оригинальная... 26к - дешево отделался )))

По поводу кроссплатформенности и Rust: вы не поверите, но на Rust можно писать ядро под кучу платформ и дополнять оформление нативными тулкитами.

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

Жаль нельзя как в ВК или Фейсбуке, поставить на статью эмодзи 😂

Зато можно поставить её в комментариях 😂

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


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

А как на счёт интегрированного типа мышления? (когда задействованы сразу оба полушария) Сейчас даже специально тест прошёл для выяснения типа моего мышления. Да, у меня чуть больше развито правополушарное мышление, но при этом моё первое образование - математик.

У человека с рациональным левополушарным мышлением скорее всего не возникло бы вопросов с выбором направления и языка. Соответственно и моя статья такому человеку не нужна.

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

А как бы поступил человек с рациональным инженерном мышлением?

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

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

Дело в том, что деньги это вторично – если человек делает то что ему нравится, то деньги придут. В итоге, человек будет работать то что эму нравится и одновременно будет получать много денег.


А если человек работает чтобы заработать много денег, то он да, заработает. Но будет работать то что ему не нравится.


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


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


В этом, конечно нет ничего плохого. Работа должна быть в радость. Тем или иным путем.

Это как раз и есть икигай - там именно про это. Что деньги это одно, что нравится - это другое, нужно людям - это третье, что знаешь - это четвёртое. И только если всё это сходится в одном - то это идеально.

Это ни разу ни так. Делать что нравится не значит "зарабатывать много денег".

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

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

Ну вы только-что доказали то о чем я и писал

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

Вообще, деньги надо брать за работу на других. Не брать деньги, только потому что вам приятно это работать, это конечно перебор.

А это вы о чём? Если про мой комментарий, то я работал за деньги.

Так основной контингент в современном айти — это и есть гуманитарии.

А разве не DS занимаются ИИ? Просто я сам Data Scientist, мы стараемся избегать громкого выражения «искусственный интеллект», но я не знаю никакой другой профессии, которая была бы ближе к теме 😅

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

Для меня Data Science - это в первую очередь анализ и обработка больших объемов существующей информации (обычно текстовой), при этом для обработки и анализа может использоваться ИИ.
https://ru.wikipedia.org/wiki/Наука_о_данных

Исскуственый интеллект - для меня это больше алгоритмы и методы, которые могут выполнять творческие функции и часто работают мультимедиа-данными
https://ru.wikipedia.org/wiki/Искусственный_интеллект

Кстати, неплохая картинка про Data Science и AI:

Я правильно понял что ответ на вопрос в заголовке это по сути "у меня чот побурлило в животе и поэтому я пошел в мобильную разработку"?

Не совсем, "мне комфортно сидеть в кресле, расслабился, пальцы хотят что-то печатать - потому пошёл в мобильную разработку" )))

А если серьёзно я тут описал лишь вершину айсберга и то, что лично мне помогло буквально за пару месяцев найти своё призвание. У многих на поиск своего призвания уходят годы, а многие на столько боятся что-либо менять, что годами ходят на нелюбимую работу. Я тоже 10 лет работал в 1С и ходил на нелюбимую работу. Пока не решил что-то поменять в своей жизни - попав сначала в Сбер, а потом в мобильную разработку.

А если серьёзно, то вот момент вашего выбора:

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

Вся муть про икигай и прочее потом - это вода.

Про психолога просто какой-то бред, лучше бы гороскоп составили или на гуще погадали.

Я разочарован, потому что зашел в статью чтобы посмотреть как же другие выбирают языки. А оказалось что сам момент выбора языка программирования не расписан от слова совсем, а скрыт за тем самым paywall в 15к.

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

Можно еще было использовать метод чайного пакетика.
1. Пишутся варианты по кругу
2. Берется пакетик на длинной ниточке и держится над кругом
3. В какую сторону пакетик отклонится (а он рано или поздно отклонится) - тот вариант и выбирать

Есть ещё метод монетки:
1. Загадываешь на каждую сторону монетки что-нибудь (например подходит мне это направление или нет)
2. Подкидываешь монетку и понимаешь что из загаданного выпало.
3. Если радуешься или нет эмоций - то так тому и быть.
4. Если опечален или напрягся - то нужно поступить наоборот.

Подкидываешь монетку и ловишь мысль "только бы не ..."

Если появляется такая мысль. Значит нужно делать противоположное)

Именно так!

Чего хочется почувствовать сложнее. Особенно, если в задаваемом вопросе наилучшего варианта может просто еще не быть. Узнать чего "ни в коем случае не стоит" проще. И тоже полезно.

Какой-то пост для тех, кто умеет чувствовать измененияв своём теле, расходимся

Очень странные направления, как это вы противопоставляете бэк, фронт и стартап? Т.е. в стартапах нет ни бэка, ни фронта и мобилок не бывает?

Стартапы тоже разные бывают бывают где 1000 человек а бывает где 2. И темпы работы могут быть разные, в стартапах тоже не всегда все работают по 80 часов в неделю, бывает и расслабленно работают.

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

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

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

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

Если владельцем, то тогда понятно.

Если любите работать с Windows и инфраструктурой от Microsoft — то ваш выбор C#

Вы точно эту статью недавно писали?

Да, я в курсе, что C# давно используется на linux/unix-системах и код вполне может писаться на macOS. Тут имелось ввиду, что для бекенда на C# есть развитая инфраструктура от Microsoft. Пользоваться ей или нет - выбор за C#-разрабом и компании в которой он работает.

А про Windows - удалю, чтобы не путать. Но кому, то кто кроме Windows не видел других ОС будет проще начать именно с C#.

Мое видение, по популярности/используемости

Бэкенд — это, наверное, одна из немногих сфер, где сейчас популярно несколько языков

В среднем больше всего java, также широко используется С#, nodeJS для BFF/интеграций, go активно занимает нишу, PHP потихоньку умирает но все еще очень популярен.

Если любите работать с Windows и инфраструктурой от Microsoft — то ваш выбор C#.

Очень широко но прямо сложно назвать C# доминирующим. Приложения-чаще electron(js/ts), потом .net, дальше с отрывом java и С++ с qt, скрипты - ps/python или кто во что горазд.

Если вы хотите быстро делать бизнес-фичи в стартапе — тут ваш выбор язык Ruby.

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

Если хотите работать в банках и других корпорациях — начните изучать Java.

Тут прямо JAVA рулит и бибикает в плане бэка. Также С#, раньше скала. А если в целом то тот же python актуален(аналитика), js для фронта и т.д.

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

Хз, сейчас в разных сферах сложно назвать один язык что был везде. Под мобилки на python не пишут(массово), десктоп относительно непопулярен, фронт-только JS, какие-нибудь БД - С, C++, Java, go, rust. По мне наиболее "широкие" языки java, js, python, мб С++

Хотите быть фулл-стеком, при этом зная один язык, — изучайте JavaScript.

Только если как фулстэк понимать типичный CRUD back + fronend, иначе см выше

Хотите настраивать высокопроизводительные сервисы и облачные вычисления — для вас есть три языка: C++ (один из самых сложных языков, но при этом в нём есть всё), Go/Golang (язык попроще чем C/C++ от Google), Rust (язык от Mozilla).

Я бы добавил java в этот список. Примеры-hadoop, spark, dynamodb, cassandra

Если хотите заниматься искусственным интеллектом — там почти всё на Python.

Согласен

Про бекенд согласен.

Про Windows - имел ввиду не написание приложений под Windows, а ведение разработки на Windows. Про написание приложений под Windows согласен. Наверно подправлю этот пункт, т.к. похоже многие меня не так поняли.

Я Ruby трогал несколько лет назад, да возможно сейчас он уже не так популярен.

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

Про python - соглашусь, что он не полностью универсальный, но используется во многих областях. По универсальности да, пожалуй JS его догнал. Java - не такой универсальный, более того постепенно его вытесняет Kotlin (в мобилке уже вытеснил, на бекенде некоторые проекты тоже переходят на него). C++ - да, он универсальный, но он слишком сложен для начинающих - я бы выделил его в отдельную категорию. В общем подумаю и наверно подредактирую этот пункт в статье.

Про фуллстек - а что бывают другие фуллстеки? Сейчас специально загруглил и первое, что вывелось: "Full-stack разработчик (произносится “фулл стек”) — это некий мастер на все руки в мире веб-разработки. Ему под силу реализовать как клиентскую, так и серверную сторону приложения, которыми, обычно, занимаются FrontEnd и BackEnd разработчики раздельно друг от друга."

Про Java - я уже писал выше про банковский/корпоративный сектор. Вряд ли hadoop, spark, dynamodb, cassandra - используются где-то помимо банков и корпораций.

Внёс небольшие корректировки в текст статьи.

В среднем больше всего java, также широко используется С#, nodeJS для BFF/интеграций, go активно занимает нишу, PHP потихоньку умирает но все еще очень популярен.

Всегда думал, что бекенд делают на питоне и плюсах. Вот ведь. век живи, век учись 🤷‍♂️

что бекенд делают на питоне и плюсах.

интересно было бы посмотреть где сейчас бэк на плюсах делают....

я не спорю что такое есть
тут скорее вопрос классификации и определений


То есть, Яндекс и ВК пишут бекенд на плюсах (видимо и на других языках тоже).

у ВК бэкенд на PHP и еще всяком интересном (типа перла), плюсовые задачки там скорее из некоторых микросервисов где важна производительность или еще чтото.


p.s. для меня "бэкенд" это часть сервиса состоящего из двух частей "фронт" и "бэк", но большинство плюсовых задач в ентерпрайзе не имеют фронта вообще. грубо говоря, можно ли назвать ядро линукса — бэкендом для gnome?

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

Вот, кстати, да. Хороший вопрос в правильной постановке. "Что есть backend".

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

Вот это что вот такое?

Есть ещё такое понятие "garbage in - garbage out": если у вас исходные данные с ошибками, то и выводы будут соответствующего качества.

"Блокчейн-проекты пишутся в основном на C++, при этом часть сервисов использует Go/Golang, Java, JavaScript и python. Сервера для блокчейн пишутся на Erlang"

Нет, c++ мало ичпользуется. Erlang тоже. 90% рынка покрывают rust с golang. Ключевое слово "рынка", а вы гуглили "на чем пишут биткоин".

UFO just landed and posted this here

Ежедневно в течение последних 7и лет на рынке.

И по чем там сейчас мешок кортошки?

350-450k usd для опытного core разработчика.

Это вы про рынок чего?


Я вот "на рынке", грубо говоря, с 14 года


и могу сказать что "90% покрывает, php, python, java и js… и системщики с плюсами и растом, голанг везде где я его видел — ща мы ченить для теста запилим и может перейдем"


я это к тому что личный опыт не совсем релевантен и отражает вашу специализацию

Вы опыт программтрование и ежедневный мониторинг рынка не путаете? Потому что если так, то я с 2002года на php, js.

С десяток лет на php, затем golang с 2016, в промежутке и erlang, Haskell был, с 2022 раст.

ежедневный мониторинг рынка не путаете?

что значит "мониторинг рынка"? рынка чего? заказной фриланс-разработки? рынка внутренних инструментов продуктовых компаний? рынка инструментов непродуктовых компаний?
или рынок труда? так я вам скажу что в начале 10х у меня было явное ощущение что все вокруг переходят на Ruby, однако погрузившись в тему я понял что веяние было мимолетным и не массовым и руби сейчас скорее умирающая история. (можно спорить но я видел десяток проектов где с руби перешли или на питон или на голанг или на сишарп)

У меня несколько знакомых работают на блокчейн-проектах и все они пишут на C++

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

Да, сейчас многие проекты переходят с C++ на Rusn/Golang, но про них я выше писал

Просто выбирать язык бесполезно — нужно искать направление

Кстати, интересный момент, что определившись с направлением, можно "заходить в ИТ" в 2 этапа. Сначала войти в нужное направление, а затем уже в нем перейти в разработку.

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

Про 2 этапа - согласен. Есть знакомые, которые заходили в IT через работу аналитиком в соответствующей сфере.

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

Хотелось поделиться не стандартными методами, которые мне помогли.

Спасибо за статью, но всё-таки не понял на каком языке для мобильной разработки сейчас пишите?

Сейчас пишу на Swift, Java и Kotlin.
Последнее время больше Java, т.к. делаю банковское приложение под Android.

Интересно Ваше мнение про Flutter!

Мне Flutter очень понравился. Он позволяет просто разбивать всё на компоненты (хотя SwiftUI и Kotlin Compose тоже умеют это делать) и при разработке под 2 платформы позволяет экономить время на разработке. А то, что появилась поддержка разработки под Windows (и возможно появится разработка приложений под другие ОС) - вообще может сделать лучшим кросплатформенным фреймворком.

У Flutter пока вижу 4 минуса:
- дополнительные танцы с бубном при сборке приложений под iOS (но это ожидаемо, из-за политики Apple)
- новые фичи iOS/Android далеко не сразу заезжают на Flutter, и если нужно что-то специфическое, то придётся поизвращаться или вообще делать нативным
- заказчиков, готовых к Flutter пока не много и обычно они платят меньше, чем за нативные приложения
- для разработки под Flutter нужно учить новый язык Dart

Большинство сайтов во всём мире написаны на php, так что если хочется писать бэкенд для сайтов за границей, то php — это лучший выбор.

Я бы добавил "...написаны на php и WordPress, так что если хочется писать бэкенд WordPress странички для сайтов за границей...", и писать нужно будет именно WordPress, а не бекенд в стиле Java/C#.

Кроме WordPress ещё полно других CMS (например Joomla или Drupal) и ещё больше самописных бекендов. Кроме того несколько лет назад появились такие фреймворки как Laravel, Simphony, Yii и другие - с ними уже бекенд-разработка ближе к Java/C#, да и начиная с PHP 7.0 - он стал вполне рабочим языком, а не только "Personal Home Page"

Я же не говорю какой PHP плохой/хорошой, (не)пригодный для более интересный web сервисов. Я про распространнёность решений на базе PHP.
В любом случае, большинство сайтов написанных на PHP в мире это WordPress, причём настолько сильно больше чем других CMS и фремворков, что всё остальное просто меркнет с обилием WordPress сайтов.
PS: по статистике Wappalyzer.

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

А как же мой любимый Basic ? (VB.Net конечно же)

Можно считать его умершим. Я давно не слышал о нём кроме возможности автоматизации на нём продуктов MS Office

Нет, просто давно не слышали ;-)

Не исключаю этого. Например думал что pascal и Delphi давно умерли, ан нет ещё есть проекты даже под мобилки на них. Хотя таких проектов по пальцам одной руки можно пересчитать. Возможно с VB.Net так же.

"Расстановки по Хеллингеру"... Я даже не знаю как сюда людей из IT заносит, тем более инженеров, тем более за деньги. Можно ещё было за составление астрологической натальной карты заплатить, или за сеанс раскладки таро.

У него девушка от этого появилась. Всего за 5 тысяч. Вполне себе отличная инвестиция ;)

На "Расстановках по Хеллингеру" я был 1 раз в жизни, бесплатно. Мне не зашло.

UFO just landed and posted this here

Ну чтож, значит нужен другой способ.

Кстати, если выбрать Kotlin+Java...то сможете писать и фронт (мобильный) и бэк)

Сейчас уже достаточно Kotlin. У моего знакомого бекенд уже на Kotlin перевели, даже Spring уже поддерживает Kotlin.

Блокчейн-проекты пишутся в основном на C++, при этом часть сервисов использует Go/Golang, Java, JavaScript и python. Сервера для блокчейн пишутся на Erlang, а смарт-контракты — на Solidity.

Тем не менее, сейчас больше всего вакансий по Rust - в блокчейнах.

Согласен, что сейчас всё сместилось в сторону Go и Rust. Повторюсь, что информацию собирал по открытым источникам, они могли устареть. И у меня нет знакомых Go/Rust-программистов из сферы блокчейн. Можете считать, что "в основном на С++" - это знания 2-3 летней давности.

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

-native react можно писать все везде и будет счастье

-flutter можно писать все и везде и тоже будет счастье

Но почему тогда на хабре мало вакансий по native react, а по flutter вообще ни одной?

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

  • React - это только под Web (т.е. сайт)

  • React Native - это только Mobile (т.е. андроид и яблокофон)

    Не надо их путать. Они хоть и похожи, но очень отличаются как минимум набором используемых компонентов (и интерфейс придётся почти полностью переписывать)

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

Почему мало вакансий - это отдельный вопрос. Скажу так: React Native и Flutter обычно ищут либо в стартапы, либо в небольшие фирмы. Мало вакансий потому что рынок кросплатформенных приложений не большой.

Все корпорации и средний бизнес предпочитают нативную разработку и более "серьёзные" языки и фреймворки.

Вакансии на хабре не мониторю. Предпочитаю вакансии смотреть на hh

UFO just landed and posted this here

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

Если хотите работать в банках и других корпорациях — начните изучать Java.

Это точно? Вы уверены? 5 лет разработчиком в банке - Java для меня темный лес. Нет, оно, конечно есть, но не на уровне "ядра" АБС, а где-то там, на "внешних системах".

Ядро работает на IBM i. Там RPG, CL, C/C++ с использованием Embedded SQL при необходимости.

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

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

Так что банк - это может быть целый зоопарк платформ (IBM i, AIX, RHEL, HP, MS...) и стеков - на каждом уровне используется то, что обеспечивает максимальную эффективность и устойчивость.

Ядро работает на IBM i.

А как же сейчас саппортится\обновляется всё это?

Ну могу сказать только что все работает. И не только у нас (есть еще ряд банков, которые сидят на этой же платформе).

Детальной информацией не владею.

Так или иначе, для реализации бизнес-логики в области коммерческих расчетов существуют специальные инструменты (как FORTRAN для математических расчетов, так COBOL и RPG для коммерческих) которые в целом в данной области удобнее.

Математические расчёты и на MathLab делают - сам когда-то решал дифференциально-интегральные уравнения для строителей - по расчёту мостов (смещения и скручивания под нагрузкой)

Всё-таки считаю это более узкие области. Да, там тоже нужны специалисты. Даже на таких экзотических языках как Haskell - но их в разы меньше, чем тех же Java-программистов. Достаточно открыть hh.ru и посмотреть, кто требуется.

Фортран создавался когда никаких матлабов и в помине не было. В начала своей деятельности писал на нем немного - обработка экспериментаьных данных, статистический анализ, регерссонный анализ, линейная/нелинейная оптимизация...

Естественно, что все это узкоспефичное. Но если говорить про RPG, то 80% кода на платформе IBM i (у нас мало распространена, но в мире имеет свою устойчивую нишу) пишется именно на нем. Есть группы на LinkedIn, есть теги на SO, есть специализированные ресурсы типа RPGPGM, Code400 и подобных. Есть неплохой набор плагинов для VSCode как для RPG, так и для работы с IBM i серверами в целом.

Вообще платформа очень специфическая (начать с того, что там "все есть объект" и даже файловая система абсолютно своя) и достаточно интересна с технической точки зрения.

То, что там много разного полностью согласен.

Я описываю свой опыт. Работал во фронтальных системах и там 90% разработчиков были на Java. Так же знаю, что для банкоматов ПО писалось на С/C++, но их явно было меньше, чем нас. Потому и сделал такой вывод.

Повторюсь, что говорил именно про большинство. В ядре разработчиков больше чем в фронтальных системах? Если так то признаю, что был не прав указывая язык.

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

На уровне АБС работает... Ну сотня разработчиков точно, может полторы. И это не только собственно ядровые ("ядро" - это общие функции, есть еще много команд - система расчетов, лимитный модуль, тарифный модуль, модуль пластиковых карт, универсальный кассовый модуль, комплаенс, еще что-то...) Разработчиков достаточно много.

Я в банке во фронтальных системах работал - там как раз было очень много Java. Что там в АБС я не видел. Может там C/C++ или ещё что-то.

На фронтах - оно понятно. Но там, как правило, бизнес-логики нет (или ее очень мало). Есть формирование запросов, которые уходят вниз, в АБС, и интерпретация ответов.

А уровне АБС у нас преимущественно RPG. Хотя есть и С/С++ (по большей части там, где требуется работа с системными API на низком уровне).

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

Я бы не сказал, что там нет бизнес-логики. Просто она не такая, как в АБС.

Во фронтах бизнес-логика больше связана с UX и управлением бизнес-процессом.

В АБС бизнес-логика больше про управление данными и процессинг.

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

Это описание мне напомнило 1С))) Ну может кроме большого количества разрядов и "быстрый и эффективный код на выходе"))) "Вьетнамские флешбеки"))) Благо из 1С ушёл в более техническую разработку.

Ну я не говорю что на фронтах нет логики. Просто она там другая.

На уровне АБС нужно постоянно данными ворочать. Иногда большими объемами данных. Некоторые вещи приходится распараллеливать чтобы уложиться в разумное время. Некоторые просто делать очень быстро (скажем, есть т.н. "контроль платежей" - каждый платеж проходит через ряд проверок по которым принимается решение о том, пропустить его или отправить на контроль). Поскольку платежи в банке валятся "стремительным домкратом", то работать это должно ну очень быстро (в последней версии на нагрузочном тестировании у нас 6+ млн платежей пролетело за 13 минут общего времени, а там порядка десятка проверок для плательщика и получателя по каждом платежу) - на проме это все в несколько потоков крутится - платеж выкладывается на конвейер и оттуда подхватывается первым свободным потоком.

Ну или вот актуализацию (проверка корректности) клиентских данных - в отбор попадает 22+ млн клиентов, для каждого проверяется корректность ДУЛ (Документ Удостоверяющий Личность), адреса, и т.п. 10 потоков - 23.5мин работы.

Много задач, где приходится мозги напрягать именно в плане оптимальных алгоритмов.

Есть и технические вещи на системном уровне. На IBM i много разных типов системных объектов, например, очереди, работа с которыми только через machine instructions (MI). Тут уже С/С++ в помощь - написать набор АПИшек для удобной работы с такими объектами из RPG программ. Там заморочек хватает - внутри оно работает в модели памяти teraspace с 64бит указателями, а RPG работает в Single Level модели с 128бит указателями...

Так что "технического" тут тоже хватает.

Я, конечно, ни разу не самурай, поэтому в икигаях не силён, но Lean Startup подход говорит нам, что то, что нужно "миру" - это то, на чём можно зарабатывать. А если "мир" не готов за это платить, то значит ему не сильно нужно. А если вы думаете, что миру что-то нужно, но не попытались это продать, значит это гипотеза, которую вы не проверили (и которая скорее всего не работает).

Знаком с Lean Startup. В нём не совсем так. Скорее: Можно зарабатывать на том, что является "болью" клиента. И это западный подход, через "боль".

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

А если "мир" не готов за это платить, то значит ему не сильно нужно. А если вы думаете, что миру что-то нужно, но не попытались это продать, значит это гипотеза, которую вы не проверили (и которая скорее всего не работает).

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

Так что при оценке "готов ли мир платить" нужно оценивать не да/нет, а например в конкретных цифрах: сколько готов платить и сколько заказчиков готовы столько платить.

В 2000-х двое новых русских встречаются в центре Парижа, один другому хвастается:

- Смотри какой я галстук за 5 тысяч баксов купил!

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

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

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

Ментору я заплатил за помощь в решении моего вопроса. Он мне помог. Я тогда не знал про икигай. И только потом, когда узнал о нём - то вспомнил, что ментор мне задавал похожие вопросы. Кстати, ментор недавно запустил IT-бизнес в банковском секторе с которого получает несколько миллионов в месяц. Это я к тому, что он не представитель инфоцыган, а реальный бизнесмен.

мотивации "хочу в мобилки" и "хочу в ии" слишком широкие и абстрактные

Чтобы прийти к чему-то конкретному нужно сначала определиться в этих широких и абстрактных понятиях.

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

Я привёл мои сферы интересов для примера и да, некоторые из них не из IT. В частности "игрофикация" скорее ближе к маркетингу (или к менеджменту, если используется для улучшения внутренних процессов компании)

Бэкэнд на php. И Python c JS такие «Ну да, ну да, пошли ка мы нахер».
Вообще, условный выбор между владельцем продукта и бэкэндом, это примерно как выбор между пойти на сантехника или в балет. Два разных мира. За 15 лет можно было как-то это понять. Наверное.

Видимо вы не внимательно читали, цитата:

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

Большинство сайтов во всём мире написаны на php, так что если хочется писать бэкенд для сайтов за границей, то php — это лучший выбор.

Я сразу написал, что - популярно несколько языков, и далее - большинство сайтов написано на php. Конечно многое сейчас написано на python и JS, но по количеству сайтов - лидирует php. Да, наверно они скоро догонят и обгонят его, но пока так.

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

Про 15 лет... Когда работал в 1С или руководителем в Сбере меня всё устраивало. И мне нужно было за полгода-год решить куда двигаться дальше. Так что я не 15 лет выбирал, а полгода-год.

В кружочках направлении программирования нет embedded

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

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

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

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

Иногда на практике проверяю свои идеи, экспериментирую.

В целом, некоторые промежуточные выводы уже есть. И что меня очень обнадеживает, среди них есть такой: мышление поменять можно! Возраст значения почти не имеет, лишь бы это не старость была. Потому что этот процесс медленный. Можно не успеть) И требует определенных усилий. Но главное, это в принципе возможно!

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

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

По-хорошему, наверно стоит будет статью запилить. Даже без публикации, чисто для себя, чтобы структурировать все. У всех моих тезисов есть научные подтверждения.

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

И тогда получается, что тот же выбор направления новой профессии - это всего лишь выбор. Не призвание.

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

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

В итоге, среди критериев выбора профессии есть лишь один единственный важный критерий. И это не деньги. Не моральное удовлетворение и т.п. Это время.

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

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

Про мышление технаря - возможно им действительно проще и не возникает сложности с выбором.

Про работу мозга полностью согласен и благодарю за подробное описание некоторых особеностей мышления.

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

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

Sign up to leave a comment.