>> |
No.23564
Файл: 26f725ec-37c7-11e8-8b98-2f31af407cc8.jpg -(283 KB, 1440x810, 26f725ec-37c7-11e8-8b98-2f31af407cc8.jpg)
>>22470
>Может кто в этом треде поможет с выбором направления?
Для начала скажи, что ты вообще хочешь. Заниматься этим профессионально или исключительно в качестве увлечения?
Если ты хочешь заниматься этим профессионально, то на высокую зарплату можешь не рассчитывать. Вероятность того, что инженер средней руки будет получать больше 120 тысяч рублей в месяц, очень мала - и это в Москве. Я получаю меньше 100 тысяч, например. В более удалённых от крупных городов (Москва, Петербург, Новосибирск) местах можно рассчитывать на 40-50 тысяч.
Кроме того, за то время, за которое ты до этого дойдёшь, в другой области, например, в фронтэнде, ты за это время станешь уже синьором и будешь получать, как минимум, 300 тысяч в месяц. Здесь же тебе нужно, как минимум, 2-3 года работы для того, чтобы освоиться в области, а для должности ведущего разработчика - 10 лет, а иногда ещё и учёная степень (но далеко не везде).
Далее - какие у тебя вообще имеются идеи касательно собственных проектов? Причём, я настоятельно рекомендую воздержаться от разного рода умных цветочных горшков, кормушек для кошек, выключателей освещения и прочего. Вообще говоря, если повезёт, можно научиться этому и сразу на работе, но, во-первых, далеко не везде, а, во-вторых, может получиться так, что ты будешь развиваться в каком-то одном направлении, не затрагивая некоторые другие области, которым на данном месте будет заниматься другой человек, но знания и навык в которых от тебя потом потребуют при устройстве в другое место - например, схемотехника, разработка печатных плат, о которых ниже.
Если тебя интересуют микроконтроллеры, то скажу сразу - они для нормального разработчика не то, вокруг чего всё крутится. Обычно разрабатывается устройство и уже затем принимается решение, что в нём стоит применить микроконтроллер для организации управления им - поэтому смотри ниже.
С ПЛИС ситуация интереснее. Большие частоты, огромные вычислительные мощности за счёт параллельности и заточенности описываемых модулей под конкретные задачи, низкая латентность. Основные сферы применения - обработка сигналов (включая обработку изображений и машинное зрение), коммуникации (сетевое оборудование, а также различные внутренние интерфейсы), прототипирование (прототипы разного рода ASIC - от процессоров и контроллеров до ускорителей). Также часто используются вместо микроконтроллеров там, где нужна низкая латентность и/или кастомные интерфейсы управления, особо высокой квалификации не требует, обычно в таких случаях используются CPLD, либо специальные FPGA вроде Altera MAX 10 или некоторых линеек Lattice (точных названий не знаю, т.к. не работал с Lattice). В любом из этих случаев следует ознакомиться с возможностями и особенностями ПЛИС (устройство макроячеек, DSP-блоков, блоков памяти, ввода-вывода, цепи тактирования, блоки ФАПЧ, имеющиеся в ПЛИС хардблоки вроде контроллеров DDR, высокоскоростных трансиверов, контроллеров PCIe, процессорных ядер).
Также отмечу существование цифровых сигнальных процессоров - назначение понятно из названия - ЦОС. Обычно имеют некоторое количество интерфейсов с DMA, контроллер внешней памяти, SIMD-архитектуру и операции с накоплением (MAC), позволяющие быстро выполнять операции с векторами и матрицами (т.к., в основном, всё базируется на операциях свёртки). Программируются на Си и/или ассемблере (например, с вставками, либо с использованием готовых библиотек функций).
|