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

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

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

Как найти удаленную работу в зарубежной компании. 10 шагов

Время на прочтение10 мин
Количество просмотров59K


Каждый год Оксфордский словарь английского языка выбирает «Слово года». Но в 2020-м что-то пошло не так. Издательство Оксфордского университета описало 2020-й как «год, который лишил нас дара речи», и сказало, что к нему невозможно подобрать правильное слово.


Но на наш взгляд, такое слово всё-таки есть. С прошлого марта в мире резко возросло использование слова «удаленно». Большинство предприятий отошли от традиционной модели офисной работы и стали пытаться организовать труд сотрудников из дома. Для разработчиков из СНГ это прекрасная возможность начать работу в лучших мировых компаниях. Зарплаты за рубежом выше, а возможностей сейчас стало больше, чем когда-либо прежде.


Мы постоянно исследуем рынок. Публикуем сотни вакансий ежедневно. И сейчас 40% выручки получаем от иностранных компаний, которые в основном нанимают программистов для удаленной работы.


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

Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии16

Алгоритм ранжирования ошибок

Время на прочтение9 мин
Количество просмотров3.7K

Возможно Вам доводилось слышать про протокол журнала событий syslog, в котором можно насчитать аж 8 уровней важности: emergency, alert, critical, error, warning, notice, info, debug. Наверняка Вы, как и я какое-то время назад, думаете, “зачем столько”? А что если я скажу, что количество уровней там просто идеально? И использовать можно все - даже debug - для продакшн. Во всяком случае, каждому из них можно придать формальный критерий. Это особенно иронично для меня самого, так как всего пару месяцев назад я написал статью в духе “зачем так сложно!”. Так что если Вам интересно посмотреть на пример технического “переобувания” или оценить строгий алгоритм ранжирования уровней важности событий в системе - прошу.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии2

Применение интерфейса Collector для работы с потоками в реальных Java-проектах

Время на прочтение5 мин
Количество просмотров12K
Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как интерфейс Collector и сопутствующие механизмы используются в реальных проектах.

В Java-программировании при работе с потоками широкое применение находят методы класса Collectors. Эти методы позволяют возвращать либо объекты, в основе которых лежит базовый класс Collection, либо — скалярные значения. В первом случае, то есть — для возврата коллекций, применяют один из методов, имя которого выглядит как toXXX(), а во втором случае используется, например, метод reducing().

Представим себе интернет-магазин, в котором есть корзина. Модель корзины выглядит так, как показано ниже.


Модель корзины

Если перевести эту диаграмму классов в код, опустив некоторые детали, то получится следующее.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии3

Способы логирования Hibernate

Время на прочтение3 мин
Количество просмотров12K

Приветствую, дорогие друзья! Меня зовут Алексей, и я backend java developer. На одном из моих проектов была задача -  предоставлять по требованию SQL запросы уходящие в БД, для этого их решили логировать.  В этой статье я постараюсь поделиться несколькими способами, которыми можно достичь данной задачи.

Проект был написан на Spring, поэтому все примеры будут на нём. Запросы были написаны с использованием JPA или сгенерированны через Spring Repository.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Провести опрос: 7 лучших онлайн-сервисов для создания опросов

Время на прочтение5 мин
Количество просмотров47K

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

Читать далее
Рейтинг0
Комментарии0

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

Время на прочтение9 мин
Количество просмотров5.8K


От переводчика: профессия девелопер адвоката появилась не так давно и почти у каждого крупного продукта или технологии есть свой адвокат, технологические компании понимают важность этого канала общения с миром. Есть такая должность и в Haulmont. Когда мы формулировали требования к вакансии, нам самим пришлось отвечать на вопрос "А что же должен делать девелопер адвокат?" И эта статья простым языком и очень исчерпывающе на этот вопрос отвечает.


Несколько лет назад я написал статью “Кто такой вообще этот девелопер адвокат?”, в которой постарался помочь людям в технической индустрии понять, что входит в эту роль. И до сих пор я получаю тонны вопросов про это в Твиттере.


В этой статье я собираюсь пролить свет на роль Developer Advocate и в этот раз приведу конкретные примеры задач и обязанностей, которые я выполняю в своей ежедневной работе в качестве Senior Developer Advocate в Microsoft, а также в качестве человека, который занимается этим с 2015 года.

Всего голосов 15: ↑13 и ↓2+11
Комментарии1

Бюджетный дачный интернет

