|
Программист или инженер, куда двигаться дальше |
|
|
|
Jan 13 2007, 10:50
|
Группа: Новичок
Сообщений: 11
Регистрация: 27-04-05
Пользователь №: 4 550

|
Доброго всем времени суток.
Хотельсь бы узнать мнение специалистов по следующему вопросу:
При изготовлении микропроцессорной техники по моему мнению можно выделить две роли - это программист и инженер(скажем схемотехник).
Наверное хороший, высокооплачиваемый руководит проекта по разработке микропроцессорной техники должен быть специалистом в обоих областях.
Пример из жизни: у меня на работе есть отличный инженер - схемотехник, но он просто панически боиться С, С++. А я программирую то железо которое он сваял, но ничего не понимаю в его резисторах и конденсаторах(ну условно ничего, в детстве ходил на радиокружок. Я понимаю но на это уходит время и приходится консультироваться).
Насколько глубоко каждый из этих специалистов должен обладать знаниями другого. Насколько это вообще реально быть специалистом в обоих областях.
Спрашиваю потому, что стою перед выбором в дальнейшем развитии - либо углубляться в программирование драйверов устройств и ОС реального времени, либо потратить время на то, чтобы изучить инженерные вопросы.
|
|
|
|
|
 |
Ответов
|
Jan 18 2007, 11:52
|
Частый гость
 
Группа: Свой
Сообщений: 113
Регистрация: 21-10-04
Пользователь №: 952

|
1) Дадим определения. Устройство [радиоэлектроннопрограммное] простое - то, которое может быть разработано одним человеком за время его жизни. Устройство сложное - все остальные устройства.
2) Сложные устройства не могут быть разработаны одним человеком - следует из определения.
3) Осталось выяснить, нужны ли Вам - как разработчику - в Вашей жизни действительно сложные устройства и готовы ли Вы лично, в одиночку, доказывать каждый раз, что это конкретное устройство - простое. Или предпочитаете даже простые устройства делать коллективом. Но это в любом случае Ваше личное дело...
Да, по поводу темы топика. Имхо, программные части систем сейчас гораздо сложнее схемотехнических. Или так: по крайней мере, все сложные цифровые схемы сейчас описываются в стиле программирования (VHDL/Verilog/SystemC). Т.е. к выбору Вас в !какой-то небольшой! мере может подтолкнуть, что Вас привлекает больше (сложность -> ближе к программированию и работе в коллективе) или простота. Но помнить, что любая простота в любом деле еще должна быть доказана практикой, и на кону - Ваша жизнь как разработчика (ну или разочарование заказчика ;) ) И программирование, и схемотехника - подмножества гораздо более могучего термина "конструирование". Если Вы на начальном этапе выберете схемотехнику и Вас заинтересует сложность, Вы непременно придете и (или) к тепловым расчетам, и (или) к оптическим схемам, акустике, ..., да чему угодно еще. Если начнете с программирования, то его может хватить и одного ("программирование есть процесс управления сложностью" - не помню, чей (с) ); возможно, Вы придете к (условно!) "программированию людей" - управлению коллективом разработчиков.
|
|
|
|
|
Jan 18 2007, 13:58
|
старушка-процентщица
   
Группа: Свой
Сообщений: 817
Регистрация: 8-03-06
Пользователь №: 15 067

