Drivers or WinForms?
От: StreamT  
Дата: 09.03.07 08:44
Оценка: :)
Перед мной стал вопрос в каком направлении далее развиватся. Дело в том, что одно время я программировал в комманде C# разработчиков, а через какое-то время перешел на С/С++, системное программирование, разработка драйверов.
Это был как переход из одного мира в другой, где смысл и приоритеты в жизни координально отлчичаютя друг от друга. Что было очень важно в высокоуровневом программировании, стало абсолютно неважным в низкоуровневом и наооборот.
Так в разработке приложениий под NET или вообщем прикладных приложений очень важно знать: паттерны проэктированния, уметь рисовоть UML диаграмы; писать i++, а не ++i, не atoi() a int.Parse() и т.п, так как главное в коде красота, элегантость, понятливость. В более низкоуровневом программировании про паттерны книжки никто не читает, т.к. знать внутреннее устройство ОС и понимать ее функционирование здесь более важно; необходимо думать об управлении памятю; использовать ++i, вместо i++, т.к. это сэкономит пару тактов процессора.
И вот, собсетвенно, вопрос: какое выбрать для себя направление, как основное, в чем дальше углубляться, в драйвера и системное программирование или в прикладное? Этот вопрос я задаю именно в форум "О работе" потому, что этот вопрос интересен мне в первую очередь с этой точки зрения. Насколько мои навики в той или иной области будут востребованы, в какой из области я в будующем смогу получать лудший доход, став специалистом в ней?
Re: Drivers or WinForms?
От: Quintanar Россия  
Дата: 09.03.07 08:55
Оценка:
Здравствуйте, StreamT, Вы писали:

ST> И вот, собсетвенно, вопрос: какое выбрать для себя направление, как основное, в чем дальше углубляться, в драйвера и системное программирование или в прикладное? Этот вопрос я задаю именно в форум "О работе" потому, что этот вопрос интересен мне в первую очередь с этой точки зрения. Насколько мои навики в той или иной области будут востребованы, в какой из области я в будующем смогу получать лудший доход, став специалистом в ней?


В системном программирование выше job security, но значительно меньше работы. И платят в Москве не выше среднего в данный момент.
Лучше заниматься и тем и другим, в плохие времена писать драйвера, а в хорошие — клепать на С++, Java, C#. Знания ОС просто не могут устареть в принципе, по сравнению со свежим чуваком у тебя всегда будет очень большое преимущество, поскольку ты уже все знаешь и можешь сразу работать. В прикладном программировании такого нет.
Re: Drivers or WinForms?
От: 0x8000FFFF Россия  
Дата: 09.03.07 09:04
Оценка:
Тут правильно сказано — программисты драйверов нужны редко, но профи платят им в среднем от $3000-4000.
Явщикам судя по всему за "штамповку" на обороте платят много — там $2000-3000
А С++ никам — которые пишут базовые вещи, которые потом оборачивают в яву, шарп или еще что — платят не так много, так как их проекты не для потока... тут — до $2500
Re: Drivers or WinForms?
От: Smetanin Россия  
Дата: 09.03.07 09:16
Оценка:
Здравствуйте, StreamT, Вы писали:

ST>Перед мной стал вопрос в каком направлении далее развиватся.


А цели какие? Уточняющий вопрос: кем ты себя видишь (хотел бы быть) в идеале через два года? Через пять, десять лет?
May the source be with you!
Re[2]: Drivers or WinForms?
От: StreamT  
Дата: 09.03.07 09:30
Оценка:
Здравствуйте, Smetanin, Вы писали:

S>А цели какие? Уточняющий вопрос: кем ты себя видишь (хотел бы быть) в идеале через два года? Через пять, десять лет?


Ваш вопрос заставил меня хоршенько подумать и на него сложно однозначно ответить. В будующем я хотел бы и дальше программировать, решать сложные и интерестные задачи, вне зависимости от языка, платформы, технологии. Главное — что-бы было интерестно. В данный момент мне интерестно изучать программирование драйверов под Windows, хотя, к сожалению, мое текущее задание на работе с этим совсем не связано, поэтому не могу сразу применять полученные знания на практике
Re: Drivers or WinForms?
От: stump http://stump-workshop.blogspot.com/
Дата: 09.03.07 09:53
Оценка: 4 (3) -1
Здравствуйте, StreamT, Вы писали:

ST> Это был как переход из одного мира в другой, где смысл и приоритеты в жизни координально отлчичаютя друг от друга. Что было очень важно в высокоуровневом программировании, стало абсолютно неважным в низкоуровневом и наооборот.

