LINUX.ORG.RU
ФорумTalks

Разрешите поныть про карьеру удалёнщика

 , ,


0

7

Мартышка вылепил себе из карьеры чёрт знает что. Мне кажется, что отдельные HR-ы смотрят на это и думают, что чел просто какие-то рандомные технологии из интернета накопипастил:

  • Кучу лет продакшена десктопного гуя с БД под винду;
  • Пару лет фронтенда на Vue;
  • Бэк на C/C++ Linux.
  • Кучу всякий мелкой фигни на C и питоне.

Мне подсказывают, что нынче время ATS, твоё CV не пройдёт, но мне очень не хочется скатываться в обман и работу в команде, набранной ATS и через собеседования «нейросетка оценивает ответы нейросетки».

Есть куча вакансий IoT/embedded, но там требуется личное присутствие. Возможно, я в итоге вернусь обратно в Польшу по этому поводу. Есть удалёнка на всякие HFT и Cloud Linux, но там «у вас меньше 10 лет опыта разработки ядра Linux, вы нам не подходите».

Моя светлая мечта — это найти свой продукт и свою команду, чтобы отвечать результатом, а не на тупые вопросы HR-ов. Но, к сожалению, из-за утизма получается у меня это из рук вон плохо — главным образом в плане «найти заказчика, которого заинтересовали бы мои услуги» или «найти пользователей, которые были бы заинтересованы в моем софте».

Последний год сидел ковырял нейросетки, но опять занимаюсь какой-то бестолковой херней вроде «каким образом Batch Normalization влияет на обучаемость CNN» — в итоге пришел к выводу, по которому уже какое-то время назад написали статью:
https://arxiv.org/abs/1811.12231
«Ну и зачем я этой херней занимаюсь?» — спросил я у себя? На что-то фуднаментальное вне исследовательских групп я вряд ли буду претендовать. Нормальные люди либо из Ollama с FAISS лепят говёные боты поддержки/базы знаний, либо оптимизации на TensorRT, Triton, ONNX разворачивают. А я вот, сижу ковыряю баги из трекера llama.cpp от нефиг делать.

Сначала думал писать в раздел работы, но какая ж тут работа? Тут скорее «помогите вернуться в реальный мир». Но, да, я ищу работу... главным образом C/C++, в идеале линукс, рекомендации смены подхода и «взяться за ум» приветствуются.

★★★★
Ответ на: комментарий от bread

на примере модных горастишек, которые наворачивают мегатонны кода

Так это от эффективных менеджеров пошло. Они же вместо того, чтобы нанять математика и к нему погромиста - нанимают только математика. А там мозги на многопоток, наследование и прочий ООП не заточены. Поэтому для вот этих олимпиадников и делают недоязычки. И тогда даже математики могут писать хоть какой-то работающий код.

foror ★★★★★
()
Ответ на: комментарий от Kogrom

приведения

Omg регалия чо уж там

Работодателю выгодней - его издержки сильнее уменьшаются чем размер «выгод» от домоседства , теле присутствие не ковидлы началось и то что удалёнка ща типо бонус показатель насколько рынок труда работодателев

qulinxao3 ★☆
()
Ответ на: комментарий от qulinxao3

рынок труда работодателев

Да. Поэтому сегодня работодатель тебе даёт удалёнку, а завтра забирает. И можно сколько угодно смеяться, но у удалёнщика мало рычагов, чтобы это контролировать. У фрилансеров больше свободы. Но у них свои проблемы.

Kogrom
()
Ответ на: комментарий от foror

Поэтому придумали ООП, а потом IoC. Ты задаёшь интерфейс, создаёшь дефолтную реализацию. Все остальные могут подменить дефолтную реализацю на свою. И если твой код от этого крешится, то значит он у тебя сделан через одно место.

IoC — это крайне общий принцип, вроде «ходить» или «вытягивать», то есть термин на рубль, который продают за миллион. Во ты написал утилиту для получения списка файлов, но ты не знаешь, кто и как её будет вызывать — это inversion of control. Значит ли это, что у нас автоматически подразумевается какое-то там ООП при этом? Вот именно, что «какое-то там» — некоторые люди считают, что в C++ нет ООП. Когда мы уточняем, про какую форму ООП и IoC мы говорим, то можно уже конкретно что-то оценивать, а не просто размышлять про мир во всём мире.

