Доброго времени суток.
Я студент (3 курс), планирую начать карьеру в качестве embedded разработчика. Обучаюсь по профилю "Системы и технические средства автоматизации", имею опыт программирования микроконтроллеров AVR (Atmega16, Atmega 128), PIC (PIC18), stm32(F103,F411), среды разработки: Keil, MplabX,Avr studio. Умею работать с интерфейсами и периферией МК: spi, uart,i2c,DMA, GPIO, таймеры. Освоил стек сетевых протоколов TCP/IP. Также имел небольшой опыт программирования под ПК на c++ (QT,VS), когда-то давно писал на PHP (может быть где-то пригодится). Обладаю теоретическими знаниями аналоговой и силовой электроники (на уровне чтения, моделирования и расчета схем), теории управления (знаю что такое ПИД регулятор и как он работает),навыками разводки печатных плат (в Altium) . Умею работать с паяльником и осциллографом.
А теперь вопросы.
1. Как обстоит дело с началом карьеры в данной области, если до этого не имел опыта работы и писал только в образовательных целях или ради интереса? Каким образом получить опыт реальной разработки, если в вакансиях на всем известном сайте уже требуют опыт 1-3 года (для начала можно и за еду поработать)?
2. В каком направлении стоит продолжать развиваться и какие технологии осваивать?
3. Стоит посмотреть в сторону АСУ ТП и разработке под ПЛК (данная сфера также интересна), если "да", то как лучше начать карьеру в этой области?
PS: город СПб
Судя по тому что Вы умеете, вы уже начали карьеру)
1.1 А как должен относиться работодатель к сотруднику который не очень опытен? Либо в Вас увидят "звёздочку" и возьмут в сурьезную разработку. Либо устроитесь в шарашконтору.
1.2 Наверное пойти в шарашконтору/фриланс. Либо показать что уже сейчас не уступаете с опытом в 1-3 года.
2. В интересном! Реально, зачем искать себя в цифре, если интересен аналог? Даже на лампах можно заработать. А вот заниматься не интересным, максимум 3 года
3. Может и стоит. Но что вы подразумеваете под "разработке под ПЛК"?
Делать свой PLC? - только в академических целях (илисмотрите в сторону Beremiz/OpenPLC)
Писать код для PLC (IEC61131-3)? Возможно денег немного больше можно найти, но скукатище (по мне). Как там с ООП?
Пилите интересные для себя проекты. Выкладывайте на github. Заведите бложек, можно ведь пока и на vash_domen.wo..p..s.com Ну Вы поняли где?))
Перспективные направления? Наверное embedded linux. Сколько стоит сегодня "10 МГц" процессора? А сколько 5 лет? Скоро процы на которые можно накатить линуху будут по цене
2-3 ардуин. Но нужно подождать, а пока готовиться)) Это моё имхо!
Александр Булитеров, Спасибо за ответ. А как лучше найти конторы которые захотят иметь дело с начинающим специалистом, или откликаться на интересные вакансии в надежде, что заметят?
Про ПЛК, да, имею ввиду программирование на языках IEC61131-3, разработку SCADA систем. На базе ВУЗа есть возможность попрактиковаться с PLC Siemens.
С ООП знаком, но конкретно в разработке с использованием ООП опыта маловато(кодил простенькие TCP и FTP клиенты). Насчет embedded linux вас услышал, буду смотреть м развиваться)
Как попасть на работу embedded разработчиком? - во время обучения у тебя наверняка были курсовые проекты, которые ты документировал в отчет, графики, картинки и все такое. Если ты реально делал эти курсачи и они являются твоими личными разработками, то это и есть твой билет на работу. Просто показываешь им, они удивляются твоим потенциалом и приглашают на работу).
На моем реальном опыте работы был МК LPC1765 на ядре Cortex M3, и мягко сказать, не повезло в этом плане. Данный МК хоть и могущий камушек, но достаточно сложный в настройке. Но все равно, большая вероятность того, что будешь работать с PIC и STM32. В моде сейчас Cortex M3.
Английский язык - это очень при очень надо. Datasheet, stackoverflow и зарубежные книги - это основные источники информации.
Программировать нужно уметь как бог. Язык Си в частности. Понимание, как код связан с адресным пространством в памяти МК, а также принципов ООП, state machine, паттернов проектирования и UML.
Зарплата в первое время наверно будет копеечная, тысяч 15-20 в месяц при графике 5/2, потом может быть станет больше (лично не успел проверить).
Литература по теме:
1) Стивен Прата "Язык программирования C. Лекции и упражнения"
2) Цифровая схемотехника и архитектура компьютера. Дополнение по архитектуре ARM | Харрис Дэвид М., Харрис Сара Л.
3) «Погружение в Паттерны Проектирования» автор Александр Швец
Да, embedded уже начат.
Держать глаза и уши открытыми. Профильные фирмы могут сидеть прямо в здании ВУЗа. "Купцы" могут на кафедру зайти или регулярно посещать ВУЗ. Электронные карты иногда могут дать наводку на фирму недалеко от дома/ВУЗа (что-б далеко не бегать).
Частники - интереснее и прибыльнее, госы - могут дать опыт "бумажной" работы (нормоконтроль и всякое такое) или стать "прививкой" от самих себя или хорошей строчкой в резюме.
Как-то так...