Комментарии 56
Джун: выбирает язык по сфере применимости, по быстродействию, системе типизации, инфраструктуре и прочим ненужным вещам
Сеньёр:
наличие {}, а не отступы
более новый ЯП
Сеньор это уже все знает. И при желании он в любой момент может уйти на другой ЯП.
И питом и гоу нормальные языки. Хотя гоу - это функциональщина. Это как бы для меня минус. Но там есть структуры и интерфейсы. Так что это по сути недо ООП.
Хотя гоу - это функциональщина
Такая же "функциональщина" как питон или джава. Функторы и функции высшего порядка сейчас почти везде есть. Это не делает ЯП автоматически "функциональным" и не лишает вас возможности писать в махровом императивном стиле как 30 лет назад.
Это по сути функциональщина. Я могу в любом файле в пределах пакета дописать метод. В нормальном ООП это делается внутри класса.
ФП это, мягко говоря, не про то, есть ли в языке функции-расширения (если вы о них).
Если вы можете написать метод, это не функциональный язык. В функциональных языках нет методов, только функции.
Может вы путаете "фунциональщину" с "процедурщеной" ? Функциональное программирование - это когда функции используются в математическом понимании.
Можете и за пределами пакета - манкипатчинг. Это каким-то образом ликвидирует ООП?
Хотя гоу - это функциональщина
Как бы авторы языка явно указывали, что он является процедурным с элементами ООП. Но по непонятной причине, практически все разработчики, имевшие дело с ООП языками уверенно и на полном серьёзе заявляют, что язык таки функциональный. Почему именно так, объяснить не могут.
функциональщина. Это как бы для меня минус
В чём именно по вашему минус функциональной парадигмы? Если всё в итоге сводится, что думать надо много и много знать, то это очень хороший фильтр. От него в итоге только польза.
это по сути недо ООП
По сути, авторы перед собой не ставили задачи создания очередного ООП языка. И могу с уверенностью сказать, что в своей разработки практически не используете сильные стороны языка связанные с многопоточностью и параллельным взаимодействием между потоками.
Имхо, потратить чуть больше времени на изучение, сделать какой то пет проект и заходить хотя бы как миддл было бы удобнее и не было бы такого даунгрейда по деньгам.
Конечно это в случае если вы действительно сеньер с большим опытом и понимаете что за месяц разберётесь с боевыми задачами за счёт опыта на другом стеке.
У меня был опыт начала работы без никого. Я была одна. Год был потрачен впустую.
Плюс для hr вы как были Джуном, так и остались. У вас не будет опыта работы. Или нужно врать в резюме, что ты 2 года работал на гоу
Я была одна. Год был потрачен впустую.
Почему вы так думаете? Мы же про программирование говорим?)) Мне кажется, если бы у меня была сейчас возможность целый год работать в соло, я бы от этого только прокачался в техническом плане. Софт скилы бы наверное пострадали, да и чёрт с ними.
Ну и как hr узнает, что на самом деле вы не работали последние 2 года на go? И ещё - даже если вы будете врать hr, то не переживайте, они вам будут врать на порядки больше.
То есть, го выбирают не потому, что там прекрасная реализация горутин, не потому что он кросс компилится двумя флагами под все основные архитектуры и ОС, не потому, что на нем можно написать практически любого вида ПО, от бизнес логики, до работы с BLE антенной.
Нет, потому что там есть скобочки, и более свежий язык)
Вот поэтому никто не любит "переодетых" PHPшников. Учите не языки, а базу: Операционные системы, работу с многопоточностью, алгоритмы и структуры данных, шаблоны проектирования. Хотя бы более осмысленно будете следующий язык выбирать.
Это вы сейчас охаяли питон? Чем он так вам не понравился? Или гоу?
Ну вообще я прекрасно понимаю автора. Изучать язык, который не нравится в том числе и эстетически - путь либо к выгоранию, либо к заьрасыванию этой затеи. Мне вот ни го ни пхп не нравятся самим дизайном, писать на них каждый день я бы не смог. Раст и хаскель со скалой выглядят намного лучше для меня, учу их потихоньку как дополнение к основному
PHP сейчас всё ближе к джаве и у хороших пхп-шников всё в порядке и с шаблонами проектирования, и с пониманием SOLID, GRASP и DDD и со сложными структурами языка.
А слабую типизацию и процедурную стандартную библиотеку они куда из PHP дели?
Никуда не дели. SPL теперь является частью ядра PHP, а типизация является переключаемой. По умолчанию, для совместимости, работает слабая, но можно объявить директиву strict_types и будет строгая.
В общем, обратная совместимость очень высокая, до сих пор можно писать в старом стиле, но в современном коде есть возможность использовать все современные подходы.
очень странные выводы. я чуть меньше года назад сделал переход из сеньера пхп в сеньера гошника с приличным повышением зп. куча компаний сейчас предлагает свап с переобучением, потому что если вы толковый специалист, сеньер, то вы в первую очередь толковый специалист и сеньер, а знание ЯП, особенно go - дело нескольких месяцев изучения и практики. компании инвестируют и нанимают инженера, специалиста, а не пхпшников/гошников/свойвариант
В моем трайбе были шарписты, пхп и андроиды. На вакансии в другие трайбы подход такой же как и снаружи - джун или стажер. Это мне hr из своей конторы предлагал.
Переучивают только 2 конторы - Озон и вроде Ламода. Собес у меня был с Озоном. Но там получился сумбур. На 2м этапе собеса про меня забыли и я с hr 30 минут ждала пока освободится лид. И в результате собес получился скомканный, т.к. у меня потом была своя работа. Ну а по другой вакансии у меня был уже оффер на руках.
И я ни разу про переход с сеньора на сеньора не слышала. Не выше милда, т.к. не знаешь язык.
Авито тоже предлагает свап, ну и, собственно, samokat.tech, куда я и пришел. у них целый проект был - нешкола go, по которой я и прошел. в конце ИС был собес чисто по гошке, очень подробный с углубленным разбором внутренней работы языка
у озона, кстати, есть ещё варианты с route256
У меня немного хитрее, но я переходил с сеньора на C++ сразу на сеньора на Расте, хотя знал тогда его примерно на уровне мидла. Но очень быстро подтянул, на рабочих задачах это проще делать было.
Потом к нам таким же методом скалисты приходили.
В её представлении "сеньор" это тот, кто может самостоятельно составить SQL запрос и умеет разворачивать и настраивать среды.
Упоминаний о проектировании схем БД, API, да хотя бы разбивки функционала на модули/сервисы в статье не заметил.
Но да, вполне себе уверенный джун.
Как я поняла вы из маленькой конторы. В крупных конторах проектированием базы, апи запросов и тд занимается архитектор с аналитиком. Вы можете обсудить свое мнение, но решающее слово всегда за ними.
Я писала всего лишь о своей ежедневной работе. И плюс, для меня проектирование БД и архитектуры на уровне микросервиса - это работа сеньора по умолчанию. Но этим увы не занимаешься ежедневно.
Какой язык посоветуете новичкам?)
Вы правильно подметили != опыт заявленным требованиям… типо нанимаю 20летних с 20летним опытом!)
Желаю Вам удачи.
Смотря какое направление вам интересно - бэк или фронт?
Я про Бэк.
C# сейчас не сильно популярен. Новые проекты на нем редко начинают. Встречала в основном в платежных системах и телефонии. Порог вхождения не простой.
Java - появилось второе дыхание у языка. Довольно много крупных проектов на нем пишется. Какой-то специфики по тематике нет. Порог вхождения так же не прост.
Python - хоть и сам язык старый, но сейчас очень популярен. Область приминения в основном бигдата и ИИ. Порог вхождения прост. Но нужно изучать теорию по бигдате или ИИ.
Go - самый новый из этой 4ки. Применим в микросервисах. Тут проекты либо с серверной архитектурой и бд, либо апи сервисы. Порог вхождения довольно прост.
Понятно, что к этому автоматом идет знание БД, операционки, конфигурирования серверов, докера и кубера.
Из этого всего самым простым является попасть на проект с Go и "перекладывать json". Это даст время на привыкание к языку.
C# вполне популярен сейчас, особенно на западе, майки каждый год выпускают новую версию языка с платформой в отличии от той же джавы. На джаве высока вероятность, особенно для джуна, попасть на жуткий легаси, а не на новый проект.
А вот знание операционки, сетей, бд и т.д. обычно у джавистов/шарпистов есть, чем у тех же питонистов
C# вполне популярен сейчас, особенно на западе, майки каждый год выпускают новую версию языка с платформой в отличии от той же джавы.
Вот именно - на западе. Я писала про РФ. Хотя согласна - нужно было уточнить страну.
Мне показалось есть рост и спрос на джунов сишарп…но думаю, есть нюансы в России, если ли смысл сейчас изучать его?
Получается гоу ближе к цели. Но есть мнение, что в гоу уходят опытные ребята как Вы … то есть Джуны там не нужны
Go - самый новый из этой 4ки. Применим в микросервисах.
Вы не поверите, но в микросервисах применим любой ЯП. Даже на brainfuck можно написать микросервис. С трудом, но можно.
Более пяти лет как встречаю утверждение, что Go предназначен/применим/подходит/нужен только/создан для микросервисов. На логичный вопрос "Почему так?" пока внятного ответа не получил. Поскольку ответов нет, даю наводящий вопрос "А какой тогда ЯП больше всего подходит для событийно-ориентированной архитектуры и почему?". Узнал, что некоторые про неё не знают, хотя в своих игрушках постоянно используют. Обычно при этом вопросе начинаются размышления про брокер сообщений. Тогда с тем же вопросом перехожу к микроядерной архитектуре. И тут тоже пусто.
Ужас какой
Каков подход, таковы и комментарии. Выбор языка из-за моды и скобочек - чисто женский подход, отсюда и комментарии такие.
Это значит, что язык и тот и тот хорош. И нужно было сделать выбор.
Выбирать язык из-за моды на современном рынке совершенно нормально. И чем раньше, тем лучше. Иначе есть риск остаться на говнолегаси с 3,5 вакансиями и зарплатой 50 тыщ. И уже без шансов выбраться. А ипотека сама себя не выплатит.
Выбор языка из-за моды и скобочек - чисто женский подход
Ага, то есть выбор по другим критериям - уже не типичный женский подход? Давайте ссылку на исследование, которое это подтверждает, а то пока это выглядит как самый настоящий сексизм.
Я бы тоже выбирал из-за моды и скобочек. Именно потому что принципы везде одинаковые, и языки в среднем отличаются модой и скобочками. Например, я бы не хотел переходить на язык, где нет нормальных классов.
А у нас при проведении технических собесов, требующих написания кода, говорят: "пишите на том языке программирования, который вам ближе". И - нормально, оценить ход решения задачи вполне себе можно, даже не зная самого языка.
У меня с последних собесов обратная картина: компании дают нормальные офферы для senior php на позиции senior php+go. Помимо своего стека просят показать знание общей базы, даже если она не представлена в php-стеке.
Лиды на собесах жаловались, что даже на приличные бюджеты сложно искать людей, потому что приходит senior php и не знает что такое асинхронный запрос, треды, какую работу делает ОС, как работает БД, отладку ниже уровня xdebug не видел, а самым большим недостатком php называет "ну, там функции названы неконсистентно". И тут нанимающие понимают, что соискателю и без go еще пахать прилично.
Если же речь о переходе с php на чистую go-позицию (т.е. go без php), то не понимаю зачем. Хватает же компаний со смесью технологий, где можно переходить постепенно, без потери грейда и денег.
К сожалению всё так как вы описали. ХР работают по сути как баш скрипты и при несовпадении символов в списке технологий считается что знания у вас абсолютно непереносимые. Я вообще не видел где-либо чтобы брали с на другой язык, тем более с переучиванием. Но у меня больше опыт зарубежных контор.
На мой взгяд, в статье не раскрыто качество перехода. Пока я видел, что за 3 месяца человек только научался поддерживать написанное на Go.
А вы можете раскрыть в статье, насколько вы погрузились в идиому Go? Как быстро стали в параллельность/конкурентность? Какие сенсорные задачи у вас сейчас? Вы уже видите код человека пришедшего из других языков? С PHP, например?
Как и писала выше - погружение шло 3 месяца. Но полноценно работать я смогла через 5. Т.е. тогда, когда смогла обсуждать слабые и сильные места архитектуры проекта.
Плюс погружения в существующий проект с командой, что всегда можно задать вопросы - а почему тут так и а как принято. Когда тебе отвечают и вы обсуждаете моменты, то всё изучается на много быстрее.
А по качеству - моей первой задачей на проекте было написать новый микросервис с примерно похожей на другие сервисы архитектурой, а также в параллель изучить монгу.
За 2 недели поменять язык и стать джуном с зарплатой.. плачу
Мой опыт смены ЯП с PHP на Golang