Огромный монолитный кусок, который очень тяжело кастомизировать под свои хотелки.

И тут ты такой с ноги врываешься с примером не огромного не монолитного куска софта, реализующего функциональность, подобную постгре.

byko3y ★★★★
() автор топика
Ответ на: комментарий от byko3y

И тут ты такой с ноги врываешься с примером не огромного не монолитного куска софта, реализующего функциональность, подобную постгре.

Нет инструментов, чтобы такое реализовать. На допотопных ЯП из 90-х с классическом ООП этого не сделать. На ржавом и подобных тем более.

Поэтому нет - не врываюсь, просто брезгую всю эту ИТ-шечку в руки брать.

IoC — это крайне общий принцип

Я не про утилиты со списками файлов и не про сферического коня в ваккууме, а конкрентно про использования IoC в коде. Сейчас нет ЯП, в котором оно является частью дизайна ЯП. Только костыли в виде фреймворков.

А если оно часть дизайна ЯП, то тебе не нужно наследование стороннего кода или отправки патчей сторонним разрабам для расширения дефолтной реализации конкретных классов.

Копируешь дефолтную реализацию или полностью с нуля пишешь свою и замещаешь любой нужный класс в стороннем коде. Любой класс. А не не только те, для которых выделен конкретный интерфейс. А это, вообще, тупо. Если класс предоставляет публичные методы - у него есть интерфейс и не надо ничего выделять. Мы в 21 веке живём, IDE/компилятор должен уже сам уметь выделять интерфейсы из публичных методов.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от foror

На самом деле IoC почти во всех модных языках есть из коробки. А конкретней — конструкторы с параметрами плюс интерфейсы. Ты декларируешь зависимость от интерфейса и все, тебе туда внедряют что им вздумается. Типичное dependency injection.

Какой-то service locator тоже сделать на основе словаря дело десятков строк. Потому, не совсем понятно, чего именно тебе не хватает в языке.

Я не про утилиты со списками файлов и не про сферического коня в ваккууме, а конкрентно про использования IoC в коде. Сейчас нет ЯП, в котором оно является частью дизайна ЯП. Только костыли в виде фреймворков.

Как ты себе это иначе представляешь?

urxvt ★★★★★
()
Ответ на: комментарий от urxvt

IoC почти во всех модных языках есть из коробки

В виде фреймворков есть. Тот же сервис локатор опционален и примитивен, в JDK где-то поддерживается, где-то нет. Поэтому у тебя нет возможности применить его к любому классу.

Потому, не совсем понятно, чего именно тебе не хватает в языке.

Если тебе нужно произвольный класс заменить на свою реализацию, то это тот еще геморой. К тому же каждый свой IoC фреймвор лепит, по итогу нет общего стандарта. Я уже не говорю о том, что мало кто подключает IoC или хотя бы сервис локатор при разработке библиотек и фреймворков. И в принципе это разумно. Иначе свихнёшься от этих зависимостей, в которых будет 100500 IoC движков. Ещё и разных версий.

Поэтому в ЯП это должно из коробки работать по умолчанию. А не как сервис локатор опционально.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 4)
Ответ на: комментарий от foror

Это к вопросу о том, что и логгер должен быть встроен на уровне синтаксиса отображенный на конкретный класс-реализацию. А кому не нравится, тот кастомную реализацию подставяет с заменой дефолтной реализации через IoC. А кому не нравится, что либа на себя слишком много берёт, тот обратно отключает кастомную реаелизацию на дефолтную.

А не как щас, подключаешь либы, а у каждой свой логгер, а то и два логера сразу.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 4)
Ответ на: комментарий от foror

Или допустим в той же джаве есть оверинжиниринг с классом String. Понятно это изначально кривой ООП дизайн. Отчасти из-за отсталых ООП возможностей самой джавы. Но String так просто не заменить кастомным String-ом. А когда IoC часть дизайна ЯП, то очень просто меняешь его на облегченный класс только с UTF-8 реализацией и допустим с оптимизациями под интринсики. Конкретно, только под твой веб-проект.

А если кто-то от этого начинает падать, то можно легко найти кривожопа. Такой подход дисциплинирует к грамотному использованию ООП. Обучает разрабов не лезть глубже публичного контракта стороннего класса. Подталкивает к грамотному дизайну публичного контракта.

Понтяно, что всякие олимпиадники это не осилят. Но собственно я проектирую ЯП для себя. У меня нет цели, чтобы на нём смог погромировать всякий имбицил из гугла и прочих контор с засильем олимпиадников.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от foror

Ты так и не ответил, как это могло бы выглядеть.

Да и профита я не понимаю. Ну будет у тебя

import ioc;
ioc.register(SomeLibraryPlugin.class, new MySomeLibraryPluginImpl());

вместо
SomeLibraryPlugins.register(new MySomeLibraryPluginImpl());

Не вижу, что этот контейнер упрощает.

urxvt ★★★★★
()

Сейчас я так понимаю весь интернет подобным забит, индустрия в кризисе найма it специалистов, не потому что канторам они стали не нужны или у них стали завышенные требования, а потому что hr менеджеры не справляются. Сейчас очень много крупных контор проводят постоянный мониторинг рынка вакансий, создавая фейковые вакансии, и они примимают бесконечное число откликов, проверяя отдельных людей, часто собеседование через нейронку, при этом они брать особо никого не стремятся, ели только очень повезет и попадешь в момент, когда у них реально откроется вакансия. И такие конторы перекрывают почти полностью ленту вакансий, а hr менеджеры компаний которые ищут сотрудников почти ни на что не способны, они продолжают работать как еще несколько лет назад, из рук вон плохо, не заполняют толком вакансию информацией, или вообще пишут туда полный бред, не продвигают ее, не следят за ней, не ищут специалистов в ручную, и если делают, то не понимаю толком кого именно искать, так что когда им сотрудники нужны, они доводят до собеседования считанных единиц, и обычно тех кто должен был быть отсеян еще на этапе просмотра резюме. Еще и проблема коммуникаций, hr не понимает it, а it специалисты на которых перекладывается ответственность за собеседование, не понимают ни то как и по каким критерия нужно искать специалистов, ни потребностей компании, вообще в этом не разбираются, потому спрашивают человека с годами опыта как на экзамене в пту, про ооп, алгоритмы, синтаксис, какие-то конкретные технологии и т.п., т.е. полностью бесполезные вещи. Это маразм как если бы какого-нибудь слесаря спрашивали на собеседовании как держать отвертку или как закручивать гайки, или сварщика как делать тот или иной шов, при это еще и ожидать, что они это делают ровно так как вы это представляете.

В общем сейчас все советуют забить на HR, и минуя его обращаться прямо в конторы, которые вас интересуют, выискивать нужные телефоны, просить чтобы вас переключили на нужный it отдел, или сразу на начальство, и договариваться так, или писать прямо на основную электронную почту компании, желательно также просить, чтобы ваше письмо переслали или продублировали, начальству или руководителям. Чтобы это выглядело как выгодное предложение для компании приобретение ценного сотрудника с опытом, а как не случайный безликий отклик в пуш уведомлении у hr менеджера.

Это просто мысли в «слух» от происходящего в интернете, сам пока поиском работы не занимаюсь

screamager
()
Ответ на: комментарий от screamager

а не как случайный

дуща болит - всё так - и эта(кривой найм) фигня - не баг что самое печальное - а фича - реально производительность труда настолько высокая ща что существенная часть людей на рынке труда занято вредительством ( в лучшем для всех случае не отрефлексированным ибо тогда саморепрезентации ненужные издержки)

см тему булшитjobов

т.е. ибд ибо текущие общественные отношения не позволяют занять всех продуктивной деятельностью ибо тогда сменятся веса у общественных узлов :)

qulinxao3 ★☆
()
Последнее исправление: qulinxao3 (всего исправлений: 1)
Ответ на: комментарий от qulinxao3

it это не единственная область где требуется определенная квалификация, и почти везде это уже давно пройдено, и понятно как с этим жить. Опыт не берется из воздуха, как и специфичный опыт, а программист это не «и швец, и жнец, и на дуде игрец», но при этом умение программировать дает знание быстро адаптироваться к любой задаче. Поэтому если человек уже имеет опыт работы хоть какой-то, то не сильно важен на каком языке он программировал и для какой сферы, он так или иначе разберется в приемлемые сроки, а искать идеального человека который уже готов прям завтра заменить любого вашего сотрудника это глупость. Ну и про новичков, конторы сами их не берут, не вкладываются в долгую в свои кадры, и тем самым заставляют их набираться опыт в отвратных шаражках за еду, где он научится самому плохому, где херак херак и в продакшин, а потом жалуются на плохой рынок.

screamager
()
Ответ на: комментарий от urxvt

Ты так и не ответил, как это могло бы выглядеть.

Точно не так как в твоём примере. Зачем тебе #register метод? У тебя IoC вплетено в дизайн ЯП. Чтобы зарегистрировать класс, тебе не нужно объявлять отдельный интерфейс. Публичный контракт класса - это и есть его интерфейс. Т.е. объявил что-то в классе публичным - всё, ты подписал публичный контракт. Теперь любой сторонний разраб его может переопределить своим классом с таким же публичным контрактом.

Зачем тебе #register метод ещё раз? Описал класс в файле - всё ты его автоматически зарегистрировал на возможность замены. По умолчанию. Я же писал, что любой класс можно заместить.

Если тебе нужно изменить дефолтное поведение, то только тогда определяешь правила работы IoC в отдельном файле. Допустим надо сделать замену только в конкретном модуле или в конкретном пакете. Тогда описываешь это отдельным правилом.

foror ★★★★★
()
Ответ на: комментарий от foror

Я так и не понял, о чём ты говоришь. Просто объявить новый класс с таким же именем (включая пакет/namespace)? А если я (автор библиотеки) не хочу, чтобы мой класс могли переопределить.

Как по мне, то такая convention over configuration делает потом проект ещё менее понятным. Хрен расплетешь потом, что, где и кем переписывается. Явный register отследить гораздо проще.

urxvt ★★★★★
()
Ответ на: комментарий от screamager

ну нет реально проблемы у рабкодателей с наймом

им просто не нужны спецы - им достаточнЫ (если вообще нужны не для мебели) приятные сотрудники

вот так вот грустно

и от этого полируем софты ибо харды просто не заметны в деятельности нанимателя

ибо экономика определяет запрос

кванты не нужны в неолите :)

qulinxao3 ★☆
()
Последнее исправление: qulinxao3 (всего исправлений: 1)
Ответ на: комментарий от screamager

Проблема была всегда, просто если в 2020 буквавально брали кого попало, и я лично с кем попало работал, то в 2025 кого попало предпочитают оставлять на существующем месте, потому что «а вдруг от нового будет ещё больше проблем?». Ну то есть я не помню, чтобы в 2020 HR-ы были сильно адекватнее. И тогда, и сейчас попасть напрямую к тех спецу намного эффективнее, чем ходить на свидание к барышне, сошедшей с ума на почве поиска себе мужа.

byko3y ★★★★
() автор топика
Ответ на: комментарий от urxvt

Просто объявить новый класс с таким же именем (включая пакет/namespace)?

Нафига? Ну, допустим пишешь:

class Foo || Bar
   ...

Где Bar замещаемый класс, а Foo его полностью форкает и разрешает погромисту переопределять что угодно в коде Bar. Как будто он работает с кодом самого Bar.

Или, можно придумать другой синтаксис, когда тебе нужно всё с нуля переписать. Тогда в Foo скопируется только публичный контракт Bar.

Если где-то объявлено Quz || Bar, то тогда коллизия и здесь уже вручную расписывай границы действия Quz и Foo. Или, вообще, напиши, что в такой конфигурации Foo всему голова, а Quz отбросить.

