Навчання розробці вбудованих систем без нагляду [закрито]


10

Я закінчив цього року і влаштував свою першу роботу з програмування на С, управлінням Linux та розробкою вбудованих систем. Я дуже задоволений своєю роботою, але боюся, що не стану успішним програмістом у цій галузі. Я зараз самотній розробник своєї роботи, а мої товариші по команді є експертами з обладнання, немає кого, щоб мене керували і не навчали способам вбудованого програмування, я повинен все вивчити самостійно.

Тож ось мої запитання. Чи можна стати хорошим розробником вбудованих систем, починаючи з позиції початкового рівня без будь-якого нагляду старших програмістів? Як я міг стати таким (можливо, за допомогою форумів, каналів IRC, хороших підручників)? Скільки часу це займе?

ОНОВЛЕННЯ: Поки що я отримав кілька корисних відповідей, але зрозумів, що мені потрібні певні вказівки на цю тему.

Отже, ось мої конкретні запитання:

  1. Які хороші підручники можна використати для вивчення вбудованої розробки?
  2. Які спеціалізовані інтернет-спільноти можуть бути корисними для починаючого вбудованого розробника (не рахуючи загальних матеріалів, таких як переповнення стека, Reddit тощо)?
  3. Які найцікавіші блоги, присвячені вбудованій розробці?

Відповіді:


3

Ви праві, що перебування у вашому випадку зробить щось трохи складніше. Однак існує багато рішень для вирішення вашої проблеми.

  1. Спершу спробуйте брати участь у таких громадах , але, можливо, більш спеціалізованих у вашій галузі. Беручи участь, ви збільшите свої знання, а ще важливіше - познайомитесь з іншими людьми.

  2. Спробуйте взяти участь у кодових таборах або будь-якій ініціативі, де ви реально зустрічаєте інших розробників, як ви. Легше ділитися знаннями, коли перед вами є людина.

  3. Попросіть свого начальника бронювати вам принаймні 10 днів тренувань на рік . Тут не потрібно пояснювати переваги, якщо він відмовляється, він дурний.

  4. Спробуйте зайти на 1 до 2 конференції або виставки, пов’язаних з вашим бізнесом.

  5. Намагайтеся читати технічну книгу кожні два місяці . Якщо ви можете прочитати більше, не соромтеся.

  6. Отримайте наставника . Зрозуміло, цього досягти не найпростіше.

  7. Запишіть деякий час на тиждень, щоб експериментувати та займатися дослідженнями та розробками , пробуючи нові технології речей, які ви читаєте у своїх книгах, спільноті, виставках, тренінгах тощо ... Виділення часу, щоб практикувати те, що ви навчились, ДУЖЕ важливо.

  8. Сьогодні ви єдиний розробник, але завдяки вашій наполегливій роботі компанія, в якій ви перебуваєте, зростатиме, і, ймовірно, потрібно буде наймати більше людей у ​​вашому роді .


3

Я зараз самотній розробник своєї роботи, а мої товариші по команді - спеціалісти з обладнання

Не соромтеся використовувати їх як ресурс. Одна з найскладніших речей для вбудованих програмістів, які не є EE, - це комфортне обладнання. Дуже корисно вміти читати схему (навіть якщо ви не можете її розробити) та розуміти, як використовувати область для перегляду сигналів, що виходять з мікроконтролера.


0

Минув час, коли ви задали це запитання, тож сподіваюся, що ви добре підете. Ось кілька додаткових пропозицій, які, сподіваюся, допоможуть.

Обмін стеками та блоги

Дивно, але у Stack Exchange немає власного веб-сайту Q&A для вбудованих систем. Один був запропонований близько двох років тому, але він все ще перебуває на стадії зобов’язань, промахуючись без достатньої кількості людей, які підписалися на підтримку. Якщо ви хочете змінити ситуацію, перейдіть сюди:

http://area51.stackexchange.com/proposals/15961/embedded-system-design-and-development

Прочитайте пропозицію, і якщо ви погоджуєтесь, натисніть "Покласти зобов'язання", щоб взяти участь.

Linked In також має групу вбудованих систем, а також кілька тісно пов’язаних груп, які можуть представляти інтерес:

Вбудовані системи

Прошивка

ARM

Веб-ресурси

EETimes має особливості щодо вбудованих систем.

http://www.easures.com/design/embedded

Доктор Доббс є давнім другом програмістів усіх типів і чудово вміє вбудовуватися.

http://www.drdobbs.com/embedded-systems

