Стоит ли в моём случае пытаться перейти из Embedded в Backend?
Живу в Москве, работаю почти 14 лет в госконторе программистом драйверов на чистом C. Железо и операционка у нас свои. Собственно в задачи нашего отдела входит, чтобы наша ОС работала на нашем же железе, для этого пишу драйвера и ищу ошибки на стыке софта и железе.
Получаю копейки (около 80К после налогов).
Вакансий по встраиваемым системам маловато и по деньгам так себе. Проблема ещё в том, что у меня специфический опыт работы под нашу ОС и железо, а не под Linux и микроконтроллеры например. Точнее сама разработка ведётся на Linux, но пишу я для нашей маленькой операционочки, которая собирается под Linux и загружается на наше железо. Т.е. знание Linux у меня уровня продвинутого пользователя, но не программиста ядра.
Вот думаю, есть ли у меня шанс переучиться и найти работу на Java или Go?
Возраст уже 36 лет, умственные способности оцениваю как средние, софт скиллс - как низкие.
Или в таком возрасте это уже нереально?
Вроде бы я не вайтишник, у меня более-менее профильное образование и есть опыт программирования на C, но C - это процедурно-ориентировпнное программирование, а не ООП, как Java. Собственно ООП в C ограничено структурами с указателями на функции в качестве методов. Никаких шаблонов проектирования вроде всяких там фабрик и прочего не применяется.
Так что опыт программирования на C, мне кажется, не очень мне поможет.
Нет и опыта в современных методологиях разработки и тестировании.
Типичное моё задание выглядит так: руководитель отдела говорит мне "тут не работает, разберись почему"/"поставили новый чип памяти, добавь в драйвер его поддержку"/"аппаратчики сделали новую железку, напиши для неё драйвер". Я делаю задание, при необходимости общаясь с аппаратчиками, сам же проверяю и если вроде бы работает - делаю коммит в svn и на этом всё.
Вот и весь процесс разработки :)
Когда-то изучал в университете SQL, Delphi, HTML и вёрстку, из интереса изучал C#, но знания, естественно, поверхностные и уже подзабылись и устарели.
Мне кажется, в таком возрасте меня никто не позовёт на собеседование на джуниора, а для миддла у меня нет релевантного опыта.
Насколько я знаю, сейчас на вакансию джуниора приходит больше 200 откликов, наверное будут выбирать из тех, кто моложе.
Вот думаю, стоит ли пытаться перейти в разработку бэкенда на Java или Go, или остаться в своих железках и развиваться лучше в этой области, например в ядре Linux?
К слову, схемотехники я толком не знаю (только в том объёме, который необходим программисту), поэтому могу работать только в крупных фирмах, где есть разделение на аппаратчиков и программистов, как на моей работе.
Хочется всё-таки быть востребованным и получать нормальные деньги.
Сейчас у меня ощущение, что я нахожусь в изолированном от нормального программирования маленьком загончике. Все передовые технологии и методологии разработки проходят мимо меня.
Из плюсов с точки зрения карьеры, мне кажется, что нет дискриминации по возрасту. Железками часто занимаются дядки от 40 и старше, молодые выбирают более перспективные и денежные направления.
есть ли у меня шанс переучиться и найти работу на Java или Go?
14 лет вы даже самостоятельно не увлекались Java или Go. Шансы и возможности есть всегда, вопрос в том сможете ли вы? Вот была интересная статья "Как стать Java разработчиком за 1,5 года" https://habr.com/ru/post/439432/
Но за год-два параллельно с основным местом работы – вполне реально.
Мне кажется, в таком возрасте меня никто не позовёт на собеседование на джуниора
Переучить язык можно. Go например учится за пару недель.
Проблема в том, что в собесах вас будут прогонять по языку не так уж и много. Помимо языка нужно знать кучу всего другого.
Попробуйте открыть вакансии на популярных сайта и посмотреть. Много из требований вы не знаете?
А еще можно, например, в Гугл вбить "вопросы на собеседовании по Го" (или Джаве).
Открываете топ 5 сайтов и смотрите насколько незнакомыми вам кажутся вещи о чем там спрашивается. Ну и от этого можно отталкиваться.
Переучить язык можно. Go например учится за пару недель.
Рома, я тебе 200 раз говорил, еще когда мы в банке работали... ты не сравнивай себя в свои 23-25 лет и этого 36-и летнего динозавра. Разница между 25 годами и 36 -- пропасть.
Ты поймешь в свои 40 лет, что ты был не прав, когда сказал, что я ленивый. Такие же "ленивые" были коллеги в КЕБе, которые писали в стиле пхп4. Это не лень, это банальная усталость от работы и кодинга + возраст + жизненные приоритеты.
Ты в 40 лет, те в 2036, тоже не будешь учить новый ЯП, а обленишься, выплатишь импотеку и тебе уже ничего не надо будет, а будешь спокойно кодить на старом никому не нужном GO, а челы 23 лет будут кодить на суперновых технологиях.
Проблема в том, что в собесах вас будут прогонять по языку не так уж и много. Помимо языка нужно знать кучу всего другого.
а еще проблема в том, что когда он увидит, как профи Сарваров кодит в свои 25 и как автор в свои 36-37, у него пропадет мотивация, появятся комплексы, ибо в команде он будет ниже уровня 23-25 летних ребят, как белая ворона и, извините, лох.
Вот думаю, стоит ли пытаться перейти в разработку бэкенда на Java или Go
в моем профиле ссылка, вводи в стоку слово "возраст-айтишника". там аргументы в виде нескольких статей. читай внимательно и статьи и комментарии. там описано то, что ты написал относителньо джуна в 36 лет и многое другое, о чем еще не подозреваешь. да ты банально не вытянешь уже в свои годы. конечно, можно прочитать оптимистичные статьи и жить в мире розовых пони, но... скорее не вытянешь. даже на языке php, который чмырят все, кому не лень, не вытянешь, ибо сейчас трудозатраты для обучения на любую технологию довольно значительные - ничего "легкого" уже давно нет. даже стать профессиональным верстальщиком в 2022 - это не как в 2009.
остаться в своих железках и развиваться лучше в этой области, например в ядре Linux
верно
Сейчас у меня ощущение, что я нахожусь в изолированном от нормального программирования маленьком загончике. Все передовые технологии и методологии разработки проходят мимо меня.
по сравнению с 99% программистов ты просто мега гуру компьютерных наук.
А если вопрос перефразировать, например, а можно ли стать Backend программистом с ЗП в 100 000 рублей, если учесть все что написанно у автора? Или все, автор зависит от его текущей работы до смерти, как закроется его конторка так и на покой?
Наверное вы попали в какую-ту галеру либо занимались не своим делом, в итоге у вас произошло профессиональное выгорание.
К слову, особой разницы у себя в обучаемости между 25 лет и 36 лет не заметил.
Единственное, с возрастом не хочется выходить из зоны комфорта.
Когда ты безработный выпускник, ты готов на любую работу, даже если что-то будет не так(не пройдёшь испытательный срок, тебя обманут и т.д.), ты всё равно ничего не теряешь.
А тут у меня есть пусть и малооплачиваемая, но комфортная и стабильная работа.
А если на новой работе я, например, не пройду испытательный срок, то что делать? Найду ли я со своим узким опытом работу?
сменил десятки разных мест работ с разными проектами, а не сидел на одном месте
К слову, особой разницы у себя в обучаемости между 25 лет и 36 лет не заметил.
а ты пробовал, что бы так красноречиво говорить? Пока из текста видно, что работаю почти 14 лет в госконторе программистом драйверов на чистом C. Это все из достижений. Как выше написали, сегодня недостаточно один ЯП знать, с тебя потебуют кучу баз, инфраструктуры, докеры и тд. Выучишь - тогда поговорим о способности обучаться в 36 лет почти с нуля.
А тут у меня есть пусть и малооплачиваемая, но комфортная и стабильная работа
80к для человека пишущего низкоуровневые драйверы.... при этом говнокодеры на пхп получают в среднем 150-200, не говоря уже о других языках.
Если с обучаемостью все ок, почему 14 лет слил в унитаз?
Северное Сияние, попал в зону комфорта, стабильная и в целом интересная работа рядом с домом, хороший начальник, переработки бывают редко. Плюс по характеру я интроверт, люблю стабильность. Вот и просидел 14 лет.
Тут, например, пишут что C норм и вакансии есть на hh. Ваш опыт уж точно лучше чем мой админский - будет легче учить второй язык чем мне, как мне кажется, а я уже в процессе и что-то даже получается. Возможностей для самообразование сейчас много, нужно дать себе время и возможность попробовать - вдруг не понравится java, потом составить план со сроками и действовать. Потом искать. Желаю успехов.
Если что, админ может вырасти в DBA или DevOps и получать на уровне разработчиков. Правда, я толком не понял, чем DevOps отличается от хорошего админа :)
Flamevlas, ничем, если этот админ умеет программировать на языке проекта на котором он работает, читать чужой код и знает хотябы: кубер, докер, ансибл, гитлаб + ещё кучу всего из зоопарк технологий внутри этого. Нужно много запоминать иногда без какой либо логики, просто оно вот так работает и всё. А этих технологий, которые просят принять их такими какие они есть очень много и в этом для меня главный минус и мотивация больше уделить внимание программированию. DevOps точно идёт к упрощению, появляются новые "надстройки" над технологиями, которые упощают процесс, часть задач попроще, например - написания докерфайлов уже ложиться на плечи разрабов, чего раньше не было. А программирование мне видится именно как навык, которые меняет мозги и даёт понимание универсальных вещей вроде структур данных, логики, циклов, условий и т.п.
1. Чтобы свичнуться нужно учиться год или два. Если до пенсии года 2-3 тогда может уже и нет смысла. Посчитайте, сколько вам еще работать до пенсии.
2. При переходе на другой стек может происходить падение дохода, но вам это не сильно грозит.
3. Посмотрите на вакансии "Программист C++" - может это будет самый низкий порог входа для вас.
4. Порог входа в бэкенд достаточно высок. Для изучения рекомендую изучить платные курсы типа "Программист Go". Там не только синтаксис, но и брокеры сообщений, БД, докер, gRPC... Часто такие курсы можно найти бесплатно, или взять из них оглавление и уже изучать отдельные уроки самостоятельно.
Еще можно попробовать найти бесплатные курсы от компаний, которые периодически проводятся, после этих курсов отбирают лучших.
5. Посмотрите на смежные области - типа программирование 1С.
Мне давно за 50. Работа у вас интересная. Если есть ощущение застоя - идити дальше и все, но с рельс не сходите. Углубляйтесь в системное программирование, изучайте ядро linux и тд. Вот для примера почитайте https://github.com/ujjwal-kr/system-programming-roadmap
неужели НИЧЕГО из предложенного вам не интересно и не нужно (и не современно в вашем понимании)? По мне так хватит на 5 жизней. А возраст у вас самый продуктивный. Так что - работайте и обрящите )
PS Не для рекламы - посмотрите вакансии "Ауриги" по направлению "СИ и линукс". Будете приятно удивлены.