Бытует мнение, что если долго писал на одном языке, то на новом языке программист будет писать в том же стиле, что и на старом(например, код на Java или C# в стиле C++ и т.д.).
Возьмёте ли вы на работу, скажем, программиста лет 30-35, который писал системные программы на C, на должность программиста Java или .net при условии, что человек почитал про ООП и шаблоны проектирования, естественно, изучил язык и основные библиотеки, обещает быстро переучиться, просит поначалу небольшую зарплату?
Или вероятность того, что он будет писать код на новом для него языке в старом стиле(в данном случае, код Java/C# в стиле C) слишком велика и вы лучше за те же деньги предпочтёте выпускника, чем программиста с опытом, но на другом языке?
Здравствуйте, IgorVlasov, Вы писали:
IV>Возьмёте ли вы на работу, скажем, программиста лет 30-35, который писал системные программы на C, на должность программиста Java или .net при условии, что человек почитал про ООП и шаблоны проектирования, естественно, изучил язык и основные библиотеки, обещает быстро переучиться, просит поначалу небольшую зарплату?
Если есть что показать на другом языке, в идеале с открытыми исходниками и схожим с работодателем направлением работ, то многие возьмут и без понижения в ЗП и должности (личный опыт перехода с C++ на Java и обратно, скачков между платформами Windows — UNIX и прочее). Идеальный вариант если ты не меняешь сферы деятельности, хотя для перехода Си -> Java такой вариант выглядит довольно сомнительным в силу довольно слабых пересечений.
А зачем уходить с Си, ощущается предсмертная агония какого-то направления?
Здравствуйте, kaa.python, Вы писали:
KP>А зачем уходить с Си, ощущается предсмертная агония какого-то направления?
Я пишу драйвера и системные программы под ОС наподобие VxWorks, редко под Linux(в основном правка скриптов и makefile, т.к. у нас кросс компиляция под Linux, ну и простенький сетевой демон разок написал). Платят мало, т.к. работаю в НИИ, да и если что-то случиться с работой, то будут проблемы с поиском новой, т.к. я мало где востребован.
Ближайшая ко мне сфера деятельности — системный программист C/C++ под Linux/UNIX, для этого мне предстоит изучить C++ и углубиться в Linux.
Но в Москве таких вакансий немного, много конкурентов, на том же LOR'e сидят много задро увлечённых Линуксом людей, боюсь не смогу найти место под солнцем.
В C++ опять же, конкуренция со стороны 40-ка летних олдфагов, программирующих на нём лет 15.
Вот думаю, как ко мне отнесётся работадатель, если я в возрасте около 30 лет подамся в .net или Java?
Здравствуйте, IgorVlasov, Вы писали:
IV>Я пишу драйвера и системные программы под ОС наподобие VxWorks, редко под Linux(в основном правка скриптов и makefile, т.к. у нас кросс компиляция под Linux, ну и простенький сетевой демон разок написал). Платят мало, т.к. работаю в НИИ, да и если что-то случиться с работой, то будут проблемы с поиском новой, т.к. я мало где востребован.
Да, из такого направления явно надо бежать и поскорее.
IV>Ближайшая ко мне сфера деятельности — системный программист C/C++ под Linux/UNIX, для этого мне предстоит изучить C++ и углубиться в Linux. IV>Но в Москве таких вакансий немного, много конкурентов, на том же LOR'e сидят много задро увлечённых Линуксом людей, боюсь не смогу найти место под солнцем.
Вакансий не много, но закрыть их еще труднее.
IV>В C++ опять же, конкуренция со стороны 40-ка летних олдфагов, программирующих на нём лет 15. IV>Вот думаю, как ко мне отнесётся работадатель, если я в возрасте около 30 лет подамся в .net или Java?
А что не так с 30 годами? Если коллектив, как это принято говорить "молодой и амбициозный", то в такой компании всяк делать нечего. Во всех остальных случаях 30 лет ни разу не проблема, редко на собеседование (C++, демоны, логика, безопасность) приходит народ моложе. А вот 40 уже может быть проблемой по ряду причин, если только ты не можешь показать что-то эдакое, после чего тебя неистово захотят взять.
Здравствуйте, IgorVlasov, Вы писали:
IV>Бытует мнение, что если долго писал на одном языке, то на новом языке программист будет писать в том же стиле, что и на старом(например, код на Java или C# в стиле C++ и т.д.). IV>Возьмёте ли вы на работу, скажем, программиста лет 30-35, который писал системные программы на C, на должность программиста Java или .net при условии, что человек почитал про ООП и шаблоны проектирования, естественно, изучил язык и основные библиотеки, обещает быстро переучиться, просит поначалу небольшую зарплату? IV>Или вероятность того, что он будет писать код на новом для него языке в старом стиле(в данном случае, код Java/C# в стиле C) слишком велика и вы лучше за те же деньги предпочтёте выпускника, чем программиста с опытом, но на другом языке?
Тут имеется два важных момента
Положительный:
Человек интересуется новыми языками программирования, старается изучать новое (читай — расти профессионально).
Опыт разработки ПО, также как и работа в команде, могут играть немалую положительную роль.
Отрицательный:
Старый опыт разработки, на процедурном, а не ОО языке может где-то мешать разработке ПО на новом рабочем месте.
В таком случае, необходимо найти тему разработки (пусть даже бесплатно, на первых порах) на новом для тебя языке, использую новые технологии.
Причем, очень желательно сделать такую разработку, которую бы можно было показать лицом новому работодателю.
Здесь под выделенной фразой я подразумеваю — показать как само приложение (функционал + GUI), так и исходные коды к нему.
Конечно же, к собеседованию необходимо хорошо подготовиться в теоретических аспехтах нового языка и новой технологии.
З.Ы. Возраст 30-35 — это самое то, что надо.
Уже выветрилась из головы юношеская дурь, пришел жизненный опыт, и в то же время достаточно далеко до пенсии
Здравствуйте, IgorVlasov, Вы писали:
IV>Здравствуйте, kaa.python, Вы писали:
KP>>А зачем уходить с Си, ощущается предсмертная агония какого-то направления?
IV>Я пишу драйвера и системные программы под ОС наподобие VxWorks, редко под Linux(в основном правка скриптов и makefile, т.к. у нас кросс компиляция под Linux, ну и простенький сетевой демон разок написал). Платят мало, т.к. работаю в НИИ, да и если что-то случиться с работой, то будут проблемы с поиском новой, т.к. я мало где востребован.
IV>Ближайшая ко мне сфера деятельности — системный программист C/C++ под Linux/UNIX, для этого мне предстоит изучить C++ и углубиться в Linux.
IV>Но в Москве таких вакансий немного, много конкурентов, на том же LOR'e сидят много задро увлечённых Линуксом людей, боюсь не смогу найти место под солнцем. IV>В C++ опять же, конкуренция со стороны 40-ка летних олдфагов, программирующих на нём лет 15.
IV>Вот думаю, как ко мне отнесётся работадатель, если я в возрасте около 30 лет подамся в .net или Java?
А почему бы не рассматривать C++ и Windows?
1) Как ОО язык C++ достаточно богат.
2) Переход с C на C++ кажется наиболее логичным.
3) Windows, в качестве ОС — ИМХО самый распространенный вариант.
В этой нише возможен выбор: MFC или Qt.
Лично мне очень нравиться MFC, однако, навязывать тут его не буду, так как есть уже что-то посовременнее.
AG>А почему бы не рассматривать C++ и Windows?
AG>1) Как ОО язык C++ достаточно богат. AG>2) Переход с C на C++ кажется наиболее логичным. AG>3) Windows, в качестве ОС — ИМХО самый распространенный вариант.
AG>В этой нише возможен выбор: MFC или Qt.
AG>Лично мне очень нравиться MFC, однако, навязывать тут его не буду, так как есть уже что-то посовременнее.
Мне кажется, идти в MFC под Windows — наихудший для меня вариант, с учётом того, что эта технология давно устарела и моего Линуксового опыта.
Можно рассмотреть Qt для написания кроссплатформенных приложений, но программисты под .net и Java, как мне кажется, пользуются бОльшим спросом.
Здравствуйте, IgorVlasov, Вы писали:
IV>Бытует мнение, что если долго писал на одном языке, то на новом языке программист будет писать в том же стиле, что и на старом(например, код на Java или C# в стиле C++ и т.д.). IV>Возьмёте ли вы на работу, скажем, программиста лет 30-35, который писал системные программы на C, на должность программиста Java или .net при условии, что человек почитал про ООП и шаблоны проектирования, естественно, изучил язык и основные библиотеки, обещает быстро переучиться, просит поначалу небольшую зарплату? IV>Или вероятность того, что он будет писать код на новом для него языке в старом стиле(в данном случае, код Java/C# в стиле C) слишком велика и вы лучше за те же деньги предпочтёте выпускника, чем программиста с опытом, но на другом языке?
Я на предыдущей работе свою группу перевел с Delphi на C#, причем никто из нас C# не знал. Пол-года где-то ушло, пока достигли нужного уровня. Но заодно переходили от логики в форме на MVP, DI, SOLID и пр. Нам тогда как раз лет по 30 было.
Но также был дядька лет 45 у другой группе, классный спец по С, он на всем продолжал писать как как на C. Ужас, страшнее его кода я не видел.
Здравствуйте, IgorVlasov, Вы писали:
IV>Мне кажется, идти в MFC под Windows — наихудший для меня вариант, с учётом того, что эта технология давно устарела и моего Линуксового опыта. IV>Можно рассмотреть Qt для написания кроссплатформенных приложений, но программисты под .net и Java, как мне кажется, пользуются бОльшим спросом.
Насчет того, что изучать MFC на сегодняшний день не актуально — с этим бесспорно соглашусь.
Насчет Qt либо .net/Java — у меня впечатление, что это решения для разных нишевых применений.
Если C++ и Qt больше для технического применения (работа с устройствами и приборами, либо с компьютером на системном уровне),
то .net/Java больше для делового применения (документооборот, экономические расчеты, бухгалтерские/банковские приложения).
P.S. При наличии Линуксового опыта, систесное программирование для Линукс, на том же C++, вполне возможно и будет наилучшим выбором.
Здравствуйте, IgorVlasov, Вы писали:
IV>Бытует мнение, что если долго писал на одном языке, то на новом языке программист будет писать в том же стиле, что и на старом(например, код на Java или C# в стиле C++ и т.д.).
Не бытует, а так оно и есть. Если у человека кругозор широкий, то изучая новый язык он подстраивается под его экосистему.
Если узкий, 99% что будет гнуть свою линию и в том же .NET будет появляться C-подобный код (или при переходе .NET -> JS, код будет мало похож на JS)
IV>который писал системные программы на C, на должность программиста Java или .net
Всю шелуху поскипал. Попрошу код, в случае отсутствия кода дам тестовое задание.
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, IgorVlasov, Вы писали:
IV>>Кстати, поможет ли получение сертификатов найти работу в данном случае ?
A>Думаю, что нет.
Мне кажется, что поможет. При наличии серьезной организации, составлявшей тесты. Например — Qt-сертификация от Digia. Неужели наличие таких сертификатов для УЖЕ опытного разработчика, пусть и на другом языке, не облегчит вхождение в предметную область (с точки зрения работодателя)?
Здравствуйте, IgorVlasov, Вы писали:
AG>>В этой нише возможен выбор: MFC или Qt.
AG>>Лично мне очень нравиться MFC, однако, навязывать тут его не буду, так как есть уже что-то посовременнее.
IV>Мне кажется, идти в MFC под Windows — наихудший для меня вариант, с учётом того, что эта технология давно устарела и моего Линуксового опыта.
Вообще-то COBOL устарел еще давнее.
Но насколько мне известно, спецы по программированию на COBOL — востребованы абсолютно! Без ограничений. IV>Можно рассмотреть Qt для написания кроссплатформенных приложений, но программисты под .net и Java, как мне кажется, пользуются бОльшим спросом.
Освоив Qt (как переходный вариант от драйверов на С к бизнес-системам) — вы будете иметь БОЛЬШЕ скиллов при переходе потом на Java/C#
После Qt (ИМХО) проще будет осваивать технологии Java/C#, чем сразу от С-драйверов.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
IV>>Можно рассмотреть Qt для написания кроссплатформенных приложений, но программисты под .net и Java, как мне кажется, пользуются бОльшим спросом. LVV>Освоив Qt (как переходный вариант от драйверов на С к бизнес-системам) — вы будете иметь БОЛЬШЕ скиллов при переходе потом на Java/C# LVV>После Qt (ИМХО) проще будет осваивать технологии Java/C#, чем сразу от С-драйверов.
И потом встречать предложения о работе, которые можно назвать "формоклепство"?
Чтобы найти предложение об участии в разработке, например, какого-либо специализированного фреймворка нужно будет немало усилий приложить (я через это проходил). Так что C# вовсе не вершина эволюции. А вот владение популярными кроссплатформенными фреймворками (как пример в C++ Qt) похоже что становится популярнее (я об этом тему рядом открыл), и подразумевает, что фирма имеет некую, довольно высокую планку уровня разработки (тоже из личного опыта — все подобные объявления были от высокотехнологичных фирм). Вот с чем это сейчас связано — вопрос дискуссионный.
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, IgorVlasov, Вы писали:
AG>>>В этой нише возможен выбор: MFC или Qt.
AG>>>Лично мне очень нравиться MFC, однако, навязывать тут его не буду, так как есть уже что-то посовременнее.
IV>>Мне кажется, идти в MFC под Windows — наихудший для меня вариант, с учётом того, что эта технология давно устарела и моего Линуксового опыта. LVV>Вообще-то COBOL устарел еще давнее.
+100500
Вопрос только в том, что я начал освоение MFC более 15 лет назад.
К слову, занимался разработками на .NET (достаточно много), и на Java(немного).
Однако, в середине 2000х я больше занимался на .NET, нежели на C++ (на MFC иногда делал простые вспомогательные утилиты).
Теперь, в силу определенных причин исторически сложилось, что я занимаюсь техническим программированием (продукты класса SCADA).
Проект, над которым я работаю в настоящее время, начинали задолго до моего прихода в эту компанию.
И вот, поступив сюда на работу я понял: новое — это хорошо забытое старое
То есть, опыт разработок на Visual C++ (MFC) мне здесь очень сильно пригодился!
LVV>Но насколько мне известно, спецы по программированию на COBOL — востребованы абсолютно! Без ограничений.
ИМХО восторебовано все — и Си, и ассемблер, и кобол, и делфи! Вопрос в том, что одних вакансий единицы, других — сотни
IV>>Можно рассмотреть Qt для написания кроссплатформенных приложений, но программисты под .net и Java, как мне кажется, пользуются бОльшим спросом. LVV>Освоив Qt (как переходный вариант от драйверов на С к бизнес-системам) — вы будете иметь БОЛЬШЕ скиллов при переходе потом на Java/C# LVV>После Qt (ИМХО) проще будет осваивать технологии Java/C#, чем сразу от С-драйверов.
+100500
С этим я абсолютно соглашусь!
Тем более, что у ТС бекгроунд технического программиста (примерно как у меня). То есть C++ — must have!
P.S. Подводу некоторый итог:
1) Если человека тянет к техническому программированию, и есть соответствующая база, например в написании драйверов, тогда отдать предпочтение C++ (собственно — с него начинать изучение ОО языков).
2) Если человек решил полностью перейти в деловое программирование, тут ИМХО предпочтительнее C# и .NET.
3) Для мобильных приложений, верным выбором будет Java.
Здравствуйте, IgorVlasov, Вы писали:
IV>Ближайшая ко мне сфера деятельности — системный программист C/C++ под Linux/UNIX, для этого мне предстоит изучить C++ и углубиться в Linux.
Я пишу, в том числе, разный системный код под линух на чистом Си, посылаю всех, кто предлагает его писать на C++, к Торвальдсу, и горя не знаю.
В линуксном драйверописательстве C++ не нужен от слова совсем. В демонописательстве без него прекрасно можно обойтись. В каком таком системном программировании для линуха трудно обойтись без C++?
IV>Но в Москве таких вакансий немного, много конкурентов, на том же LOR'e сидят много задро увлечённых Линуксом людей, боюсь не смогу найти место под солнцем. IV>В C++ опять же, конкуренция со стороны 40-ка летних олдфагов, программирующих на нём лет 15.
Сходите в Ауригу для начала. Если вы действительно что-то умеете, они вас с удовольствием возьмут. С VxWorks'ом у них, кстати, тоже бывают проекты.