Хрен расплетешь потом, что, где и кем переписывается

Это если у тебя убогие инструменты для разработки. Нормальный инструмент тебе визуально покажет, что, где и когда переписывается. Ну, если хочешь даже сгенерирует специально для тебя отдельный файл, где будут вызовы твоих #register методов. Если тебе так более понятно будет.

В 21 веке IDE дожно быть одним целом с ЯП. Я придерживаюсь этого подхода.

А если я (автор библиотеки) не хочу, чтобы мой класс могли переопределить.

Тогда публикуй свою библиотеку под специальным лицензионным соглашением. Так мол и так - моргалы выколю, пасти поотрываю. Хотя, китайцам по барабану.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 4)
Ответ на: комментарий от qulinxao3

Конечно нужны, потребность не может исчезнуть, потому что как кто-то писал, программисты это новая нефть, т.е. из них напрямую практически можно добывать прибыль, и это пока еще долго не закончится, был недавний спад из-за надежд на ИИ, но как «неожиданно» выяснилось, чтобы его использовать в той же сфере нужны те же специалисты, и само по себе прибыль он не приносит, а иногда даже наоборот. Так вот потребности людей сервисах и другого ПО, еще и близко не исчерпано, и даже то что есть было сделано на коленке, чтобы успеть за трендом, но теперь требует уйму человекочасов на доработку, а с учетом что мощности железа уже не растут таким темпом, спрос на оптимизацию еще долго будет. В общем я к тому конторам нужны люди, просто их потребности скрыты, за горой мусорных предложений, и прямо фейковых, а также за некомпетентностью найма. Я же говорю почти все сложные большие отрасли прошли через туже историю когда нужны специалисты, многолетние учебные учреждения построены, практика, найм рабочих по договорам оплаты обучения, испытательные периоды и куча всего еще. А тут откуда то выползают нереальные хотелки, хочу специалиста с кучей лет опыта, да еще и ровно с тем стеком технологий которые мы используем. Желание легких денег понять можно, но реальности все сложнее. Поэтому бизнесу нужно учиться как добывать эту «новую нефть», так и как на из нее извлекать прибыль.

screamager
()
Ответ на: комментарий от foror

Идея понятная. Ну, как по мне, она только всё усложнит. Я сторонник простоты.
Но, чисто концептуально, она мало что меняет. Ничего нового делать она не позволяет, переопределить из Bar ты можешь только то, что автор библиотеки спроектировал для переопределения. И вообще, возникает много вопросов: как узнать, что мне нужно переопределить Bar, а что именно в Bar? Что-то не так переопределил и библиотеку разорвало.
Сейчас же у библиотеки есть чёткий и понятный публичный интерфейс, с помощью которого можно влиять на её поведение.

Это если у тебя убогие инструменты для разработки.

Без разницы, портянки от инструментов же читать нужно человеку.

В 21 веке IDE дожно быть одним целом с ЯП. Я придерживаюсь этого подхода.

Я наоборот, люблю языки, где можно в Имаксе писать.
В целом, мне твоя идея больше всякие лиспы напоминает, когда у тебя есть рантайм и ты можешь его патчить как угодно.

Тогда публикуй свою библиотеку под специальным лицензионным соглашением. Так мол и так - моргалы выколю, пасти поотрываю. Хотя, китайцам по барабану.

Я имел ввиду другое, мол если ты переопределишь что-то то это может привести к плохим последствиям. Например, SQLite. Ты её пропатчил так и теперь оооочень сложно гарантировать что ничего не сломалось. Ошибку даже могут не заметить годами.

И ещё. Прикинь, если каждая библиотека будет так патчить всё и вся. Подключил я libfoo и у меня проект разорвало. Ибо автор в libfoo решил переопределить String (как ты предлагал выше), а у меня ещё используется libbar, в которой его тоже переопределили, но по-другому. И самое интересно, что я, как просто их пользователь об этом даже не подозреваю.

urxvt ★★★★★
()
Ответ на: комментарий от byko3y

это ковидные времена были, людей заставили строить онлайн бизнес, так как в офлайн было невозможно, многое что откатилось, но общий тренд не поменялся, поменялось именно мусорнось вакансий и не желание hr адаптироваться, они и тогда все что делали, это передавали кучу резюме тех отделу, а те как в журнале для для взрослых, тыкали кто им нравится, без особого понимания как это должно делаться, а потом еще на тупых собеседованиях рандомно отсеивая людей, по типу я вот знаю(перед собесом нагуглил вопросы и сам только узнал), и значит и соискатель должен знать ответ, при этом ровно такой как это я сам только загуглил.

Сейчас вон полно историй на ютубе, как люди тысячами оставляют отклики и у них даже до собеседования месяцами и даже больше года не доходит, и это у людей с опытом. А те кто попадают на собеседования рассказывают про собеседования с ИИ ботом. Причем с теми же тупыми вопросами, и что еще печальней, что даже если ты вроде как все нормально отвечаешь, на тебя болт положат, без какой либо обратной реакции. И это то что началось в последние пару лет. Причем не только у нас, а повсеместно.

screamager
()
Ответ на: комментарий от urxvt

Подключил я libfoo

Тебе IDE показало, что эта либа переопределяет String. В коментарии указаны причины. Если ты понимаешь, что автор с головой не дружит, то не используешь libfoo. А если ты её подключал, как раз из-за указанных причин, то продолжаешь использовать. Или если тебе очень нужна эта либа, то просто отключаешь переопределение String полным запретом.

а у меня ещё используется libbar

Тебе IDE/компилятор укажет на конфликт. Вот и разруливай его. Либо просто запрети libbar переопределять String. И если после этого libbar разваливается. Не используешь libbar от кривожопов.

как просто их пользователь об этом даже не подозреваю

Этот ЯП не для разработки в емаксах. Поэтому пользователь этих либ будет уведомлен обо всех особенностях переопределений подключаемых библиотек.

Ты её пропатчил так и теперь оооочень сложно гарантировать что ничего не сломалось

Если ты решил пропатчить сторонний класс, то ты в нём должен разбираться. Это ничем не отличается от обычного патча. Который также может содержать ошибки и также сложно гарантировать, что ты ничего не сломал.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от urxvt

если каждая библиотека будет так патчить всё и вся

Так не надо патчить всё и вся. Я же говорю это будет дисциплинировать погромиста. Он будет держать в голове, что его классы могут переопределить. Будет больше внимания уделять публичным контрактам и уменьшать связанность классов. Тот кто не осилит, пойдёт дальше на голангах докеры писать. Кто осилит, получить гибкий и крутой инструмент для реализации своих идей.

foror ★★★★★
()
Ответ на: комментарий от foror

Тебе IDE показало, что эта либа переопределяет String. В коментарии указаны причины.

Типа мне при добавлении каждой библиотеки нужно детально вникать в эту портянку и прикидывать, сломает оно что-то или нет? Если учесть, что я простой себе разработчик не разбирающийся в кишках библиотеки то я ничего понять там не смогу (без прям детального погружения) даже теоретически.
И это просто чтобы добавить библиотеку.

Тебе IDE/компилятор укажет на конфликт. Вот и разруливай его. Либо просто запрети libbar переопределять String. И если после этого libbar разваливается. Не используешь libbar от кривожопов.

Так в том то же и дело, что это не конфликт. Это как плагины подключенные к String. Они вроде как даже и должны были бы работать не мешая друг другу. Но авторы обеих библиотек работали независимо, вместе свои поделки не тестировали. А потому, получается такая проблема, что даже протестировать ты такой софт не сможешь. Ибо ты не знаешь кто и как внедрит свою логику в твою библиотеку.
Вот уже только по этому это взлететь не может.

Если ты решил пропатчить сторонний класс, то ты в нём должен разбираться. Это ничем не отличается от обычного патча. Который также может содержать ошибки и также сложно гарантировать, что ты ничего не сломал.