Take it easy!
Жизнь полна более приоритетных вещей, чем программирование (низкоуровневое или высокоуровневое). Надо работать ради жизни а не жить ради работы.

ST> И вот, собсетвенно, вопрос: какое выбрать для себя направление, как основное, в чем дальше углубляться, в драйвера и системное программирование или в прикладное? Этот вопрос я задаю именно в форум "О работе" потому, что этот вопрос интересен мне в первую очередь с этой точки зрения. Насколько мои навики в той или иной области будут востребованы, в какой из области я в будующем смогу получать лудший доход, став специалистом в ней?


Как уже здесь говорили, низкоуровневых программистов требуется на несколько порядков меньше чем высокоуровневых. Поэтому, добиться успехов условно говоря в "драйверах" гораздо сложнее чем в прикладных областях. Второе, это перспективы. В низкоуровневом программировании они выглядят так: программист — хороший программист — гуру. Все, дальше, куда бы ты не рос с программированием придется покончить.
У прикладников линейка развития подлиннее, потому что их больше и есть необходимость выстраивать управленческую пирамиду: программист — старший программист — ведущий программист. Далее развилочка — либо в управленцы либо в технари. Управленцы это: team lead — project manager — product (program) manager — CEO. Технари это: team lead — designer — architect — expert — CIO (не всегда). Причем вплоть до планки "expert" всегда есть возможность поковыряться в коде.
Понедельник начинается в субботу
Re: Drivers or WinForms?
От: minorlogic Украина  
Дата: 09.03.07 10:45
Оценка: 3 (1) +1
На мой взгляд , изложенные предпосылки — не верны, не говоря уже о технических деталях (++i)
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[3]: Drivers or WinForms?
От: Smetanin Россия  
Дата: 09.03.07 10:46
Оценка:
Здравствуйте, StreamT, Вы писали:

ST>Здравствуйте, Smetanin, Вы писали:


S>>А цели какие? Уточняющий вопрос: кем ты себя видишь (хотел бы быть) в идеале через два года? Через пять, десять лет?


ST>Ваш вопрос заставил меня хоршенько подумать и на него сложно однозначно ответить. В будующем я хотел бы и дальше программировать, решать сложные и интерестные задачи, вне зависимости от языка, платформы, технологии. Главное — что-бы было интерестно. В данный момент мне интерестно изучать программирование драйверов под Windows, хотя, к сожалению, мое текущее задание на работе с этим совсем не связано, поэтому не могу сразу применять полученные знания на практике


Какие цели — такой и ответ, собственно.

Если цель — карьерный рост, то надо идти туда, где больше народа (в прикладное программирование в больших конторах). При этом отдавать себе отчет, что карьерный рост подразумевает менеджмент с уходом от программирования.

Если цель — средние деньги и стабильность, то куда-нибудь в крупный банк.

Если надо много денег прямо сейчас — надо идти САП внедрять.

А если надо, чтобы было интересно — надо идти туда, где интересно.
May the source be with you!
Re: Drivers or WinForms?
От: _FRED_ Черногория
Дата: 17.03.07 09:36
Оценка:
Здравствуйте, StreamT, Вы писали:

ST> Перед мной стал вопрос в каком направлении далее развиватся. Дело в том, что одно время я программировал в комманде C# разработчиков, а через какое-то время перешел на С/С++, системное программирование, разработка драйверов.

ST> Это был как переход из одного мира в другой, где смысл и приоритеты в жизни координально отлчичаютя друг от друга. Что было очень важно в высокоуровневом программировании, стало абсолютно неважным в низкоуровневом и наооборот.

А в чём ещё дело, кроме как в нижеследующем?

ST> Так в разработке приложениий под NET или вообщем прикладных приложений очень важно знать: паттерны проэктированния, уметь рисовоть UML диаграмы; …


Как-то ты не с той стороны подошёл к паттернам. NET, Java или PHP — писать программы _правильно_ надо на любом языке и для люьбых целей. Ни за что не поверю, что при написании драйвера не наёдётся применения Singleton-у или там IoC.

ST>…писать i++, а не ++i, не atoi() a int.Parse()


Здесь уже верно, так как особенности языка\платформы.

ST>и т.п, так как главное в коде красота, элегантость, понятливость.


Задумайся? Зачем в коде на C# или на VB красота? ИМХО, просто потому, что красота должна повсюду нас окружать и на C#, например, она достигается очень не сложно. Но быть такого не может, что бы на C++ это было бы невозможно. Тут я не большой спец, но уверен, что меня поддержат в том, что существует не мало отлично архитектурно продуманных и достойно реализованных библиотек на этом языке.

ST>В более низкоуровневом программировании про паттерны книжки никто не читает, …


Это трудности отдельно взятых людей. Возможно, свой код они просто ни с кем не делят или не привыкли\не умеют это делать. Но при написании чего-то, что будет использоватьлся не тобой а неизвесно кем, этот номер (с игнорированием паттернов и других правил хорошего тона) завершится фиаско.

ST>т.к. знать внутреннее устройство ОС и понимать ее функционирование здесь более важно; необходимо думать об управлении памятю; использовать ++i, вместо i++, т.к. это сэкономит пару тактов процессора.


Ну что поделаешь, в любой работе есть трудности.

ST> И вот, собсетвенно, вопрос: какое выбрать для себя направление, как основное, в чем дальше углубляться, в драйвера и системное программирование или в прикладное? Этот вопрос я задаю именно в форум "О работе" потому, что этот вопрос интересен мне в первую очередь с этой точки зрения. Насколько мои навики в той или иной области будут востребованы, в какой из области я в будующем смогу получать лудший доход, став специалистом в ней?


В той, в которой _сможешь_ отлично себя проявить. Для этого придётся учиться и много стараться. А для этого придётся любить свой труд. Значит, надо просто выбрать то, от чего получаешь большее удовлетворение.
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Drivers or WinForms?
От: DerBober США  
Дата: 17.03.07 09:56
Оценка:
Здравствуйте, stump, Вы писали:

S>У прикладников линейка развития подлиннее, потому что их больше и есть необходимость выстраивать управленческую пирамиду: программист — старший программист — ведущий программист. Далее развилочка — либо в управленцы либо в технари. Управленцы это: team lead — project manager — product (program) manager — CEO. Технари это: team lead — designer — architect — expert — CIO (не всегда). Причем вплоть до планки "expert" всегда есть возможность поковыряться в коде.


Линейка развития зависит лишь от организационной структуры конторы. А продвижение по линейке — от возможностей отдельных индивидов.
Re: Drivers or WinForms?
От: AlexGin Беларусь  
Дата: 18.03.07 22:56
Оценка:
Здравствуйте, StreamT, Вы писали:

ST> Перед мной стал вопрос в каком направлении далее развиватся. Дело в том, что одно время я программировал в комманде C# разработчиков, а через какое-то время перешел на С/С++, системное программирование, разработка драйверов.

ST> Это был как переход из одного мира в другой, где смысл и приоритеты в жизни координально отлчичаютя друг от друга. Что было очень важно в высокоуровневом программировании, стало абсолютно неважным в низкоуровневом и наооборот.
ST> Так в разработке приложениий под NET или вообщем прикладных приложений очень важно знать: паттерны проэктированния, уметь рисовоть UML диаграмы; писать i++, а не ++i, не atoi() a int.Parse() и т.п, так как главное в коде красота, элегантость, понятливость. В более низкоуровневом программировании про паттерны книжки никто не читает, т.к. знать внутреннее устройство ОС и понимать ее функционирование здесь более важно; необходимо думать об управлении памятю; использовать ++i, вместо i++, т.к. это сэкономит пару тактов процессора.
ST> И вот, собсетвенно, вопрос: какое выбрать для себя направление, как основное, в чем дальше углубляться, в драйвера и системное программирование или в прикладное? Этот вопрос я задаю именно в форум "О работе" потому, что этот вопрос интересен мне в первую очередь с этой точки зрения. Насколько мои навики в той или иной области будут востребованы, в какой из области я в будующем смогу получать лудший доход, став специалистом в ней?

Тут есть еще одна очень важная тонкость: Теория без практики мертва!
Обязательно нужно практиковаться!
А очень часто получается, что в этой практике Ваш текущий РАБОТОДАТЕЛЬ НЕ ЗАИНТЕРЕСОВАН!
Так, если заниматься разработкой драйверов, то это надо делать в конторе, где есть ВСЯ НЕОБХОДИМАЯ ТЕХНИКА для этого.
Занимаясь в отрыве от технической базы (я раньше интересовался данным вопросом — драйверописанием) почти что ничему не научиться...
В то же время, для прикладного программирования капитальные затраты на рабочее место на порядок ниже — есть компьютер и работаем с ним!
Здесь в домашних условиях можно достичь определенного профессионализма.

