Перейти к содержанию
    

Из железячника в софтварщика

Вот и встретились оба лагеря :biggrin:...

Вы не поняли, если причислили меня к какому-то "лагерю". С паяльником с 5 лет. Основное(любимое) образование радиофак. Умею и занимаюсь всем, включая механику. Причина проста - я конструктор систем. Вот уж чьи ошибки самые суровые последствия имеют. Хотя ошибки маркетологов вообще гарантировано фатальны :).

 

 

Не могли бы развить эту мысль - очень интересно чем это обусловленно.

Полагаю большей зашоренностью в части фантазии и КРАЙНЕ слабым (ввиду банального отсутствия базового образования) владением приемами, методами и инструментами программирования. Получаются в массе этакие радиолюбители от программирования :(.

В общем-то подобное относится и программистам занявшимся железом, но таких резко меньше и не так заметно. Да и массовое железо становится все проще и проще в отличие от софта - довольно трудно сделать что-то уж совсем не так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответ!

 

Большое спасибо всем за ответы - дискуссия получилась очень интересной:) Как итог - в голове вырисовывается следующий план "обучения": фундаментальные вещи в виде фонового чтения на досуге и получение специализированных знаний в виде туториалов по вечерам. А дабы все собрать воедино - реализовать все или почти все на реальном проекте:)

 

Знания общие (чтение):

- принципы ооп

- шаблоны проэктирования (например что-то от "банды четырех")

- системщина на линуксе

- сборка линукса (LFS чтиво)

- ОСи, теория (переоткрыть для себя книги Таненбаума)

- сетевые протоколы

- подноготная usb

- цифровая обработка сигналов

 

Специализированные знания (туториалы):

- удаленка на гите

- stm32fxxx, работа с перифирией

- работа с библиотеками от st: StdPeriph, HAL - решить с чем самому удобней.

- прикрутить любую из свободно доступных rtos

- перелопатить примеры с usb, ethernet...

- примеры работы с dma

- примеры настроек системного клока

- поштудировать реализации юзер интерфейсов

- читать, читать чужой код

 

А насчет проекта я пока не придумал. Может кто-то тут подскажет идею:)

Изменено пользователем honeycomb0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А насчет проекта я пока не придумал. Может кто-то тут подскажет идею:)

 

Берите проект LEGO EV3 и все там будет.

И Линукс и STM, правда 8, а не 32, но это даже удобней.

 

Там и схема полная и софт весь в исходниках.

И операционку подучите, и с датчиками разными поработаете, и с моторами, и с коммуникационными протоколами, и с виртуальными машинами, и с принципами симуляции в LabVIEW познакомитесь.

Освоите PID управление, обработку звука, беспроводные протоколы, GUI, файловые системы и т.д.

Т.е. есть почти все что нужно для продвинутого программирования встраиваемых систем.

 

И труд ваш не пропадет даром, там всегда получите признание если будете делиться наработками :biggrin:

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чего тут придумывать, берем три платы на АРМах, соединяем в сетку, и организуем распределенное вычисление задачи, головная крутится на одной плате, остальные две на подхвате, плюс компьютер, который через веб интерфейс конфигурит три платы, а платы выводят результаты вычислений на встроенный сайт, со статистикой установленный на головной плате. Как сделаете, можно идти трудоустраиваться.

 

Я считаю что независимо от того, кто ты железячник или программист, все зависит от подхода. И педант в железе будет таким же в программировании. Преимущество и у тех и у других только в том, что они провели больше времени в своей среде.

 

А теперь почему платят больше программистам. Если тут кто то полагает что плата идет за интеллект некий то ошибаются.

Но платят незря. А вот за что, ну что тут сказать, поработайте там и там поймете очень быстро...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А насчет проекта я пока не придумал. Может кто-то тут подскажет идею:)

Осциллограф, конечно! :rolleyes: С логическим анализатором различных протоколов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

honeycomb0

Хороший план.

К LFS можно ещё Beyond Linux From Scratch.

Таненбаум cо Minix это, конечно, хорошо, но для понимания, IMHO, нужно ещё что-то типа Роберт Лав, Ричард Стивенс, Юреша Валхалия. И читать с карандашом в руках.

По ООП понравился Страуструпп и Джосьютис с STL. То есть, стоит читать хорошую классическую литературу.

Очень понравился совет уважаемого zltigo: "к программированию надо относиться СЕРЬЕЗНО и ПРОФЕССИОНАЛЬНО". Оно того стоит.

