Планирую перейти с 1С на Golang на сколько реально в 42 года?
Работаю 1с программистом с начала 2000х годов. Окончил МИРЭА по прикладной информатике, Английский язык уровень Intermediate учусь в онлайн школе английского, готовлюсь к первому экзамену PET, продумываю варианты смены сферы деятельности.
Причины: Надоело сама 1С, хотелось бы развития, отвязаться от Российского рынка труда (геополитика и зависимость от экономики России), зарабатывать больше денег, работать в более лучших условиях (в IT компаниях комфортнее работать чем на заводе 1с ником ).
Рассматривал для себя несколько вариантов, основные это Golang и Flutter.
Flutter - Плюсы , на мой взгляд легче найти подработку не бросая основной работы по 1С, познакомлюсь с ООП и основными паттернами (при необходимости перескочу на другой язык), минусы мало вакансий на HH, люди переходящие во Flutter как правило уже знакомы ООП и прочими "прелястями" да и язык на Java С# похожи.
Go - плюсы, молодой язык (конкуренция опытных разрабов меньше), сильно отличается от Java С# соответственно разраб переходящий из Java С# и других языках будет так же как я тупить (возможно поменьше), разработка Бэкенд , а это запросы которые активно в 1с используются, rest сервисы, и еще основной плюс количество вакансий существенно выше по сравнению с Flutter , основной минус это не возможность совмещать работу с 1С, так как подработки думаю на бекенде найти почти не реально.
Как думаете насколько 1С нику в 42 года, реально на Go перескочить? если за год прокачать тему, создать домашние проекты которые можно показать работодателю можно сразу на 2-2.5к заскочить? сейчас у меня 2.5к на 1С проседать не хотелось бы... или без просадки это из области фантастики?
Заранее спасибо.
Еще добавлю плюс, Go реально прост на мой взгляд "1С ника", для изучения.
Подправлю вопрос.
Как работодатели обычно относятся к новичкам которым 40+ ?
Просадка неизбежна. Вам внизу верно пишут, что после 1с вам многое с нуля нужно будет изучать, даже если вы освоите основы самостоятельно, что-то там запилите какой-нибудь проект вы будете на уровне джуна:
1) Обучение, выход на подработку с совмещением ( в среднем 3 часа, 237 дней*3=711 (2.6 календарных лет выхода на джуна), допустим вы будете учиться каждый день 360*3=1080 потребуется 1.75 для выхода на джуна)
2) Джун это по навыкам от года. 1 год - 237 рабочих дней это от 1896 часов опыта работы.
Грубо говоря года через два у вас появится возможность соскочить, но но с просадкой.
Как работодатели обычно относятся к новичкам которым 40+ ?
- всех интересуют навыки и опыт, способность решать задачи в интересах бизнеса.
Судя по тому, что вы путаете фреймворк с языком, а го выбрали только потому, что считаете, что другие на нём будут тупить, ваш план обречён на провал. Если честно, не встречал среди программистов ни одного 1с-ника, а мой программерский стаж больше, чем возраст 1с. Я знаю, что такие в природе существуют, но не встречал. Вполне возможно, что у вас получится, но теория вероятностей работает против вас :).
И попробуйте, всё же, разобраться чего вы всё-таки хотите. Сама постановка - флаттер проитив го, неверная. И "пойду в го потому, что я решил, что там все тупить будут" - ещё более неверная. А вообще, начните с питона.
Действительно, дело даже не в простоте языка. При написании программы на Го приходится больше думать об алгоритмах. На мелочах будет тратиться время из-за отсутствия чего-либо в стандартных библиотеках, тогда как во всяких Ruby можно написать что-то в одну строчку.
Да и сам язык используется обычно для улучшения производительности имеющихся проектов и это сам по себе фактор, влияющий на требования к соискателям.
В Ruby - раз-два - и в продакшн. А на Го придется попотеть. Даже такие банальные вещи, как удаление элемента из слайса - нетривиальны.
Есть разные способы перейти на другой язык без просадки по ЗП, но работать придется много. Возможно все.
И 42 года - не тот возраст, чтобы сильно переживать за восприятие возраста.
Важный момент - Вы не новичок, у Вас уже есть большой опыт в предметной области, а новая технология - это всего лишь инструмент.
И еще, со стороны нанимателя скажу. не скромничайте по ЗП - уверенный в себе человек с опытом даже в относительно новой для себя области производит хорошее впечатление, а вот, например, неплохой php-шник, просящий зарплату ниже рынка в области 1С (оказывается, бывает и такое), на днях вызвал у меня много вопросов.
Будет тяжело. 1С - это не язык общего назначения, он достаточно специализирован, большую часть придется изучать с нуля. Для разработчика изучение нового языка - это просто освоение другого инструмента (если, конечно, у него есть хорошая база), но даже в этом случае не всякий работодатель адекватно воспринимает такой переход (могут относиться как к джуну). Для 1С тем более.
20 лет на одном месте - это очень много. Таким людям сложнее осваивать новое, не только новый язык, любые новые подходы. А если компания за 20 лет не меняла свои подходы в разработке, то еще хуже.
Многие работодатели смотрят на возраст. Некоторые кичатся своим "молодым проактивным коллективом". Некоторые тимлиды считают, что после 30, 35, 40 способность к обучению падает вплоть до необучаемости. Но если город большой, то обязательно найдете компанию, где весь коллектив 40+, либо компанию где нет подобных стереотипов.
В конечно итоге, все зависит только от вас. Если не утратили способность изучать новое, и есть желание, то все получится.
Не могу сказать, насколько 1Снику в 42 будет легко перейти в го, но с питона на го перейти в 25 оказалось крайне просто.
Go — очень простой язык, без сложной системы типов, без большого количества костылей и подводных камней. Но что более важно, сейчас Go специалистов на рынке дефицит, а крупные игроки вроде мейла, озона и подобных пылесосят весь рынок. Так что, без работы не останетесь, если за эти 20 лет вы не остались джуном. 2.5к — это примерно зарплата мидла, так что, можно предположить, что просадки не будет. Опять же, если вы за 20 лет не остались джуном.
Foromt, вы не будете начинающим (с той же оговоркой, что вы не вечный джун). Язык — это всего лишь инструмент со своими особенностями. Сейчас я изучаю Rust, но я не джун на расте, а всё тот же разработчик, который чуть хуже знает язык, но не менее хорошо, чем раньше, знает фундамент, архитектуру, подходы. Clean Architecture она во всех языках Clean Architecture. Также, как и DDD. И байтики всё те же лежат в оперативной памяти.
Go — очень простой язык, без сложной системы типов, без большого количества костылей и подводных камней.
достаточно там подводных камней, хватает того что в яве/шарпе управление многопоточностью - отдельная книга, а в гошечке 'пишете go и оно магически само там работает'....вот хочется руки поотрывать таким упрощальщикам в документации когда микросервис сжирает всю память из-за утечки
Игорь, ничего там магического нет, планировщик там хоть и очень круто написан, но достаточно простой. То, что вы не изучили вопрос - это исключительно ваша недоработка, а не языка. Утечки памяти сами по себе тоже не появляются, у вас болтаются зомби-горутины.
И книг нет, как у джав, именно потому, что низкоуровневые сложности решает за программиста планировщик и, в большинстве случаев, справляется отлично.
То, что вы не изучили вопрос - это исключительно ваша недоработка, а не языка.
я вот как раз вопрос изучил и знаю
у вас болтаются зомби-горутины
об утечках горутин
и претензии у меня не к языку, а к тому что вокруг него создают атмосферу простоты и 'он очень круто написан и все решает за программиста отлично'
в итоге джуны-миддлы пишут тяжелые сервисы которые в отвтественный момент падают в проде и люди начинают судорожно гуглить в интернете основы которые должны знать независимо от языка, но не знают потому что 'в этом языке великий гугл и могучие погромисты все сделали за нас'
мне вот разок пришлось даже исходники ядра линукса ковырять из-за неожиданного поведения гошечной либы где 'всё идеально круто' и вникать в то как работает уже собранная программа на низком уровне
я могу еще примеров надергать, но тут в холивар всё превратится
повторюсь, претензии у меня к тому что язык рекламируют как очень простой, но забывают упомянуть что основы надо знать всё равно, потому что мне сопли подтирать за джунами-миддлами уже надоело както которые вообще не в курсе как ядро работает, как ФС, как БД и как языки программирования их используют когда они магические заклинания свои пишут надеясь на планировщик
Игорь, пожалуй, не соглашусь. Хотя, вряд ли дальше есть смысл спорить, мы говорим об одном и том же разными словами:)
Когда говорят «го простой» не имеют ввиду, что это 300к в месяц через неделю обучения. Я имею ввиду то, что он проще языков рядом. Да, concurrency в го непростое для понимания в целом (и для понимания домохозяйками в частности), но при этом это самый простой способ «сделать несколько вещей в одно время» из мне известных, будь то IO или CPU. В соседних языках это сделать ещё сложнее.
Roman Kitaev, все верно, Go проще чем Си, и изучать его, зная другой язык на хорошем уровне гораздо проще. Но 1С это не другой язык, это не python, 1С - это больше работа с базой данных, с неким визуальным оформлением. Об этом Игорь наверное и пишет, что уже имея хорошую базу - да, перейти легко, но 1С не даст такой базы, т.к. это специализированный язык, а не язык программирования общего назначения.
Думаю у вас все получится. Самое главное, по-моему, верить и стараться. Тем более не из автомеханика же собрались переквалифицироваться, опыт есть. Просто придется видимо освоить много нового, судя по описанию ответов выше. Зато, сколько потом откроется возможностей!
Желаю вам успехов!
Foromt, тоже 1С. Только у меня вводные другие, молод и "глуп" еще :)
Для начала с английским надо решить проблему.
Тоже в сторону Go присматривался. Уж больно красиво о нем товарищ один глаголил. Теперь он работает на основной работе с Go, а для души до сих пор на C# пишет.
Sgr_A, повезло если молод, все дороги открыты. Зачем изначально в 1С пришел? 5 лет назад магистратура заканчивал уже тогда на него как на "зашквар" смотрели, народ в основном в java, мобильные разработки ломился, на стенах полно зазывающих плакатов на стажировку и работу висело.
Foromt, после окончания службы за спиной был только колледж. Никуда брать не хотели, ибо опыт был самый базовый - ничего нормального не преподавали. Это сейчас в том колледже Java, C# и пр. преподают, состав преподавателей молодеет и тенденция другая. А нам тогда только FoxPro, каплю C и C++, и кучу всякого типо сетей, менеджмент проектов и бла-бла.
1С сама нашла, когда уже отчаялся и готов был за любую работу браться, хоть продавцом.
В этом году заочно закончил бакалавриат, на стендах тоже куча зазывающих листовок на кучу разных технологий и прочего )
Foromt, тут стоит напомнить, что для внедренца возраст будет не отрицательным фактором, как для джуна, а напротив, добавит солидности перед клиентом ;)
Я сам 2 года назад перешёл с 1с на go. И сразу скажу, что задачу ты ставишь себе не реальную на 200-250. За год ты можешь стать максимум мидлом, но не как синьором. Здесь вопрос не в изучении самого языке, а в ещё нужно изучить разные библиотеки, фреймворки для работы, например, с базами данных, брокерами сообщений и т.д. Всё это можно изучить, но не за год.
На джуна. Искал по резюме в течении 4 месяцев. Даже если компания тебе откажет, она всё равно сохранит твои данные и при следующем наборе сперва с тобой свяжутся.
darst, сколько собеседований прошел? на каких условиях взяли?
200-250 разве это зарплата синьора? судя по вакансиям на HH в данном диапазоне как раз мидлы находятся.
Foromt, в общем 5-7 уже не помню.
Мидл начинается от 150.
Ты же хочешь на 250 сразу. Это мидл с заявкой на сеньора или начинающий сеньор.
Нужно понимать, что за эту зп ты должен понимать как работает go под капотом, как работает postgresql, чтобы писать оптимальные запросы, какие индексы есть, для чего они и как их использовать. Уметь работать с брокерами сообщений. И за 200-250 ты сам должен понимать как спроектировать микросервис.
Спасибо за ответ. Если правильно понял, на 150 через год подготовки, вполне реально на старте просить? Как работодатели относятся к бывшим 1с никам, считают 1с карьеру за опыт в IT ?
Нормально относятся. Вообще без предубеждений. Работадателю главное, чтобы с новым стеком технологий ты справлялся, а кем ты был до этого вообще без разницы. Хоть дворником. Главное покажи, что ты знаешь go и сопутствующее окружение.
По поводу опыта, это спорный вопрос. То что ты программировать умеешь это понятно. Но дело в другом. Не все в 1с, например, напрямую пишут запросы в базу на sql. Явно нет опыта с NoSql базами данных. Явно нет опыта с mongo, redis, rebbitmq, kafka и т.д.
Вы поймите главное. В 1с ты пишешь только на языке 1с. В go же, ты пишешь как минимум на 2-3. Это сам go, sql(postgresql), nosql(mongo). Это примерный минимум, что нужно знать.
Джуниор - это ты можешь писать оптимальные запросы
Мидл - это ты можешь спроектировать БД, составить для неё индексы. Разбираешься какие есть индексы и для каких целей они подходят