2. Расскажите пожалуйста про ваш стек
Это то, чем пользовался, не все, что вспомнил. Также много c чем экcпериментровал и пробовал применить. Долго в IT, начал заниматся не потому “там больше платят” (как некоторые сейчас), а из сильного интереса.
8. Есть ли знание одного из языков программирования: Go, Java или C/C++?
C (C98) это язык/компилятор с которого начал, вместе с Linux/FreeBSD. По прежнему его использую, это как основа. В том числе писал подключаемые модули, например для Perl X509 библиотек.
Без С никак. Куча написанного на нем, и это же язык системной раработки. И встаиваемых систем, наряду с С++.
С++ один любимых, OOP, куча хороших контейнеров в STL. Начиная с С++13 автовыведение типов, умные указатели сделали разработку приятнее.
Но. Ситуация омрачается тем, что большие возможности и большое количество любителей мета-программирования порождают тяжелые для анализа библиотеки (one header libs, в частности boost), в которых ошибки и узкие места можно искать неделями, пытаясь воспроизвести ситуацию.
Опять же разные подходы к написанию кода, разные стили…
Golang использую с 2013 года, и сейчас это любимый компилятор. Считаю, чтобы по настоящему его понять и оценить, надо достаточно много написать кода на С.
Одна их самых любимых вещей, это легкая сериализация/десериализация, за счет хранения информации о типах в obj и пакете reflection. Во всех остальных языках это всегда немного закат солнца вручную. Web сервисы, да и вообще сетевые сервисы писать легко, и даже дефолтный web сервис показывает неплохие характеристики (по нагрузке похожие характеристики получал только для Koa2 Node.Js в “кластерном” варианте) Умные указатели, выведение типов, автоматический dereferencing указателей, обработка паники, отличная трассировка, … очень много приятных вещей, хорошая базовая библиотека.
Фактически, при аккуратной разработке, я получил только только 3-4 segfault ситуаций-mistackes за пару лет, который исправил за меньше чем за час каждую.
Стековая обработка ошибок, думаю, довольно разумный вариант по сравнению c exception c том же С++, Java & Co.
Java: На Java писал очень мало, больше дорабатывал/правил. Было, переписывал сервисы с Java на Golang, и даже получалось компактнее по коду в 2-3 раза (!, при беседе могу показать один из корпоративных примеров).
В общем я пишу или хотя бы пробовал писать на всем, что шевелится. Для меня это инструменты, которые используются под цели, в зависимости от проекта и его составляющих (например, наличие унаследованных решений). Естественно, какие-то инструменты нравятся больше.
3. Расскажите пожалуйста про нынешний проект
Последний проект это стартап, с нуля. Раcпределенная система хранения данных с интерфейсом-api совместимым S3 Amazon, и естественно аналогичным поведением. При хранении пользовательских создаються избыточные блоки, позаоляющие восстановить данные при отказе одного-дух серверов, и конечно предусмотрен контроль целостности блоков контрольными сумами. Проект относительно средней+ сложности.
Я написал
1. Почему задумались о переходе?
Работу на проектом пришлось прервать из того, что все семьей заболели COVID, и я в тяжелой форме. Не помер. Сейчас уже полностью восстановился.
Последний проект уже уехал вперед, я поговорил с владельцем как идут дела, но догонять уже как-то не то.
4. Как быстро готовы приступить к работе после принятия оффера?
Сейчас я начал поиск. Вот как несколько дней. Приступить могу сразу, естественно надо будет разобраться с тем что есть, и чего нет.
5. Ваши зарплатные ожидания?
Последний контракт был $3700. Если будет где-то в этой области, я не буду плакать.
6. Понимание как работают телекоммуникационные сети, протоколы видеостриминга и телефонии, операционные системы, был ли опыт в этой сфере?
Ответ ниже.
7. Есть ли опыт в сфере видеостриминга или видеоконференцсвязи;
Операционные системы. Я вырос на Unix, FreeBSD & Linux, немного SunOS. Довольно много ковырялся в коде, правил, отлаживал, много чего собирал и по прежнему собираю их исходников, со всем балаганом зависимостей.
Коммуникации. Я их строил, и делал сервисы для контроля-управление инфраструкты. Городские, кампусные, областные, корпоративные.
С 2004 года я пытался и занимался инстяляцией видео-систем, в частности для местных больниц, и меня поддерживали местные замы и сами врачи. Но - недостаточная полоса и качество коммуникаций на то время, относительная дороговизна решений, инертность приводила к тому продвигалось плохо. Ну, пожалуй кроме федеральных проектов, где мы были локальными субподрядчиками и выполняли довольно скромную роль.
Плюс, я довольно активно занимался internet телефонией, SIP и H.323 (которая, пожалуй, RIP). Но поскольку продукты компаний зачастую не соотвествали в протоколах даже в рамках одной линейки, приходилось влезать в самые детали.
В основном, решения на базе Asterisk. Разработки было не очень много, где-то править, интегрировать и отлаживать.
Вы также можете получить информацию из Олег Бородин, программный инженер, разработчик
С уважением, Бородин Олег.