Полностью согласен с уважаемым Myron про 10 000 часов.

agregat

Поддерживаю.

А ещё лучше сделать это несколько zedboard с PicoBlaze'ами и аппаратными видеокодеками.

Дорогое, конечно, удовольствие, но зато: плюс к Вашему распределённые вычисления внутри чипа, понимание построения систем, взаимодействия ОСРВ и Linux, полномасштабное тестирование на SystemC.

Эх...Какие сейчас перед молодёжью перспективы открываются :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полностью согласен с уважаемым Myron про 10 000 часов.
10 000 часов по часу в день (как мечтает ТС) - бессмысленная трата сил и времени, т.к. это будет 10 000 дней, т.е. уйдет около 27-ми лет и без праздников и выходных. Поэтому я и советовал найти работу по новой специальности. Начать с нуля. Правда придется нищенствовать и менять работу в процессе пару-тройку раз, т.к. врядли удастся найти место где можно будет решить две задачи одновременно - набрать опыта и знаний и получать все более более серъезные задачи. Психология у начальства обычно стандартная - работает, справляется, ну и ладно. Мотивация сотрудников, как правило, начальству до фени.

 

Итак, в году (в среднем) 2048 рабочих часов. Это дает примерно 5 лет (или 10000 часов). Для сокращения лет нужно будет заниматься и дома. Но час в день сократит 5 лет всего на 15%. И то без выходных. Так что придется подключать вечера и выходные на все свободные часы. Ничего плохого в этом не вижу, т.к. работаешь на себя и свое будущее.

 

Советую свой процесс, т.к. сам когда-то так поступил. И технико-экономическое обоснование (ну или бизнес план) нужно прикинуть в любом случае перед усилиями. И становится очевидно, что по часу в день - не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Итак, в году (в среднем) 2048 рабочих часов. Это дает примерно 5 лет (или 10000 часов). Для сокращения лет нужно будет заниматься и дома. Но час в день сократит 5 лет всего на 15%. И то без выходных. Так что придется подключать вечера и выходные на все свободные часы. Ничего плохого в этом не вижу, т.к. работаешь на себя и свое будущее.

Улыбныло :). А типа после этих 5 лет можно расслабится и бить баклуши :). Фиг. Это уже НАВСЕГДА.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Улыбныло :) . А типа после этих 5 лет можно расслабится и бить баклуши :) . Фиг. Это уже НАВСЕГДА.
У кого чего болит. А что, после 30-ти лет по часу в день можно и расслабиться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полностью согласен с уважаемым Myron про 10 000 часов.

 

Миф про 10000 ч. как бы уже давно опровергнут.

Мне очень нравится как по этому поводу говорит Джош Кауфман.

 

А ардуинщики наверно легко и за 10 ч. все программирование осваивают. :biggrin:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не совсем в тему по моему. За 20 часов можно научиться печатать на клаве это мне понятно. А вот печатать со смыслом потребуется 10К часов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не совсем в тему по моему. За 20 часов можно научиться печатать на клаве это мне понятно. А вот печатать со смыслом потребуется 10К часов.

 

Каким смыслом?

Когда узнаете в чем смысл, то научитесь его воспроизводить за 20 часов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Миф про 10000 ч. как бы уже давно опровергнут. Мне очень нравится как по этому поводу говорит Джош Кауфман. А ардуинщики наверно легко и за 10 ч. все программирование осваивают. :biggrin:
Не надо путать - научиться для дома или стать профессионалом, который за это получает приличные деньги (и без протекций и связей, а также без погон и дорожного знака "кирпич").

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Ну сказано же было, что 10 тыс.ч. нужно не для того чтобы стать профессионалом, а чтобы достичь абсолютного пика формы в своей области.

Поскольку исследование проводилось именно на выдающихся специалистах.

 

Научится программировать STM32 с использованием RTOS требует реально не более 20 часов.

И после этого спокойно можно устраиваться на работу.

 

Я так в свое время освоил програмирование баз данных в Delphi и SQL.

Купил книгу, а через месяц моя программа уже крутилась в демо режиме на компьютерах гос. конторы и я был как бы профессионал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У кого чего болит. А что, после 30-ти лет по часу в день можно и расслабиться?

У меня пока не получилось.

 

 

 

Я так в свое время освоил програмирование баз данных в Delphi и SQL.

....и я был как бы профессионал.

... в как бы программировании.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...