Как стать автором
Обновить
15
0

Пользователь

Отправить сообщение

Было. Собеседовали человека на middle+ и с опытом работы. Разобрали на словах один не самый простой пример "как бы я делал систему под такие use case". Вроде всё Ок, уже собрались брать - т.е. прямо по окончании собеседования сказать "готовьте документы и приезжайте оформляться" - это ещё до ковида было. Но на всякий случай решили попросить сделать тестовое задание (тут же на ноуте, одно из стандартной пачки). Для уровня кандидата - дел на пять минут, если знает Stream API и Collectors - вообще однострочник. Чисто посмотреть, как пользуется средой разработки и вообще, какой из подходов выберет. Завалился! А глядя на то, как он мучительно выбирал методы из того, что IDEA вываливает в выпадающем списке - у нас как-то сомнения закрались, а после выхода на работу он почитает ЧТЗ и также начнёт тупить?

Я ещё предлагаю подумать, как бы изменился язык и программы на нём, если бы одну из этих фич (интерфейсы или абстрактные классы) создатели выпилили. И что нужно добавить, чтобы не было мучительно больно: множественное наследование? делегаты? конструкцию X, которая решает такую вот типовую задачу Y?

Ответ с другой стороны баррикад: Эм... видите ли какое дело... Тут время от времени люди приходят на собеседование на позицию 150+К и не могут рассказать, в чём таки разница между Array и Linked. И хрен с ним с внутренним устройством. Ладно. На проекте такое же придётся зачем-то писать с нуля в исчезающе малом количестве случаев. Не ведь могут рассказать, в чём разница с точки зрения использования! Я уж не говорю про способность на пальцах прикинуть потребление памяти и процессора для разных случаев.

На просьбу рассказать о том, как организовать передачу данных между двумя потоками (производитель и потребитель) - молчат, как будто пытаешься выпытать секрет философского камня! Есть и те, которые супер отвечают... только после каждого вопроса какой-то очень подозрительный стук клавиш в фоне и задержка с ответом несколько секунд. А потом мы не можем написать блин FizzBuzz, или удалить элементы из массива! - для последнего случая задача звучит так - напишите тело функции void deleteNonSCities(List<City> allCities) {}, которая удаляет из списка все города с названием, начинающимся на букву "C". getName естественно есть... Причём написать предлагаем на стороне соискателя в его IDE, для чего пересылаем Maven проект с юнит тестами, которые собственно и проверяют выполнение задач.

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

Пойти поговорить к начальнику. Своему или который наименьший общий c аналитиками. Или PM-у. Обычно аналитиков с опытом разработки отрывают с руками, причём дальше уже не сильно важно - хоть для JS проектов ТЗ / Use Case писать, хоть под Go - программировать то не вам :)

Из must have для аналитика я бы назвал UML, Rational Unified Process, знание 34.602 ГОСТа, умение проектировать БД. Ещё есть пара книг Шаблоны корпоративных приложений и Шаблоны интеграции корпоративных приложений, ну и паттерны проектирования, тоже не бесполезно, правда вы оттуда и так уже почти всё знаете.

Посмотрите на предыдущий background. Одно дело человек сразу после университета, другое - с хорошим жизненным опытом, да ещё и умением / желанием обучать.

У меня был Java-джун без особого опыта работы, 30+ лет если не путаю, но доросший до этого до креативного директора в каком-то маркетинговом агентстве. Пришёл в профессию сознательно, потому что его от этого пёрло, да простят меня за сей сленг на техническом ресурсе. Через несколько лет ушёл с диагностикой "перерос ваши проекты", и к сожалению это было чистой правдой.

Добро пожаловать в клуб :( Дайте угадаю - БК, Спектрум али Агат, потом Basic уже на PC, С++ и Delphi там всякое? А теперь есть чёткое понимание, что, в текущем проекте / проектах во первых хорошо сделать всё равно не получится, потому что а) легаси, б) ограничения смежных систем и в) конкретно вот эта особенность языка утомила но невообразимости и привела к паттерну на паттерне, а во вторых - то, что идеально сделано сегодня, завтра будет признано недоработкой потому что ну кто же мог подумать, что владелец продукта захочет вот этак, либо ошибкой, потому что про очередной краевой случай забыли абсолютно все, и тестировщики тоже проспали.

С газобетоном цикл подкрепления работает гораздо лучше - день повозился, вот очередные три метра, их можно пощупать и даже на них посидеть. А скоро и внутренняя отделка начнётся, досочку прибил и радуешься :)

Могу порекомендовать переключится... да хоть в системные аналитики или архитекторы. Программировать человеческие мозги в Word-е ооочень прикольно бывает, правда рефакторинг адски неудобный и IDE под мышь заточена. Но и это потом надоест если фуллтайм, проверено. Я вот спасаюсь сидением на двух стульях, благо позиция позволяет, надоело писать тексты - беру задачку-другую из backlog, а там и опять срочное совещание со архитектором на стороне клиента - архитектурное решение - защита и далее со всеми остановками.