Конечный выбор естественно за Вами, но специалист без практики — не специалист
Re[3]: Drivers or WinForms?
От: stump http://stump-workshop.blogspot.com/
Дата: 19.03.07 06:31
Оценка:
Здравствуйте, DerBober, Вы писали:

DB>Линейка развития зависит лишь от организационной структуры конторы. А продвижение по линейке — от возможностей отдельных индивидов.


Дело не в этом. "Прикладники" неизбежно при продвижении вверх по линейке развитя, приближаются от чистого программирования к потребностям прикладных областей.
"Системщики" в своем развитии продвигаются только "вглубь" используемых технологий.
Отсюда и разница в открывающихся возможностях. Это не зависит ни от конторы ни от твоих возможностей.
Понедельник начинается в субботу
Re: Drivers or WinForms?
От: Valery A. Boronin Россия linkedin.com/in/boronin
Дата: 21.03.07 02:30
Оценка:
приветствую

вот по теме что поиск из своих закромов подкидывает (кстати часто стали этот вопрос задавать ): Re[3]: Разработка драйверов под Винду
Автор: Valery A. Boronin
Дата: 03.03.07


ну и там по ветке еще ИМХО
Автор: Valery A. Boronin
Дата: 06.03.07
— в свете которого не могу рекомендовать Вам драйверный путь — ибо он тяжел. точнее очень тяжел. Если только чувствуете что это дело нравится — тогда можно подумать дергаться ли.

с С/C++/ATL/WTL/MFC и даже немного шарпными GUI штуками я тоже умею управляться, на случай если есть сомнение в адекватности — так вот однозначно скажу:

1. после определенного уровня в ядре уже ничего на этой земле (land, user которая) не страшно хотя работа сложная бывает везде! — с этим не спорю, обращаю внимание всех. просто ее уже не боишься, чтобы не попросили. Уже понимаешь четко что вопрос — только в ресурсах \

2. очень сложно найти место где Ваш труд будет пропорционально и адекватно (на Ваш ессно взгляд) вложенному труду оценен (в любом смысле — денег или нематериальном) не толко в нашей стране, но и за пределами. Причины довольно ясны и описаны как выше по ветке так и в моих ссылках выше — уж в этом отношении на формочках можно ого-го как скакнуть и главное быстро и относительно легко.

3. шутка или нет — не скажу, но подумайте и об этом тоже: говорят есть такой маленький момент — типа GUI ценится, бывает, начальством гораздо благосклоннее (по психологическим причинам?) ибо глазами можно посмотреть на окошки-формочки, а вот что там происходит в недрах, куда никогда не проникает луч GUI, на что уходят месяцы труда — не то что увидеть, а просто понять\объяснить бывает трудно человеку без соотв. подготовки

Т.е. в WinForms Ваш прогресс увидят и оценят быстро — да и самому всегда приятнее когда видно результат труда, кто бы спорил Собственно, куда клоню — для каких-то типов\темпераментов\характеров это важно, а в ядре там определенное упорство нужно и легко довольно (поначалу-то точно) вообще постоянно в депрессии пребывать по причине разных беспросветностей которые и глазу-то удовольствия как раз не несут никакого — пока наконец картина мира не начнет (вдруг!) из крупиц добытых непосильным трудом складываться. Короче, не все выдерживают, а время, потраченное, как известно — не вернешь.

Короче drivers vs winforms — очень разное время, так сказать, входа на рынок. А также цена вопроса (усилий). Нужно ли оно Вам — уже думайте сами.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[2]: Drivers or WinForms?
От: StreamT  
Дата: 21.03.07 11:27
Оценка:
Здравствуйте, Valery A. Boronin, Вы писали:

VAB>1. после определенного уровня в ядре уже ничего на этой земле (land, user которая) не страшно хотя работа сложная бывает везде! — с этим не спорю, обращаю внимание всех. просто ее уже не боишься, чтобы не попросили. Уже понимаешь четко что вопрос — только в ресурсах \


Полностью с вами согласен, особенно по высше приведенном высказывании. Раньше, когда я слышал на свойей фирме что-то на подобии: "Виртуальный диск FTP сервера", "Удаленный мониторинг за ПК в обход файрволов и антивирусов" или "Перехват операций открытия файла на уровне драйвера диска", то я абсолютно не понимал как-это делается. А теперь — понимаю, более того, могу посмотреть исходники.
Осталось только научиться самому делать подобые вещи...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.