Время на прочтение3 мин
Количество просмотров51K

В преддверии дачного сезона решим проблему с устойчивым интернет соединением в рамках ограниченного бюджета.

Дано:

• Отсутствие базовых станций мобильного оператора в прямой видимости.
• Нестабильный мобильный интернет на скорости до 2Мбит/c.
• Расстояние до вышки ~2км.
• Щитовой дом внутри которого будет располагаться Wi-Fi роутер.

Читать далее
Всего голосов 25: ↑23 и ↓2+21
Комментарии67

0x7E5 Рассуждения о главном

Время на прочтение15 мин
Количество просмотров12K

За 11 лет работы, заметил как недооценивают либо переоценивают те или иные принципы разработки, такие как SOLID и KISS. Как непонимание архитектуры приводит к "аду" вместо "кода". Как любовь к DI приводит к инжекту констант и как ненависть к архитектурам приводит к хаосу. Хотелось бы чуть глубже нырнуть в смысл этих понятий, попытаться раскрыть их для начинающих и, возможно, заставить переосмыслить для опытных программистов.

Нырнуть глубже
Всего голосов 26: ↑24 и ↓2+22
Комментарии28

Микросервисы: от CRUD до Native Image. Часть вторая

Время на прочтение9 мин
Количество просмотров5.6K

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

Эта половина статьи сосредоточится на опыте нашей команды BellSoft. Поговорим о том, каким образом мы взаимодействуем с миром микросервисов: здесь будет и про универсальный Java-рантайм, и про крошечные контейнеры, и про Spring. Я разложу микросервис на слои, соберу в образ, запущу и покажу, что влияет на его скорость.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Микросервисы: от CRUD до Native Image. Часть первая

Время на прочтение5 мин
Количество просмотров8.6K

Слово «микросервисы» на слуху последние несколько лет. Технология активно развивается, на онлайн-конференциях о ней говорят, да и сами мы пишем их каждый день. Когда-то новый подход уже стал рутиной. Но мне как Java-архитектору интересно то, каким код был раньше, как он менялся, какие способы исполнения популярны сейчас и будут использоваться в 2021 году: асинхронность, контейнеры, FaaS. 

Так родился этот пост в двух частях, который я подготовил для Хабра на основе своих статей в блоге компании BellSoft и круглого стола Joker 2020, где мы обсуждали будущее джавы. Актуальное сегодня улучшение экосистемы для бэкендов не может существовать без понимания того, как создавать микросервисы: писать с нуля или вырезать скальпелем из монолитов? Предлагаю в первой части поговорить об их сущности, а во второй — разложить микросервисный контейнер на слои и посмотреть на вклад каждого слоя.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии7

10 советов для написания хороших пользовательских историй

Время на прочтение6 мин
Количество просмотров11K

Пользовательские истории (User stories, юзер стори), вероятно, являются самой популярной техникой аджайл (гибкой методологии) для описания функциональности продукта: с пользовательскими историями очень легко работать. Но «рассказывать» эффективные истории бывает достаточно сложно. Следующие десять советов помогут вам в создании хороших пользовательских историй.

Аудиоверсия статьи здесь.

Скачать аудиоверсию можно здесь.

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии2

Что тимлиду спросить о компании на собеседовании

Время на прочтение5 мин
Количество просмотров22K

По мотивам своих собеседований, а также собеседований коллег и mentee, составил список вопросов от тимлида к компании, что стоит прояснить на собеседовании — что спросить собеседующего.

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

Каковы финансовые показатели компании?

Является ли компания прибыльной или тратит деньги инвесторов? Или даже до инвесторов ещё не дошло, и основатели пока платят из своего кармана? Как выглядит бизнесовый план развития?

Если компания имеет представительство в РФ, официальное ли (по ТК РФ) трудоустройство и полностью ли "белая" зарплата?

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

Расскажите про ваше понимание «хорошего тимлида»

У собеседника должно быть четкое и непротиворечивое понимание, что он вкладывает в понятие «тимлид» и какие критерии используются для оценки работы тимлида.

Возможно, это понимание даже прописано в должностных инструкциях.

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

Читать далее
Всего голосов 44: ↑40 и ↓4+36
Комментарии87

Использование Redis в инфраструктурных микросервисах