Скромно напомню про Vaadin. Входные языки Java или Kotlin, фронт отдельно писать не нужно совсем. Всем хорош, за исключением двух вещей: а) даже в 2021 даже опытные разработчики склонны писать бизнес-логику в onClick, и б) хрен на него найдёшь разработчиков в 2021 / RU. Вот печально думаем, куда переезжать - React или Vue :(

КМК иногда рекламодатели уходят, когда их вежливо просят не сотрудничать с нелояльными ресурсами. Потому что риски несопоставимы с ожидаемой прибылью.
Да, ужасно жалко. Предложил им идею переехать в платный формат — я бы с удовольствием платил рублей 100 в месяц за чтение новостей. Причём именно как txt.newsru.com, без картинок, видео и прыгающей вёрстки по мере подгрузки рекламы.
Хорошо бы опрос к статье:
* крутая штука, хочу такую же
* предпочту моноколесо
* предпочту электросамокат
* предпочту мотоцикл / квадрик
PS. Сам голосую за моноколесо — габариты меньше, сценариев применения — в разы больше. До ковида я в метро ездил с ним, ну и в машине валяется — поскольку в «нерезиновой» парковка может найтись в паре километров от нужного места…
Огромная благодарность за статью! Почти такие же мысли вертятся «вот прям на языке», но облечь в форму внутреннего гайда или статьи всё никак не складывалось. Это вот всё нужно печатать и вешать на стену рядом с Keymap reference от IDEA:), после чего тыкать в соответствующий абзац на внутреннем code review.
Вы не задумывались о монетизации этого опыта — что-то типа курса переподготовки jun -> middle с практическими задачами на каждый паттерн? Сам бы с удовольствием прошёл :)
Вот уж проблема… Делаю время от времени
1. Убедиться, что новый SSD >= старый HDD
2. Скачать CloneZilla clonezilla.org
3. Скачать что-то типа PenDriveLinux и сделать загрузочный стик c СloneZilla
4. Новый SSD в USB коробку, грузимся в CloneZilla и копируем disk-to-disk с проверкой
У джиперов (кто ездит на покатушки в грязь) есть ещё одна присказка «Бабло потом не прилепишь»…
:) Это до первого найма нового сотрудника, который очень неплохо решает задачи, но по поводу которого потом подходят твои коллеги и спрашивают, а нельзя как нибудь сделать так, чтобы с ним в одной комнате не сидеть и вообще не общаться. Увы, реальный опыт, и более чем один раз.
Рабочий код — который проходит unit test, который разумеется есть в тестовом проекте, с которым работает соискатель.
Если тест зелёный, а код страшненький (тот же FizzBuzz с тремя вложенными if-ами, в каждом из которых куча всего наверчена), то это повод поговорить о рефакторинге — считает ли соискатель такой код хорошим, и как бы он его поменял.
Заодно становится видно, владеет ли он меню Refactoring и клавиатурными сочетаниями в своей IDE (для Java IDEA практически уже стандарт отрасли)
    /**
     * FizzBuzz тест
     *
     * @param i число, которое нужно обработать
     * @return строка:
     * <li>если параметр <b>не</b> делится (нацело) на 3 или на 5 - значение парамера в строковом виде</li>
     * <li>если параметр делится (нацело) на 3 - строка "Fizz"</li>
     * <li>если параметр делится (нацело)на 5 - строка "Buzz"</li>
     * <li>если параметр делится (нацело) и на 3 и на 5 - строка "FizzBuzz"</li>
     */
    static String fizzBuzz(int i) {
       return "";
    }
Ну вот только что очередной соискатель позиции разработчика на Java завалил практическую часть. Про SOLID он понимаешь знает, про DI и Spring рассказал вполне толково, опыт работы есть, а FizzBuzz (на своей стороне, собеседовали в Skype) написать в IDEA не смог. И даже не попытался посмотреть, чего это среда разработки там подсвечивает некоторые строчки и говорит, что логическое условие всегда истинно. И следующий тест примерно такого же уровня сложности тоже завалил. Тесты, если что, оформлены как static функции класса, на каждую есть юнит тест, который и проверяет правильность решения.
И как без практического теста нанимать в условиях тотальной удалёнки? Т.е. как отличать человека, который умеет писать код и синтезировать простенький алгоритм в голове от того, который просто хорошо подготовился к собеседованию и имеет рядом собой бумажки или вкладки браузера с ответами на типовые вопросы?
А как же Win + >? Для рисования всяких прикольных стрелочек, которые там на последней вкладке живут.
Статья замечательная! Давайте попробуем поиграть в бизнес: видимо есть потребность в конкретной «услуге» — получении изображений с увеличением, недоступным оптике, которая обеспечивается вполне конкретным набором «механики» и «электроники». При соответствующем ценнике — такую штуку даже в школе на уроке биологии (и не только) использовать нужно, на производстве — смотреть микроструктуру материалов что на входе, что на выходе и т.п… Так вот:
а) есть ли зарубежные аналоги? И если да, то сколько стоят?
б) а сколько Вы (ваша организация) готовы заплатить за такое же (в части результата), только новое?
в) кто на Ваш взгляд ещё готов платить т.е. каков объём рынка, и насколько он покрыт импортом?
Имея а), б) и в) — можно уже искать исполнителей — воспроизвести всё, что есть в документации, но на современной элементной базе. Судя по качеству кондовости обработки деталей на фотографиях — механика там не особо сложная, а электроника ушла сильно далеко за эти годы.
PS. Уж больно задело «Остатки древней высокоразвитой цивилизации»

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность