| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Технологии: Разные > Какие технологии выбрать для освоения/изучения |
| Автор: Курсант 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) - Силовая/аналоговая электроинка. - Математика, статистика (закончить какой-нибудь мехмат, т.к. знание матана очень помогает, особенно для разработки динамических устройств, каких-нибудь регуляторов). - Обработка сигналов. - Обработка изображений, распознавание образов. - Нейронные сети. Собственно, вопрос больше по ЯП и библиотекам, хотя и пинок в сторону нужной технологии тоже пригодится... Куда смотреть? Что сейчас в тренде? Что изучать, чтобы не оказаться с "мёртвым" языком? Сколько их в своё время было? Мало кто дожил до сегодняшнего дня. |
| Автор: Курсант 13.1.2018, 17:29 | ||
Спасибо за ответ! Честно говоря, программировать восстание кофе-машин мне не очень хочется Хмм... А может и WinAPI кому-нибудь нужен? |