Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Технологии: Разные > Какие технологии выбрать для освоения/изучения


Автор: Курсант 4.1.2018, 17:33
Всем здравствуйте! Хочу выбрать вектор развития, чтобы состояться как специалист в IT. Нужна подсказка от человека, разбирающегося в тематике...

мальчик 35 лет.
навыки:
Схемотехника: цифровая электроника, силовая электроника, проектирование распределительного электрооборудования. Т.е. самостоятельно разрабатываю принципиальные схемы, могу трассировать платы, хотя предпочитаю, чтобы этим занимались специалисты по трассировке.
Программирование - Си для ARM-микроконтроллеров, немного AVR. С++, хотя ООП использую мало, для микроконтроллеров она не требуется. Формошлёпство в C++ Builder, MS Visual C++, MS Visual C#. Немного WinAPI. Ну, знаю что такое формат PE, как грузится, где секции импорта-экспорта, примерный обзор API-функций имеется. Красивая вещь, жаль писать на них замучаешься...
Сетевые технологии - неплохое понимание стека TCP/IP (писал небольшую реализацию стека TCP/IP для микроконтроллера).
Ну, там разные UART, CAN для МК - это мелочи.
Низкий уровень: Знаком с архитектурой микропроцессора Intel, увлекался в юности. Хотя на практике кодить ничего не приходилось, но всякие там GDTR и прочие вещи мне известны, как работают и т.п. Assembler в процессе набивания руки. Т.е. язык мне известен, а вот структура проекта (макросы, секции, объявление данных) - пока не очень. Я писал на ассемблере, но не под Intel и на голое железо.
Разные мелочи, вроде HTML, PHP, SQL и прочего - считать не будем...

Чего хочет душа:
Хочется стать гуру низкого низкоуровневого ПО, да и железа. Разработать свою ОС, своё устройство с Intel или ARM-процессором. Хотя про Intel мне сказали, что это почти нереально. Как вариант - написание драйверов под Win.
Но мне кажется, что этим сейчас фиг заработаешь. Можно писать супербыстрые программы на Asm, но никому они не нужны, это затратно по времени, да и функционал будет страдать, т.к. много сил будет уходить на кодирование.

Какие варианты рассматриваю:
- Освоение классических быстрых алгоритмов. На мой взгляд, занятие почти бестолковое, в большинстве случаев хороший алгоритм от плохого пользователь не отличит.
- Освоение новых инструментов (новые для меня ЯП и библиотеки - QT, Python, Java, C# и .NET). Тут можно хорошо устроиться, но придётся вписываться в какую-то предметную область, которая может оказаться не интересной.
- Освоить ремонт материнских плат ноутбуков и телефонов (т.к. разобраться в схемотехнике у меня ума хватит, знание готовых устройств - хорошее подспорье при разработке своих).
- Системная/бизнес-аналитика. Навыков кодинга, считаю, у меня достаточно, чтобы проектировать архитектуру. Да и дело прибыльное.
- Встраиваемое ПО. Продолжать развитие как специалиста по микроконтроллерам. Со временем выйти на разработку для мобильных устройств (т.к. там тоже ARM, да и рано или поздно ARM может выйти на уровень desktop)
- Силовая/аналоговая электроинка.
- Математика, статистика (закончить какой-нибудь мехмат, т.к. знание матана очень помогает, особенно для разработки динамических устройств, каких-нибудь регуляторов).
- Обработка сигналов.
- Обработка изображений, распознавание образов.
- Нейронные сети.

Собственно, вопрос больше по ЯП и библиотекам, хотя и пинок в сторону нужной технологии тоже пригодится... Куда смотреть? Что сейчас в тренде? Что изучать, чтобы не оказаться с "мёртвым" языком? Сколько их в своё время было? Мало кто дожил до сегодняшнего дня.

Автор: LSD 10.1.2018, 12:54
Цитата(Курсант @  4.1.2018,  18:33 Найти цитируемый пост)
Хочется стать гуру низкого низкоуровневого ПО, да и железа. Разработать свою ОС, своё устройство с Intel или ARM-процессором. Хотя про Intel мне сказали, что это почти нереально. Как вариант - написание драйверов под Win.
Но мне кажется, что этим сейчас фиг заработаешь. Можно писать супербыстрые программы на Asm, но никому они не нужны, это затратно по времени, да и функционал будет страдать, т.к. много сил будет уходить на кодирование.

Ещё как нужны. Учитывая что сейчас все помешаны на IoT, люди которые программируют и разрабатывают микроконтроллеры и встраиваемые решения очень нужны.
Правда в России с этим хуже, на западе спрос гораздо выше.

Автор: Курсант 13.1.2018, 17:29
Цитата(LSD @ 10.1.2018,  12:54)
Ещё как нужны. Учитывая что сейчас все помешаны на IoT, люди которые программируют и разрабатывают микроконтроллеры и встраиваемые решения очень нужны.
Правда в России с этим хуже, на западе спрос гораздо выше.

Спасибо за ответ! Честно говоря, программировать восстание кофе-машин мне не очень хочется smile Всё-таки низкий уровень и системное программирование мне нравится применительно к ПК. Встраиваемые решения, как правило, скучные... Хотя, может быть программирование устройств IoT действительно даст выход на инфраструктуру для IoT, а там и на глобальные задачи.

Хмм... А может и WinAPI кому-нибудь нужен? smile Всё-таки, меня до сих пор не отпускает впечатление от защищенного режима процессоров Intel и от архитектуры Windows...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)