|
Цитата(yornik @ Jan 18 2007, 11:52)  И программирование, и схемотехника - подмножества гораздо более могучего термина "конструирование". Думаю, что это не так. Конструирование -это конструирование: в общем случае - формирование облика. Схемотехника (в смысле создания новых схем) -это разработка -в общем случае- разрешение совокупности неопределенностей. Между программированием и схемотехникой есть "одна большая разница" - уровень неопределенности исходных данных и способов достижения цели. D2MS
|
|
|
|
|
Jan 18 2007, 16:07
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Mirabella @ Jan 18 2007, 13:58)  Между программированием и схемотехникой есть "одна большая разница" - уровень неопределенности исходных данных и способов достижения цели. Тут я с Вами не согласен. Может быть в частных случаях это и так, а в большинстве случаев (опять же моих, т.е. с которыми я непосредственно сталкивался) програмиирование, схемотехника и описание RTL на HDL это теснейшим образом связанные задачи. И я сам решаю, что мне будет выгоднее - решить данную подзадачу методами аналоговой схемотехники, или программно с помощью цифровой обработки сигналов, или смешанно, а если ЦОС - то куда его, в ПЛИС или в процессор. И какова будет ориентировочная стоимость того или иного решения при серийном производстве изделия. Итого уже на этапе разработки схемы я определяю ориентировочную загрузку процессора, пишу все мат-модели работающих в схеме программных модулей, пишу RTL, и смотрю куда это все и как укладывается. И только потом выбираю подходящие компоненты. Даже текущая моя задача - разработка SOC, состоящего из микропроцессора и кучи периферии, включая аналоговые модули. Я уже прикидываю алгоритмы, которые будут работать в этом SOC, и анализируя потребление, площадь и быстродействие разных подходов к их реализации, выбираю что сделать чисто программно, а для чего может быть добавить какую-то полезную инструкцию в ядро МП, а что-то может быть выгоднее сделать аналогом. Да, я сам не пишу эти программы, времени на все не хватит. Я разрабатываю математику, программу пишет программист (время оно не бесконечно, и я нуждаюсь в помощи при решении задачи), и потом мы вместе ищем пути оптимизации, и что и как можно решить железно, чтобы выиграть либо копейку площади, либо микроватт энергии, либо бит ОЗУ... Кстати - разработка СБИС это простая задача на Ваш взгляд? Или сложная? Т.е. Исходные данные одни - это ТЗ. Далее надо произвести оптимизацию, согласно какому-то критерию оптимальности разложив большую задачу в связанные мелкие, решаемые каждая отдельно либо программно, либо схемотехнически, либо как-то еще (например в ПЛИС, я не уверен, что это больше - схемотехника или программирование). ЗЫ. Я отлично понимаю, что есть другие виды проектов, где например нужна ОС, отдельные приложения, там железо может стоять совершенно обособленно от софта. Но это я по своей специфике отношу к совсем другому классу устройств.
|
|
|
|
Сообщений в этой теме
binom Программист или инженер Jan 13 2007, 10:50 HARMHARM Вопрос действительно непростой. Скажу как есть у м... Jan 13 2007, 13:13 wim Цитата(binom @ Jan 13 2007, 10:50) Наскол... Jan 14 2007, 12:27 binom [/quote]
Вопрос - а зачем это нужно? Схемотехника ... Jan 14 2007, 13:27  currant [quote name='binom' date='Jan 14 2007,... Jan 14 2007, 14:05   binom [quote name='currant' date='Jan 14 200... Jan 14 2007, 16:44    currant [quote name='binom' date='Jan 14 2007,... Jan 14 2007, 17:39   wim Цитата(currant @ Jan 14 2007, 14:05) Есть... Jan 14 2007, 16:55   Harbinger Цитата(currant @ Jan 14 2007, 13:05) P.S.... Jan 17 2007, 11:15 SM На мой взгляд разработка устройства должна произво... Jan 14 2007, 13:35 Vadim Цитата(binom @ Jan 13 2007, 11:50) Спраши... Jan 17 2007, 13:36 Mirabella Цитата(Vadim @ Jan 17 2007, 13:36) Если с... Jan 17 2007, 19:04  Vadim Цитата(Mirabella @ Jan 17 2007, 20:04) Ци... Jan 18 2007, 11:53 @Ark Я, тоже, полностью разделяю подход SM к разработке... Jan 17 2007, 19:56 binom Я тут поработал, в некотором смысле, по теме задан... Jan 20 2007, 00:19 SM Цитата(binom @ Jan 20 2007, 00:19) Так чт... Jan 20 2007, 02:05  MaslovVG За время моей трудовой деятельности Неоднократно с... Jan 20 2007, 08:26
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|