Pull to refresh

Comments 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 предназначен/применим/подходит/нужен только/создан для микросервисов. На логичный вопрос "Почему так?" пока внятного ответа не получил. Поскольку ответов нет, даю наводящий вопрос "А какой тогда ЯП больше всего подходит для событийно-ориентированной архитектуры и почему?". Узнал, что некоторые про неё не знают, хотя в своих игрушках постоянно используют. Обычно при этом вопросе начинаются размышления про брокер сообщений. Тогда с тем же вопросом перехожу к микроядерной архитектуре. И тут тоже пусто.

UFO just landed and posted this here

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

Это значит, что язык и тот и тот хорош. И нужно было сделать выбор.

Выбирать язык из-за моды на современном рынке совершенно нормально. И чем раньше, тем лучше. Иначе есть риск остаться на говнолегаси с 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 недели поменять язык и стать джуном с зарплатой.. плачу

Sign up to leave a comment.

Articles