Jump to content

    
Sign in to follow this  
honeycomb0

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

Recommended Posts

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

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

 

 

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

 

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

Edited by honeycomb0

Share this post


Link to post
Share on other sites
А насчет проекта я пока не придумал. Может кто-то тут подскажет идею:)

 

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

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

 

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

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

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

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

 

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

 

 

 

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

Share this post


Link to post
Share on other sites
А насчет проекта я пока не придумал. Может кто-то тут подскажет идею:)

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

Share this post


Link to post
Share on other sites

honeycomb0

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

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

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

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

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

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

agregat

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

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

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

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

Share this post


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

 

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

 

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

Share this post


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

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

 

 

Share this post


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

Share this post


Link to post
Share on other sites
Полностью согласен с уважаемым Myron про 10 000 часов.

 

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

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

 

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
не совсем в тему по моему. За 20 часов можно научиться печатать на клаве это мне понятно. А вот печатать со смыслом потребуется 10К часов.

 

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

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

Share this post


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

Share this post


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

 

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

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

 

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

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

 

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

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

Share this post


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

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

 

 

 

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

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

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this