Спільнота Arduino велика, захоплена і усунула багато перешкод для входу для вбудованого програмування, включаючи ціну та попереднє навчання.

http://www.arduino.cc/

Якщо ви розробник програмного забезпечення для жінок або непросвічений розробник чоловічої статі, у якого вбудовані системи - це в основному клуб "Good-Old-Boys", перегляньте цей сайт. Автор - випускник MIT, зробив пікантність поза коробкою (або іноді в коробці, як її зарядний пристрій для iPod Altoids), і, здається, дуже плодотворний у своєму дизайні, написанні та відео-блогах.

http://www.youtube.com/watch?v=QkmtHqsYCbw&feature=player_embedded# !

http://www.adafruit.com/tutorials

Багато постачальників матимуть велику колекцію інформаційних аркушів, приміток до додатків, доповідей та безкоштовних копій інструментів розробки. Найкращі компанії в цьому просторі включають ARM, Atmel, Freescale, intel, Microchip Technologies, NXP (раніше Phillips), TI та багато інших.

Книги

Не впевнений, чи зможете ви її знайти, але у мене є книга, на яку я думаю, що розповідає багато історії для вбудованих систем з точки зору інструментів (асемблерів, компонувальників, навантажувачів) та фундаментальних речей, які трапляються в мікропроцесорах (переривання, введення / виведення, прості менеджери завдань і планувальники, прості файлові структури). Програмування систем для малих комп’ютерів, Даніель Марцелл.

Більш сучасна довідка - вбудований праймер Linux. У ранніх розділах обговорюється обґрунтування роботи Linux на вбудованих системах, а також частина застосованої механіки. У Розділі 3 приємно обговорюються процесори + підтримка наборів мікросхем та параметри SOC (System On Chip), які можна розглядати для використання в сучасних проектах. Насправді ціль рухається, тому вона дає вихідну точку, яка є сучасною з публікацією книги. Глава 3 чудова, але її слід доповнити деякими подальшими дослідженнями в Інтернеті та обговоренням з постачальниками. Як правило, інженер-електрик та провідні інженери програмного забезпечення проекту виберуть процесор, тому, якщо ви перебуваєте в компанії та вивчаєте вбудовані системи, виконайте глибоке занурення у вибране обладнання.

Пізніші глави містять великі описи багатьох практичних аспектів орієнтації Linux на апаратне забезпечення, але партнерство з постачальником та використання досить стандартного еталонного дизайну може значно зменшити зусилля.


0

В основному це залежить від вас самих. Якщо ви готові навчитися і знаєте, як зібрати достатню кількість інформації з цього предмету, ви можете навчити себе чому завгодно. Але не всі люди однаково успішні в цьому:

Я почав у подібному середовищі, і якщо я бачу, де я зараз, на відміну від 5 років тому (закінчив інженер з електроніки, практично немає програми програмування), мені здається дивовижним, на що здатний людський мозок. Коли я починав, я ніколи не чув про шаблони дизайну, TDD, ... і ніколи не бачив код реальної програми. Зараз я досить добре знаю ці речі і знаю, як ними користуватися. Єдине, що я роблю - це пошук в мережі, читання коду від інших та деяких книг (які, знову ж таки, я знайшов у мережі), і найголовніше, писати тонни коду, налагоджувати, вчитися на своїх помилках. Навчання з помилки - це набагато кращий спосіб навчитися чомусь, а не просто читати зразок та повторювати поведінку. Це дуже дивно, але я в реальному житті говорив лише про те, що я пару разів називав би хорошим програмістом.

Єдиний інший програміст тут - це те, що ви назвали б старшим (тому що він працював на 15+ років). Він працює зовсім по-іншому, ніж я. І він досі пише покалічену форму C із класами, ніколи не використовує STL, не має уявлення про те, що таке модель дизайну тощо тощо (я, мабуть, незабаром розпочну питання з цього приводу, мені важко намагатися змусити його прийняти хоча б деякі мої методи ..)


-1 Для, можливо, добре значущого, але без підказки "Якщо ви досить розумні ...". Будь ласка, давайте ніколи не ставити під сумнів чиїсь розвідки, особливо якщо немає явних доказів. Я не думаю, що твоєю метою було бути недружнім, але для Ольги це могло здатися таким. Здається, вона опублікувала це одне питання, а потім не зробила нічого більше на Stack Exchange.
DeveloperDon

@DeveloperDon моя мета справді була не бути доброзичливою, але ти маєш рацію, коли я читаю речення зараз, це звучить так, що я сиджу на вежі, будучи все вище. Соромна річ, тому я її зняв.
вівторок
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.