Тут фундаментальная разница между текущим подходом в том, что текущий подход тебя сильно ограничивает в реализации плагина — вот тебе чёткий интерфейс и вот тебе ограниченное количество действий с ним. У тебя же получается, что автор пишет себе библиотеку и потом извне кто-то её модифицирует так, как он (автор библиотеки) даже не предполагал возможным.

Который также может содержать ошибки и также сложно гарантировать, что ты ничего не сломал.

Код библиотеки должен всего лишь жестко провалидировать взаимодействие с плагином (напомню, это взаимодействие уже и так жестко ограниченно). Твой подход предполагает, что «плагин» может появиться почти в любом месте библиотеки.

urxvt ★★★★★
()
Ответ на: комментарий от screamager

спецы для дела нужны - очевидно это

иное «дело» когда наниматель делегирует найм «психолохиням(любо пола)» из этого легко(ну лего же?!) выводится что по экономике не важно нанимателю оказался нанят спец али софтскилец

qulinxao3 ★☆
()
Ответ на: комментарий от urxvt

при добавлении каждой библиотеки нужно детально вникать в эту портянку и прикидывать

Зачем? Тебе нужно лишь обратить внимание, если библиотека переписывает SDK классы ЯП. И сразу включить красный флаг. Тебе его IDE/компилятор включит. И автор либы должен тебя очень аргументировано убедить зачем он это сделал. А если никаких комментариев нет, то ты уверен, что хочешь использовать такую либу, автора - пусть и победителя олимпиады по математике среди местной школоты?

Или, если библиотеки имеют общую зависимость и в ней переопределяют один и тот же класс. Во всех остальных случаях тебя парить это не должно.

Ибо ты не знаешь кто и как внедрит свою логику в твою библиотеку

Вот и посмотрим будет работать этот подход или нет. Если софт начинает разваливаться при внедрении сторонней логики не нарушая публичный контракт класса, то нужно подумать о кривожопах, которые его писали.

Я же говорю, это не для индусни, которым надо ещё вчера к дедлайну. Поэтому они пилят код под веществами. По типу и так сойдёт.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от foror

И это не для эффективных менеджеров, которым нужно внедрить 100500 фичей к окончанию квартала для получения бонусов.

foror ★★★★★
()
Ответ на: комментарий от foror

И автор либы должен тебя очень аргументировано убедить зачем он это сделал.

Подключил я HTTP-библиотеку и там целая портянка про то, как и почему он пропатчил SSL слой в SDK. Конечно, я как «SSL-эксперт» пойму, что он там написал.

urxvt ★★★★★
()
Ответ на: комментарий от urxvt

Можно ограничить область действия замещения SSL класса из SDK. Только в данной либе создаются кастомные экземпляры замещенного класса. Все остальные модули/библиотеки работают с дефолтным SSL классом из SDK. При желании можешь расширить замещение на другие модули и пакеты.

Даже делать это по умолчанию. Либа заместила классы? Без проблем, но они замещены только в рамках модуля данной либы. По умолчанию.

foror ★★★★★
()
Ответ на: комментарий от urxvt

Конечно, я как «SSL-эксперт» пойму, что он там написал

Так обратись к сторонним экспертам. Посмотри, что об этой либе говорят на сторонних интернет ресурсах. Посмотри на звездочки гитхаба и список issues. А не как школьник - взял первую попавшую либу и воткнул её в зависимости. А она у тебя биткойны скомуниздила.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)

Есть куча вакансий IoT/embedded, но там требуется личное присутствие.

Мне тоже эта тематика нравится но ехать опять на заработки в крупный город не хочу. Четверть века обитания в Питере хватило:(

watchcat382
()
Ответ на: комментарий от urxvt

Лет 5 назад я также выбирал. Сегодня для меня этого мало. Да, смотрю сырцы. Смотрю, что говорят эксперты. Смотрю бенчмарки. И после этого обычно пишу свою либу ) Опенсорц либы, в основном, сделаны очень слабо.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от cdtemp

В моём блокнотике и моих фантазиях. На разработку прототипа нет времени сейчас.

foror ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)