В какую область в моём случае проще попасть джуниором?
От: IgorVlasov  
Дата: 26.12.22 10:10
Оценка:
Живу в Москве, работаю почти 14 лет в госконторе программистом драйверов на чистом C. Железо и операционка у нас свои собственные.
Знаю Linux на уровне продвинутого юзера, т.к. сборка образа нашей ОС происходит под Linux.

Платят мне копейки, да и в целом вакансий по встраиваемым системам мало и они так себе оплачиваются.

Думаю попробовать податься джуниором в какую-нибудь востребованную область, а то надоело сидеть в своём маленьком, оторванном от мира, загончике.

Возраст уже 36 лет, умственные способности оцениваю как средние, софт скиллс — как низкие (иначе я не писал бы тут эту писанину, а давно нашёл бы нормальную работу ).
Когда-то изучал в университете SQL, Delphi, HTML и web-дизайн, из интереса изучал C#, но знания, естественно, поверхностные и уже подзабылись и устарели.

Из направлений думаю больше всего мне понравится бэкенд.
Мобильная разработка — тоже неплохо, но, мне кажется, там работы меньше, чем в бэкенде. Для геймдева я старый, остаются в основном мобильные приложения всяких банков и магазинов, мне кажется, работы не так уж и много.
Во фронтенде, мне кажется, мне иногда придётся разрабатывать дизайн сайта. Понятно, что для этого есть дизайнер, но скорее всего будут возникать ситуации, когда дизайнер в отпуске/заболел/уволился и руководство мне скажет "тыж web-программист! Ну и сделай сайт.". А рисовать я не умею и не люблю, фотошоп открывал лет 15 назад, когда учился у университете.
1С совсем не моё.

Думаю попробовать податься в Java или Go. Java популярнее, но зато Go молодой, поэтому, как мне кажется, в Go легче попасть джуниором?
.net отпадает из-за санкций.
Есть ещё Python, вроде бы он популярный, но если копнуть глубже, то в большинстве вакансий он требуется для автоматизации и всяких научных вычислений. Для разработки он применим в основном к web на Django и таких вакансий не так уж много. Кроме того, мне больше нравятся "нормальные" C-подобные компилируемые языки. От bash и makefile я плююсь каждый раз, когда на них нужно что-то сделать.

Но проблема в том, что, насколько я знаю, благодаря множества курсов и толпе вайтишников, на позиции джуниора сейчас огромный конкурс, больше 200 откликов на вакансию.
Читал, что найти работу Android junior без коммерческого опыта сейчас сложно, в других популярных областях ситуация, наверное, не лучше.
А у меня большой возраст для джуниора, ещё и работал всё это время в единственной госконторе, а, насколько я знаю, HR не любят как летунов, так и тех, кто долго сидит на одном месте, особенно в госконторах.

Вроде бы я не вайтишник, у меня более-менее профильное образование и есть опыт программирования на C, но C — это процедурно-ориентировпнное программирование, а не ООП, как Java. Собственно ООП в C ограничено структурами с указателями на функции в качестве методов. Никаких шаблонов проектирования вроде всяких там фабрик и прочего не применяется.
Так что опыт программирования на C, мне кажется, не очень мне поможет.
Нет и опыта в современных методологиях разработки и тестировании.
Типичное моё задание выглядит так: руководитель отдела говорит мне "тут не работает, разберись почему"/"поставили новый чип памяти, добавь в драйвер его поддержку"/"аппаратчики сделали новую железку, напиши для неё драйвер". Я делаю задание, при необходимости общаясь с аппаратчиками, сам же проверяю и если вроде бы работает — делаю коммит в svn и на этом всё.
Вот и весь процесс разработки

С такими данными есть ли у меня шанс попасть в джуниоры в популярные направления, или не стоит и пытаться и лучше остаться программировать железки?

Со знаниями в embedded у меня тоже не всё в порядке — я программирую под нашу собственную ОС а-ля VxWorks и под наше же железо, кроме того, фактически не знаю схемотехнику. Ну то есть я представляю, например, на какие ножки памяти какое напряжение и с какой частотой надо подать, чтобы она заработала. А вот откуда берётся это напряжение — этого я не знаю. У нас разделение на аппаратчиков и программистов. Если железка не работает, я иду к аппаратчику.
Поэтому мне подойдут только фирмы, где есть крупные проекты и разделение на аппаратчиков и программистов. Мелкие проекты, где схемотехник и программист — один человек, мне не подойдут.
Из плюсов области — мне кажется нет дискриминации по возрасту, железками в основном занимаются дядьки за 40 и старше, молодые выбирают более востребованные и денежные направления. Кроме того, специалистов тоже немного. Ради интереса посмотрел на HH вакансии Linux Kernel — вакансий мало, но некоторые из них висят несколько недель и на них плашка "Будьте первыми", что говорит о том, что не было ни одного отклика.

Вот я в раздумьях: стоит ли пытаться вкатиться в мейнстрим (например Java или Go)? Если стоит, то в какое направление попасть проще всего? Или смириться с тем, что все полимеры уже просраны (в связи с возрастом и огромной конкуренцией на джуниорские вакансии) и остаться в железках?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.