eugene
К тому же как вообще можно определить, что человек "пару мощных книг прочитал" на собесе. Большинство собесов паттерновые и заучить вопросы не составляет труда залетным. Реальный тест на какие-то глубокие знания длился бы намного больше, чем 1-2 часа. Особенно, учитывая что нужно знать не только язык, а ещё куча всего, где нужно глубоко разбираться
GO.HARD.GO
да эта статистика в открытом доступе есть, поищите
какая нафиг статистика) почитайте вакансии которые тут публикуются) тут для сеньоров 350к потолок в 90% случаев))
eugene
Как ты будешь писать высокопроизводительный и качественный код, если языка не знаешь? И, зачем тут опыт разработки на других яп, если в стеке проекта, этих яп нету? И может последнее, и не все со мной сейчас согласятся, но зачем сейчас требовать вышку? У половины прогеров, в 23 году, нет вышки. Тупизм какой то, а не вакансия
Меня недавно спросили на собесе гошном про конечные автоматы. Знал только потому, что предмет был в унике. Так бы не узнал ни в курсах каких-то, ни где либо ещё наверняка. Вот ещё в Совершённом коде вторая глава про метафоры есть, которая говорит про важность сравнивать какие-то вещи может даже вообще не из проги, проводить аналогии. В общем эти связи как раз строятся при обучении в ВУЗе. Человек с курсов ими обладать вряд ли будет
GO.HARD.GO
Кстати странно, что так много кодеров курят вообще. В принципе понятно, но если просто попробовать не курить 2-3 дня, то мозг будет как разогнанный процессор
у многих кодеров либо универ+технопарк+работа либо основная работа и еще 1-2 на стороне, либо основная работа + курсы и книжки на стороне, и загруз по 60-80 часов в неделю. Такое вынести можно только под кальянчик)
softland
может, за две. чо там учить? как цикл по массиву делать?
Нууу, 2 недели, это перебор... Неделя и 3 дня, ну 4 дня.
Aleksandr
какая нафиг статистика) почитайте вакансии которые тут публикуются) тут для сеньоров 350к потолок в 90% случаев))
Так я и с предыдущим оратором не согласен) Просто зачем опираться на числа вилок, когда есть инфа по рынку о том кто сколько реально получает
Andrew
Конечные автоматы, блин. Вспомнился анек про калькуляторы для предварительных расчетов и окончательных 🇲🇿
Aleks
Как ты будешь писать высокопроизводительный и качественный код, если языка не знаешь? И, зачем тут опыт разработки на других яп, если в стеке проекта, этих яп нету? И может последнее, и не все со мной сейчас согласятся, но зачем сейчас требовать вышку? У половины прогеров, в 23 году, нет вышки. Тупизм какой то, а не вакансия
Согласен. Прикольно то, что высокопроизводительный код обычно не очень качественный, и наоборот. А еще если до этого работал на Python, то вообще весело смотрится. Про C++ тоже есть нюансы, там сам рулишь памятью, все на указателях, В Go за такое обидится сборщик мусора. Опять цирк с конями в найме. :)
Алексей
Товарищи, добрый день! подскажите пожалуйста, по вашему опыту, в природе существует такое явление, как спрос/вакансии на джуна гофера или прием на стажировку? изучаю go можно сказать с 0, как первый язык, плохая ли это затея?)
Aleks
Товарищи, добрый день! подскажите пожалуйста, по вашему опыту, в природе существует такое явление, как спрос/вакансии на джуна гофера или прием на стажировку? изучаю go можно сказать с 0, как первый язык, плохая ли это затея?)
То что видел я, не пытаясь охватить ситуацию глобально, спрос на джунов в Go сильно меньше чем к примеру на Js-Ts или Java. На Python тоже мало, но больше чем на Go.
Aleks
в С++ всё давно на умных указателях, там всего делов, что потоки корректно убивать. как и в го, кстати.
В Go сам факт наличия указателя отбирает ресурс процессора (так ценного на высокой нагрузке), в отличие от C и C++ приходится искать баланс между передачей по значению или по указателю.
Aleks
ну вот и меня не покидает ощущение того, что горя хапну, когда придет время поиска работы
Увы, инфоцигане от курсов сделали свое поганное дело, все "входные точки" для входящих в IT буквально под DDOS из соискателей.
Энди
То что видел я, не пытаясь охватить ситуацию глобально, спрос на джунов в Go сильно меньше чем к примеру на Js-Ts или Java. На Python тоже мало, но больше чем на Go.
сравни требования на Джуна go и на джуна явы. И станет немного понятно что объем знаний на го необходимых для поиска работы в разы меньше. Но Go крайне спецефичен из за низкого уровня синтаксического сахара, а это усложняет вкатывание в джуны, да и книжек по go где все было бы ражевано до "школьного" уровня почти нет.
Энди
ещё один немало важный момент, то что в Го многое нужно делать руками, опять же из за отсутствия синт. сахара. А это уже усложняет задачу, потому как нужно уже на самом начальном этапе иметь алгоритмическое мышление. Гофер джун больше думает головой, и много пишет, отсюда и сложность. А вот джун явы много пишет методом копировать - вставить, по этому от них уже на самых началах требуют знания больших библиотек типо спринга.
Aleks
писали же, что до 10 Мб по значению, больше - по ссылке
:) В it все обстрактно, и как всегда нет универсальных решений. Не просто так появляются извраты типа sync.Pool чтобы облегчить работу сборщику мусора, причем это самый простой вариант (бывает например аллокация большого массива байт в куче один раз, и использование этого пространства по таблице индексов смещений для разных целей.) Но это я все именно про высокую нагрузку, в другом случае так парится не стоит. Не когда в C и C++ ни кто так не делает.
Aleks
Можете немного пояснить свою мысль?
В отличие от C и C++ где разработчик решает когда взять память у системы а когда отдать, в Go разработчик только берет память у системы, а возвращает ее должен механизм внутри рунтайма языка, сборщик мусора. Последний обходит все указатели на взятую в куче память, проверяет нужна ли эта память еще, и если нет маркирует не занятой.
Алексей
Спасибо. Но разве в плюсах нет своих реализаций сборщика мусора? Я думал, что вся прикладная разработка их использует уже.
Они есть, но смысла использовать их особо и нет. Потому что там всё равно будет консервативный не конкурентный mark&sweep, что по сути один из самых неэффективных сборщиков мусора. Плюс вся суть того что ты берёшь C/C++ в том чтобы писать код без гц. А с гц и так есть куча языков на любой вкус и цвет.
Sergey
или проблема в консервативности и неконкурентности?
Алексей
а чем не устроил mark&sweep? В гошке концептуально что-то другое разве?
в гошке он конкурентный + не консервативный, то есть знает где поинтер, а где не поинтер, что виляет на производительность а во всяких там джавах вообще перемещающий сборщики + поколения
Алексей
в гошке он конкурентный + не консервативный, то есть знает где поинтер, а где не поинтер, что виляет на производительность а во всяких там джавах вообще перемещающий сборщики + поколения
Ну то есть в специализированных языках имеются более продвинутые сборщики мусора, тогда как сборка мусора в C/C++ сильно ограничена в этом плане.
Sergey
понял вашу мысль, спасибо
Кристине
#lead #senior #remote Position: Stream Software Engineer GO Company: B2Broker Location: Remote Worldwide Salary: Up to 7500$ or 700k rub. Responsibilities: —Designing and developing high-load services from scratch —Identify problems in application's code and form refactoring tasks, decompose story and tasks —Tech debt structuring and management —Conducting code review —Analysis of product requirements, design of development plans —Constant interaction with Sub-Stream Software Engineers, technical support, project managers, and other stakeholders to optimize processes and improve product quality —Responsibility for product quality and reliability System technical analysis and elimination of bottlenecks —Improving system stability under heavy loads Requirements: — Strong proficiency in the Go programming language with a solid understanding of its core concepts and idiomatic usage and the principles of writing concurrent code —At least 4 years of practical experience in commercial Go development —1+ year experience managing development team of 3+ people —Experience in developing high-loaded applications (thousands of RPS) —Strong problem-solving skills and ability to analyze complex technical issues. —Experience working with message brokers and a deep understanding of how they operate. —Experience with external caching servers —Advanced understanding of microservices architecture design principles —Confident command of SQL databases and skills in working with them —Experience with OpenAPI, Protobuf and GRPC —Deep understanding of CI/CD —Knowledge of SOLID, design patterns, the experience of applying them —Experience with other programming languages and technologies (e.g., PHP, Docker, Kubernetes) is a plus. What we offer: —Remote work 5/2, free planning of working time; —A key role in the formation and development of products and solutions; —Lack of bureaucracy as well as large number of formal meetings and calls; —Work with a team of professionals. English - B2 Russian- B2 📩для связи @k_kosta_a
Александр
Компания ИВА, лидер на российском рынке видеоконференцсвязи ищет архитектора для создания ИВА ИД и ИВА мессенджера. Опыт создания высоконагруженных решений. Опыт golang более 3х лет Проживание РФ Опыт работы с nats, grps, PostgreSQL, golang, swagger, elastic Зарплата 400-450 в руки Необходимо будет проектировать сервисы на бумаге, вместе с аналитиком оформлять спеки. Есть бронь. За подробностями в личку
Anonymous
#вакансия #Golangdeveloper #удаленно #idpb #fulltime 💻 Golang-developer ✅ Наш продукт: Интерактивно-обучающий игровой стриминговый сервис. ✅ Компания: "Интеграция Дистрибуция Проекты" ✅ Локация: Россия 🇷🇺 ✅ Формат работы: удаленно РФ ✅ Вилка 350k-450 nett Основные требования: 📌 Опыт разработки на Go от 3-лет; 📌 Знание принципов ООП и паттернов проектирования; 📌 Опыт работы с базами данных, такими как MySQL, PostgreSQL или MongoDB; 📌 Знание основ HTML, CSS и JavaScript; 📌 Опыт работы с REST API и микросервисной архитектурой; 📌 Навыки написания тестов и документации; Желательные навыки: 📌 Опыт работы с Docker и Kubernetes; 📌 Знание других языков программирования, таких как Python или Java; 📌 Опыт работы с NoSQL базами данных (Redis, Couchbase, Cassandra); 📌 Навыки работы с RabbitMQ или другими системами обмена сообщениями; Контакт: @intentions_agency
А18-🌙Дима
#вакансия #Golangdeveloper Golang backend developer (Москва, офис гибрид) Лаборатория Маркетинга - современная высокотехнологичная маркетинговая компания. За 5 лет на рынке мы совершили 24 000 успешных рекламных кампании, сотрудничали с 16 странами мира, увеличили штат до 60+ человек и заработали себе на крутой офис в Башне «Федерация» в двух минутах от метро. 🔹Обязанности: * Принимать участие в создании архитектуры и разработке новых фичей. * Профилирование и оптимизация высоконагруженных микросервисов. * Unit-testing ‼️Требования: * Опыт разработки на Golang от 3 лет * Опыт разработки микросервисов. * Опыт разработки многопоточных приложений * Опыт разработки Web-сервисов (REST, gRPC, Websocket) * Опыт работы с реляционными базами данных и брокерами сообщений * Опыт работы с Unix-системами * Наличие бэкграунда разработки на других языках; * Опыт работы с Kubernetes будет плюсом; * Опыт работы с Blockchain будет плюсом. 💰Условия: — Уютный офис в центре Москвы - ст. Деловой центр (Башня Федерация); — Молодой и дружный коллектив и адекватное руководство, открытое к новым идеям!; — График работы 5/2; — Оформление в соответствии с ТК РФ(по желанию); — Заработная плата от 280 000 рублей на руки; — Выплаты зарплаты 2 раза в месяц. 📲 Контакт для связи: @a18_dima
Null
#вакансия Вакансия: Go Компания: АйтиКА Формат работы: удаленно Локация: Москва Вилка зп на руки: 300-380к руб. Контакты: @innakazimirova Всем привет! Ищу Senior GoPython - разработчика в компанию, которая занимается разработкой ПО для сокращения риска возникновения аварий и техногенных катастроф при осуществлении производственной деятельности промышленными предприятиями. Что нужно будет делать: - Писать backend микросервисных web-приложений; - Реализовывать API для клиентов; - Проектировать и создавать микросервисы; - Принимать участие в принятии решений; - Делать код-ревью. Что есть у нашего будущего коллеги: - Опыт разработки от 5 лет; - Опыт разработки на Go от 2х лет; - Опыт разработки на Python; - Опыт работы с технологиями gRPC/protobuf и подобными; - Опыт работы с любыми реляционными базами данных (PostgreSQL, MySQL и пр.); - Опыт работы с Cassandra очень важно, с Neo4j - будет большим плюсом; - Опыт работы с highload и большими БД; - Опыт разработки и построения микросервисов. Предлагаем: Вилка 300-380 000 руб. на руки; - Гибкий удаленный или гибридный график работы 5/2 (если хотите гибрид или офис - г. Москва, м. Динамо); - Трудоустройство по ТК РФ, полностью белая. При желании можно ИП и другие формы; - ДМС, льготы сотрудникам, готовы обсуждать пожелания. За подробностями @innakazimirova
whois
#вакансия Вакансия: Go Компания: АйтиКА Формат работы: удаленно Локация: Москва Вилка зп на руки: 300-380к руб. Контакты: @innakazimirova Всем привет! Ищу Senior GoPython - разработчика в компанию, которая занимается разработкой ПО для сокращения риска возникновения аварий и техногенных катастроф при осуществлении производственной деятельности промышленными предприятиями. Что нужно будет делать: - Писать backend микросервисных web-приложений; - Реализовывать API для клиентов; - Проектировать и создавать микросервисы; - Принимать участие в принятии решений; - Делать код-ревью. Что есть у нашего будущего коллеги: - Опыт разработки от 5 лет; - Опыт разработки на Go от 2х лет; - Опыт разработки на Python; - Опыт работы с технологиями gRPC/protobuf и подобными; - Опыт работы с любыми реляционными базами данных (PostgreSQL, MySQL и пр.); - Опыт работы с Cassandra очень важно, с Neo4j - будет большим плюсом; - Опыт работы с highload и большими БД; - Опыт разработки и построения микросервисов. Предлагаем: Вилка 300-380 000 руб. на руки; - Гибкий удаленный или гибридный график работы 5/2 (если хотите гибрид или офис - г. Москва, м. Динамо); - Трудоустройство по ТК РФ, полностью белая. При желании можно ИП и другие формы; - ДМС, льготы сотрудникам, готовы обсуждать пожелания. За подробностями @innakazimirova
Из другой страны можн работать? ЗП получать в крипте, евро, долларах, главное не в рублях можно?
Niko
писали же, что до 10 Мб по значению, больше - по ссылке
А есть обьяснение, почему почти все делают так, что конструкторы структур по типу NewFoo возвращают указатели? Типа расчет на то, что всякие клиенты httpClient, бд, логеры и тд больше 10мб весят? или какие то архитектурные причины?
Алексей (Яснотор)
обычно методы меняют объект
Не методы же, а конструктор. Это функция, которая возвращает готовый объект. У меня сложилось впечатление, что обычно такие конструкторы действительно появляются , когда структура становится большой и связанной с другими данными из библиотек. Поэтому да, предполагают что размер уже большой или станет больше, сразу и указатель делают.
Алексей (Яснотор)
Еще вроде влияет наличие методов у структуры
eugene
Еще вроде влияет наличие методов у структуры
Т.е если методы ( c *Client) допустим, то и возвращаться должен *Client в конструкторе?
Алексей (Яснотор)
Т.е если методы ( c *Client) допустим, то и возвращаться должен *Client в конструкторе?
Нет, я вот тут читал , там про производительность тоже https://habr.com/ru/companies/otus/articles/574838/
Алексей (Яснотор)
Применительно к парсингу json всяких может быть еще отличие. Если где-то различные структуры прилетает в одном месте или часть свойств необязательные - то удобнее когда указатель сразу, так в случае отсутствия будет nil.. ну и т.д.
Aleks
Правильно написано, нужен баланс между передачей по значению и по указателю. Нужно в зависимости от требований по высокой нагрузке, выбирать лучший вариант бенчмарками, профилированием, снижение аллокаций памяти и т.п. Умение это все делать нужно при использовании Go, и этому нельзя научится на C++ или Python. Отчего и оборжали нелепые требования вакансии c утра.
Aleks
С чего это нельзя научится этому на C++?
Оптимизировать количество передачи по ссылке/значению под Гошный рунтайм и сборщик мусора, и легкие треды? Потому там нету всего последнего. :)
Aleks
А еще в Go нет thread.stop(). Придется дожидаться самозавершения. И таких особеностей много.
Dmitry
Оптимизировать количество передачи по ссылке/значению под Гошный рунтайм и сборщик мусора, и легкие треды? Потому там нету всего последнего. :)
передача по ссылке и позначению видна и на плюсовых профилировщиках, разница лишь в том что есть Gc
Aleks
передача по ссылке и позначению видна и на плюсовых профилировщиках, разница лишь в том что есть Gc
Зачем на C++ передавать по значению если нет сборщика мусора, но есть константность?
Sergey
Оптимизировать количество передачи по ссылке/значению под Гошный рунтайм и сборщик мусора, и легкие треды? Потому там нету всего последнего. :)
Вообще копирование структуры в новый стек фрейм тоже приводит к трате процессорного времени, равно как и копирование результата выполнения функции при возврате. Sweet spot для каждого конкретно случая нужно находить тестами по идее, но я сильно сомневаюсь, что он в районе 10 мб, т.к. это создаст ебовейший траффик памяти, оптимизируется ведь hot path обычно. Ну разве что в гошке есть какие-то хаки с неявной аллокацией в хипе, или ссылкой на структуру выше по стеку с семантикой copy-on-write, но таких нюансов я к сожалению не знаю, может, корифеи гошки подскажут. З.Ы. в шарпе эта граница находится на уровне несколько десятков байт, т.к. рантайм умеет передавать такие параметры в новый фрейм через регистры процессора, но это чистая теория и в реальной работе мне не пригождалось.
Aleks
Вообще копирование структуры в новый стек фрейм тоже приводит к трате процессорного времени, равно как и копирование результата выполнения функции при возврате. Sweet spot для каждого конкретно случая нужно находить тестами по идее, но я сильно сомневаюсь, что он в районе 10 мб, т.к. это создаст ебовейший траффик памяти, оптимизируется ведь hot path обычно. Ну разве что в гошке есть какие-то хаки с неявной аллокацией в хипе, или ссылкой на структуру выше по стеку с семантикой copy-on-write, но таких нюансов я к сожалению не знаю, может, корифеи гошки подскажут. З.Ы. в шарпе эта граница находится на уровне несколько десятков байт, т.к. рантайм умеет передавать такие параметры в новый фрейм через регистры процессора, но это чистая теория и в реальной работе мне не пригождалось.
Иногда еще народ страхуется, передает по значению ради константности отсутствующей.
Рома
Приветствую всех) отзовитесь, пожалуйста, кто работает/работал в вб (не ниже мидла желательно). Один вопросик есть
Александр
Компания ИВА, лидер на российском рынке видеоконференцсвязи ищет архитектора для создания ИВА ИД и ИВА мессенджера. Опыт создания высоконагруженных решений. Опыт golang более 3х лет Проживание РФ Опыт работы с nats, grps, PostgreSQL, golang, swagger, elastic Зарплата 400-450 в руки Необходимо будет проектировать сервисы на бумаге, вместе с аналитиком оформлять спеки. Есть бронь. За подробностями в личку
Denis 🤖
Правильно написано, нужен баланс между передачей по значению и по указателю. Нужно в зависимости от требований по высокой нагрузке, выбирать лучший вариант бенчмарками, профилированием, снижение аллокаций памяти и т.п. Умение это все делать нужно при использовании Go, и этому нельзя научится на C++ или Python. Отчего и оборжали нелепые требования вакансии c утра.
На одном собесе меня спросили про вопрос передачи указателей и данных. Я сказал что в целом пофиг, можно передавать все по значению или по указателю. Все равно все сожрёт сеть и бд. А если нет, то надо уже профилировать и смотреть где конкретно можно выиграть, совсем не факт что это будет передача указателей) Но этот ответ интервьюера не устроил, он хотел конкретные цифры услышать. Это реально кринж.
Алексей
Работаю в вб) но мою позицию мне никто не сообщал)
Случайно стала сто, хотя думаешь что работаешь мидлом
Oksana
Работник пвз?
Go разработчик
Алексей
Go разработчик
Из какого языка перешла? Или с 0 на го?
Alexander
Go разработчик
Коллега считай)) А на каком направлении?
Oksana
Из какого языка перешла? Или с 0 на го?
Бекенд на ноде писала 3 года
Oksana
Эээ
Если имеешь ввиду проекты, то пока меня кидают туда сюда) я только месяц работаю)
Maksim Pozharskiy
Бекенд на ноде писала 3 года
По ЗП пришлось даунгрейдится?
Oksana
Как там в ВБ вообще? Хаос? Жесть? 😂
В плане организации процессов пока что для меня хаос, но коллеги очень хорошие, все помогают
softland
Подразделение OPP
Теперь знаю к кому обращаться по одному из вопросов... Мы к вам за списком офисов ходим ))
Aleks
Бесит что в языке нет нормальной иммутабельности
Согласен, константность как в C бы не помешала.
Denis 🤖
Странные ребята. :) Типа как анекдот. https://pikabu.ru/story/vsegda_aktualnyiy_anekdot_954387 Цирк с конями продолжается на собесах. :)
да ребята просто любят самоутверждаться на собесах. они полжизни только код видели в мониторе, а теперь им дали возможность почекать знания других. они принимают это буквально как вызов)
Aleks
да ребята просто любят самоутверждаться на собесах. они полжизни только код видели в мониторе, а теперь им дали возможность почекать знания других. они принимают это буквально как вызов)
Одно дело если действительно проверяют знания, другое что требовать точность в абстрактных цифрах без конкретной ситуации и прогона бечмарков...