Время на прочтение7 мин
Количество просмотров16K
В 2019 году я писал о том, как создать хранилище событий, основанное на Redis. Я рассказывал о том, что потоки Redis хорошо подходят для организации хранения событий, так как они позволяют хранить события с использованием иммутабельного механизма, напоминающего журнал транзакций, поддерживающего только присоединение новых данных к уже имеющимся, но не изменение существующих данных. Теперь же, используя обновлённое приложение OrderShop, речь о котором шла в вышеупомянутом материале, я хочу продемонстрировать пример использования Redis для организации работы очереди событий, продолжая рассказывать о возможностях применения Redis Enterprise, выходящих за пределы кеширования.


Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии5

В IT растет цензура, а мы не замечаем — разрешают только улыбаться и молчать

Время на прочтение8 мин
Количество просмотров125K

У меня есть две статьи-интервью вот с такими странными абзацами. За обоими кроются неприятные истории для меня и для людей, про которых я писал.

Читать далее
Всего голосов 497: ↑480 и ↓17+463
Комментарии1526

5 диаграмм, необходимых для документирования архитектуры решений

Время на прочтение8 мин
Количество просмотров70K

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

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии3

Spring Cloud и Spring Boot. Часть 1: использование Eureka Server

Время на прочтение7 мин
Количество просмотров35K

В этой статье мы поговорим о том, как установить и настроить службу обнаружения (service discovery) для Java-микросервисов.

Что такое Eureka Server?
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Как написать «нанимающее» резюме для разработчика

Время на прочтение9 мин
Количество просмотров13K

Привратники

Ваше резюме будут читать 3 типа людей:

HR или рекрутер

Первый человек, который видит ваше резюме, и скорее всего не технарь. У него есть только один вопрос:

Надо ли показать резюме этого человека техническому специалисту?

Как он это определяет? Для этого ему надо понять, есть ли у этого кандидата нужные навыки. Но HR не является программистом, поэтому ваш разговор может закончиться так:

Простите, но вы нам не подходите. Нам нужен человек с опытом JavaScript, а я вижу что вы программировали только на Angular JS и jQuery.

Читать далее
Всего голосов 16: ↑13 и ↓3+10
Комментарии11

Техдолг. Все говорят: «невозможно», а я говорю, что буду

Время на прочтение18 мин
Количество просмотров13K
Очень часто драматически и патетически утверждают, что техдолг лучше не плодить — потом не устранишь. Да, без него, конечно, лучше. Но последствия устранить все-таки можно, и глава Программного комитета Артем Каличкин на конференции DevOpsConf 2020 поделился своим опытом в этой области.

Можно спросить, а причем здесь техдолг, если конференция DevOps? Холиварить об этом можно, например, в рамках DevOps-фуршета, но настолько ли это широкое понятие? Мы узнали, что Артем относит к техдолгу все изменения и доработки, инфраструктурные модификации и изменения процессов, изменения структур команд, направленные на устранение гэпов — которые были допущены (осознанно или нет) в рамках запуска продуктов и фич, и которые со временем сильно мешать жить.

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


Читать дальше →
Всего голосов 50: ↑50 и ↓0+50
Комментарии8

@Transactional в Spring под капотом

Время на прочтение16 мин
Количество просмотров189K

Spring предоставляет много удобств и многие его возможности кажутся магией - поставил аннотацию и все работает. Но, когда что-то идет не так (например, почему-то не работают транзакции как ожидается), приходится лезть внутрь и смотреть, где сломалось. В статье показан путь от создания инфраструктуры для обработки Transactional до обработки исключений.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии28

Service mesh — это всё ещё сложно

Время на прочтение6 мин
Количество просмотров7.3K
Прим. перев.: эта небольшая статья Lin Sun из IBM в блоге CNCF — занятная иллюстрация тех сложностей, над преодолением которых сейчас трудятся инженеры популярных реализаций service mesh. С ними становится понятным, почему порог вхождения у этих продуктов остаётся довольно большим.

В августе этого года на конференции ServiceMeshCon EU мы с William Morgan из Linkerd выступили с совместным докладом под названием «Service mesh is still hard». William рассказал об инновациях в Linkerd, в то время как я затронула нововведения в Istio. Оба проекта, очевидно, активно работают над тем, чтобы упростить переход обычных пользователей на service mesh.


Этот слайд (из видео с недавним выступлением William Morgan и Lin Sun) лаконично подытоживает актуальные плюсы и минусы сервисных сеток

Сегодня service mesh стали более зрелыми, чем были год или пару лет назад. Однако они по-прежнему сложны для понимания большинства пользователей.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии0
1
23 ...

Информация

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