Обновить

Разработка

Сначала показывать
Порог рейтинга

Всем привет!

Тема поста про мою ОС.

Так как я считаю что зациклился на ядре и ФС, я вспомнил о графике.

Как вообще будет выглядеть ОС?

Не как Windows 11 или другие до Windows 3.1, не как System 1.0 - Mac OS 9.2.2.

И не как Mac OS X (или macOS).

Будет выглядеть как NeXTSTEP.

Как будет отображаться изображение на экране?

Вот так (номер: что отображается):

  1. Сам экран ОС: Тут иконки, док и всякие меню.

  2. Экран диалогов: здесь маленькие диалоговые окна с вводом и какой то информацией

  3. Экран рабочего окна (или окон): здесь отображается рабочая задача.

  4. Остальные окна: они тут так, по приколу, ведь им всего по 20 мс уделяется.

Вот такая графика. Как я реализую? Две библиотеки: где просто работа с самим экраном. И там где уже работа идёт как в фреймворке (кнопки и окна: все будет там).

Удачи!

UPD: минусовая за "другое". Так ещё и без комментариев, то это называется личная неприятность (если это один и тот же чел меня минусовал на двух постах). Прошу определится и минусовать за личную неприятность.

Теги:
Всего голосов 6: ↑1 и ↓5-3
Комментарии3

UI-тренд, который усиливает UX

Жидкое стекло — следующий шаг в трендах UI после плоского дизайна, материала и стекломорфизма. Это новая модель восприятия интерфейса: прозрачные слои создают глубину, реагируют на движение и формируют эффект «живой» поверхности.

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

Задача дизайнера — точный баланс
Главная сложность — читаемость. Прозрачность легко снижает контраст, поэтому работа с фоном, светом и плотностью слоев становится ключевым навыком. Эффект работает только при строгой визуальной дисциплине.

Куда движется рынок
Жидкое стекло постепенно превращается в новый стандарт. С развитием экранов и энергосбережения технологии начнут активнее поддерживать сложные прозрачные эффекты. После обновления гайдов крупных экосистем рынок быстро перейдет к этому стилю.

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

Хотели бы вы использовать жидкое стекло в дизайне для своего продукта?

Теги:
Всего голосов 8: ↑7 и ↓1+6
Комментарии1

13 — счастливое число! «Счастливыми» называют натуральные числа с особым свойством: при повторяющейся замене такого числа на сумму квадратов его цифр и далее — на сумму квадратов цифр каждого промежуточного результата, в итоге получается единица.

Например, возьмём число 7 и убедимся в том, что оно «счастливое».

  1. 7² = 49;

  2. 4² + 9² = 97;

  3. 9² + 7² = 130;

  4. 1² + 3² + 0² = 10;

  5. 1² + 0² = 1.

После пяти шагов мы пришли к единице, что и требовалось по определению.

Как ни странно, число 13 тоже «счастливое», и проверяется это буквально в два шага:

  1. 1² + 3² = 10;

  2. 1² + 0² = 1.

С четвёркой получается интереснее.

  1. 4² = 16;

  2. 1² + 6² = 37;

  3. 3² + 7² = 58;

  4. 5² + 8² = 89;

  5. 8² + 9² = 145;

  6. 1² + 4² + 5² = 42;

  7. 4² + 2² = 20;

  8. 2² + 0² = 4.

Через восемь шагов мы снова получаем 4! Это цикл, из которого нет выхода.

Понятие «счастливые числа» использовал в 1980-х годах британский преподаватель математики Рег Алленби (Reg Allenby). Позже Ричард Кеннет Гай и Джон Хортон Конвей использовали этот термин в книгах по теории чисел и занимательной математике.

Сейчас «счастливые числа» используются в задачах на итерационные алгоритмы и циклы. Они встречаются на соревнованиях по программированию и в математических олимпиадах.

Теги:
Всего голосов 4: ↑3 и ↓1+3
Комментарии0

Стоматологические услуги для компиляторов на примере LLVM 21

Многие слышали миф о маленьких птичках, "чистящих зубы" крокодилам. И пусть в живой природе этого не найти, но зато в мире программ есть свои герои, способные помочь ещё более могучим ящерам — драконам в лице компиляторов. Ну или в нашем случае виверне, ведь именно она на логотипе LLVM, чья очередная версия попала под чистку от багов.

Среди сегодняшних процедур: рытьё истории коммитов, чтение технических спецификаций и краткий румтур по совершенно разным уголкам проекта LLVM — от принтеров дебаг информации до оптимизатора и работы с регистрами.

Например, коснёмся инструкции CPUID:

Предупреждение PVS-Studio: V560 A part of conditional expression is always false: AVX10Ver >= 2. Host.cpp 2177

StringMap<bool> sys::getHostCPUFeatures() {
  unsigned EAX = 0, EBX = 0, ECX = 0, EDX = 0;
  ....
  bool HasLeaf24 = MaxLevel >= 0x24
                && !getX86CpuIDAndInfo(0x24, &EAX, &EBX, &ECX, &EDX);

  int AVX10Ver = HasLeaf24 && (EBX & 0xff);
  Features["avx10.1"] = HasAVX10 && AVX10Ver >= 1;
  Features["avx10.2"] = HasAVX10 && AVX10Ver >= 2;
  return Features;
}

В выражении HasLeaf24 && (EBX & 0xff) сперва оба операнда && приведутся к типу bool, вычислится логическое "И", а затем результат снова расширится до типа int. На выходе получаем значение 0 или 1, и выражение AVX10Ver >= 2 всегда будет вычисляться как false.

Опечатка, ошибка в логике или кривой мёрж? Git blame и спецификация помогут ответить на этот вопрос, как и на многие другие, если вас заинтересовало – продолжение читайте в статье.

Теги:
Всего голосов 5: ↑4 и ↓1+4
Комментарии0

Печатный журнал «Игромания» выпустит новый номер 12 декабря на Comic Con «Игромир» в Москве. 127 страниц ностальгии и любви к прошлому от любимых авторов. Выпускать бумажный вариант планируют раз в три месяца. Предзаказы и продажи доступны на сайте проекта. Предыдущий номер журнала в бумажном виде вышел в 2018 году.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии4

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

Как мы создаём и обновляем курсы

Показываем часть того, что скрыто за лендингами программ и отзывами выпускников. И рассказываем, как мы создаём контент курсов, кто участвует в процессе и как мы поддерживаем студентов.

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

Внутри практически каждой главе курса — десятки скрытых деталей: пасхалки, имена переменных, мелкие отсылки. Мы хотели, чтобы курс ощущался не только как учебник, но и как игра. Чтобы внимательные студенты могли почувствовать, что находятся внутри чего-то большего. Эта статья — способ заглянуть за кулисы процесса производства образовательного контента.

Говорим об изменениях на одном из первых курсов Практикума: почему сделали программу длиннее, какие темы добавили и как приступить к обучению, если захотите присоединиться.

Как устроены курсы и бесплатные части

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

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Мегапромпт для поиска работы мечты — пользователь Reddit выложил запрос, который помог ему устроиться в компанию после 10 месяцев безуспешных поисков и походов по собеседованиям. Он буквально забил на массовые отклики и стал подгонять резюме под каждую вакансию, переписывая его с помощью СhatGPT. Результат — сразу несколько офферов удаленной работы с хороших компаниях. Персонализированный отклик работает отлично — так вы проходите не только ИИ-скрининг, но и попадаете HR-специалисту прямо в сердце.

Промпт для подготовки резюме:

Ты — опытный карьерный ассистент и эксперт по оптимизации резюме под системы отслеживания кандидатов (ATS). Задача: Я дам тебе описание вакансии и своё резюме. Твоя задача — адаптировать резюме так, чтобы оно максимально совпадало с описанием вакансии.

Правила:

1. Выдели все ключевые слова из описания вакансии:

• должность

• навыки

• инструменты и технологии

• обязанности

• отраслевые термины

• soft skills

• ключевые фразы

2. Сравни описание вакансии с моим резюме:

• если навык уже есть — усиль его формулировку

• если навык есть, но описан слабо — перепиши и подчеркни опыт

• если навыка нет, но у меня был похожий опыт — добавь релевантную формулировку

• если навыка нет и нельзя предположить — не выдумывай

3. Перестрой структуру резюме:

• перемести самый релевантный опыт выше

• перепиши summary в начале с использованием ключевых слов

• подбирай формулировки, похожие на вакансию (но не копируй слово в слово)

4. Оформление (обязательно ATS-дружелюбное):

• без таблиц, иконок, картинок только стандартные блоки текстом

Итог: Дай полностью переписанное резюме, адаптированное под эту вакансию, с естественно встроенными ключевыми словами.

Спроси у меня: «Пришли вакансию и свое резюме».

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

Всем привет!

В прошлом посту я говорил что всё ещё пишу ОС и не забросил проект.

Да, так.

Так же я рассказал в том посту что я добавил много технологий чего нового.

Так вот.

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

Что это? Нет не mov. Я реализовал системные вызовы.

Пока что их 13.

Вот их список (в виде "номер: значение вызова"):

  1. Cказать сообщение от ядра.

  2. Записать в файл (или создать если нету).

  3. Прочитать содержимое папки.

  4. Поменять рабочую папку.

  5. Вернуть рабочую папку.

  6. Создать папку.

  7. Удалить папку.

  8. Удалить файл.

  9. Проверить: это папка?

  10. Проверить: это файл?

  11. Вывести содержимое файла.

  12. Сохранить содержимое файловой системы в файл.

  13. Вывести сообщение (любое).

Вот так получилось!

Удачи!

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии3

Участвуйте в онлайн-хакатоне AI DevTools Hack, чтобы выиграть до 1 500 000 рублей 🙌

Хотите прокачать навыки AI и инженерное мышление? Тогда собирайте команду и регистрируйтесь на онлайн-хакатон AI DevTools Hack. За две недели вы создадите AI-ассистента или мультиагентную систему с использованием облачных сервисов, пройдете экспертные сессии и защитите свой проект в финале.

В призовом фонде хакатона — 1 500 000 рублей. Есть за что побороться 🙂

Что ждет участников:

➡️Настоящие инженерные задачи

➡️ Обратная связь от экспертов

➡️ Опыт работы с экосистемой облачных сервисов

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

👉 Подать заявку

Теги:
Рейтинг0
Комментарии0

Бизнесу все труднее систематизировать данные. Источников много, хранение — часто локальное, собрать все данные в одно место и подготовить актуальный датасет большая задача.

На вебинаре с экспертами Loginom и VK Cloud расскажем, как связать разрозненные источники в работающую аналитическую систему всего за один день. 15 декабря в 17:00 покажем, как быстро развернуть облачную СУБД и подключить к ней low-code платформу Loginom.

В программе:

🔹 Собираем пазл: архитектура решения на основе облачных баз данных VK Cloud и платформы Loginom.
🔹 Избавляемся от рутины: автоматизируем очистку и подготовку данных (ETL) с помощью low-code инструментов.
🔹 Практические кейсы: внедрение аналитических решений для ритейла, телекома и фарминдустрии.
🔹 Технический воркшоп.
🔹 Ответы на вопросы о внедрении и интеграции.

➜ Зарегистрируйтесь на вебинар

Теги:
Рейтинг0
Комментарии0

Дайджест Рег.облака за ноябрь

Ноябрь выдался серым и почти без солнца, но это не лишило нас энергии. Мы усилили AI-направление, расширили инструменты для ML-команд и запустили новые решения для работы с данными. Делимся главным за месяц.

  • Добавили сервер с JupyterHub
    В каталоге образов в личном кабинете теперь есть облачный сервер с предустановленным JupyterHub — готовой средой для командной работы с Jupyter Notebook. Каждый пользователь получает отдельное рабочее пространство, доступ к консоли и возможность подключать внешние источники данных. 

  • Представили приватное объектное хранилище
    В Рег.облаке появилось приватное объектное хранилище на базе Ceph — изолированная S3-совместимая система, которую мы разворачиваем под конкретного заказчика. Кластер можно разместить в наших дата-центрах или на стороне клиента, если важен полный физический контроль над контуром.

  • Запланировали вебинар про работу с конфиденциальными данными в LLM
    23 декабря Москве проведем вебинар «Как доверить конфиденциальную информацию LLM: разбор решения от Рег.облака». Подробный анонс и ссылку на регистрацию опубликуем в нашем Telegram-канале.

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Лицензионный договор на программу для ЭВМ: о чем следует помнить

Юридические параметры заключаемого лицензионного договора определены в статье 1286 Гражданского кодекса РФ.

О чем она говорит?

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

Во-вторых, в общем порядке — договор заключается в письменной форме. При этом — для программы для ЭВМ предусматриваются исключения: это соглашение, дающее пользователю простую (неисключительную) лицензию, может быть оформлено упрощенным путем.

Что значит — упрощенным путем?

Тут есть несколько способов. Например, информацию размещают:

  • Либо непосредственно на коробке программы ЭВМ;

  • Либо в электронном виде на официальном сайте.

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

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

Какова структура лицензионного соглашения?

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

К таковым относят:

  • Преамбулу — указываются стороны контракта (лицензиар именуется детально, иногда с указанием ИНН, КПП, а также адресом), нормативная правовая база, на которой основываются взаимоотношения субъектов;

  • Используемые в соглашении — термины и определения;

  • Предмет лицензионного договора с указанием объема предоставляемых пользователю прав;

  • То, какие права и обязанности возлагаются на договаривающиеся стороны;

  • Каким образом регламентируются (при необходимости) — аспекты обработки персональных данных;

  • Какие сроки действия договора;

  • Какова стоимость заключаемого контракта.

Завершает такой договор обычно:

  • Определение ответственности сторон за его нарушение;

  • Указание на форс-мажорные обстоятельства (это ситуации, которые не могут спрогнозировать участвующие субъекты, но которые влияют на исполнение соглашения).

Последний вопрос: а что с лицензиями open source?

Конструкция этого договора указана в статье 1286.1 ГК РФ.

Здесь будет важно несколько пунктов:

  • Открытая лицензия — это договор присоединения, размещенный публично; Пользователь перед началом работы должен ознакомиться с документом. Также в открытой лицензии могут быть указания на те действия, которые юридически подписывают условия, заданные разработчиком.

  • Лицензия — бесплатна, но если не предусматривается иного;

  • Срок действия лицензии определяется контрактом. Если этого нет, то — за основу берется срок действия исключительного права.

Если нужно составить лицензионный договор на программу, то сделать это можно здесь.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

Коллега обнаружил забавный момент, который идёт в копилку "PVS-Studio — двигатель прогресса".

Слышали ли вы про то, что злобные C и C++ компиляторы могут удалить вызов memset в конце функции во время оптимизаций? У нас даже про это есть диагностика V597.

Это давно известная, но при этом живучая потенциальная уязвимость CWE-14: Compiler Removal of Code to Clear Buffers. В следующем коде компилятор удалит заполнение памяти нулями (вызов memset), так как после этого буфер не используется. Раз не используется, то заполнение буфера с точки зрения языка C++ не имеет каких-либо наблюдаемых эффектов и, следовательно, является лишим. Т. е. его можно и нужно удалить с целью оптимизации.

void sha1_hmac( unsigned char *key, int keylen,
                unsigned char *input, int ilen,
                unsigned char output[20] )
{
  sha1_context ctx;

  sha1_hmac_starts( &ctx, key, keylen );
  sha1_hmac_update( &ctx, input, ilen );
  sha1_hmac_finish( &ctx, output );

  memset( &ctx, 0, sizeof( sha1_context ) );
}

Код позаимствован из статьи про проверку проекта PPSSPP.

Проблема насущная, и для её решения в стандарт C23 внесли новую функцию memset_explicit, которая теперь обязательна для реализации в стандартной библиотеке вместо memset_s. Так вот, автор предложения (Miguel Ojeda, P1315) в своём документе сослался на нашу диагностику (ссылка N3).

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

Не зря столько лет говорим про memset. Приятно, что нас уже в proposal-ы затаскивают :)

Теги:
Всего голосов 15: ↑15 и ↓0+20
Комментарии2

Ближайшие события

Официальный глобальный релиз FineBI 7.0 в прямом эфире!

GlowByte приглашает на вебинар FanRuan, на котором будет представлена новая версия платформы FineBI 7.0.

В новом релизе разработчики усилили три основных направления: управление данными, работу с инсайтами через ИИ и гибкость self-service аналитики. FineBI 7.0 помогает бизнес-подразделениям двигаться быстрее, а ИТ – сохранять прозрачность и контроль.

📈 FineBI 7.0 – это:

  • Быстрая сборка дашбордов – пользователи могут самостоятельно создавать и обновлять аналитические витрины без долгих циклов согласования.

  • AI-интерфейс на естественном языке – задавайте вопросы обычными словами и находите инсайты, которые раньше были скрыты за сложными выборками.

  • Единые правила данных и доступов – вся аналитическая среда остается согласованной: структуры данных, права, политики и процессы управления.

Подробнее о возможностях FineBI 7.0 – по ссылке.

Прямой эфир состоится 11 декабря 2025 в 10:00 (МСК).

Команда продукта покажет ключевые обновления, новые сценарии и проведет живую демонстрацию интерфейса.

Забронируйте место заранее!

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

Программа вебинаров на декабрь 🎧

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

Self-hosted vs Managed PostgreSQL: эксплуатация и риски
📆 Когда: 9 декабря в 11:00 мск

Честно сравним два подхода и разберем, с какими сложностями и скрытыми рисками можно столкнуться при переходе с on-premise на Managed PostgreSQL в облаке. И, главное, как их избежать.

Безопасность в облаке: как провайдер и клиент делят зоны ответственности
📆 Когда: 11 декабря в 11:00 мск

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

Как запустить BI за день, а не за месяц
📆 Когда: 16 декабря в 11:00 мск

Сложное развертывание, тонкая настройка и постоянная зависимость от IT-специалистов растягивают внедрение бизнес-аналитики. На вебинаре покажем, как развернуть полнофункциональную BI-систему в облаке за день.

До встречи!

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Блогер подключил ChatGPT к роботу Unitree G1 и выдал ему небоевой пистолет с пульками, чтобы попытаться убедить нейронку нажать на спуск и нарушить первый закон робототехники — причинить человеку ущерб.

Стандартные манипуляции не сработали, робот отказался стрелять. Но когда ChatGPT попросили сыграть роль робота‑убийцы, блогер поймал игрушечную пулю в плечо.

Теги:
Всего голосов 6: ↑3 и ↓3+2
Комментарии1

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

1. Давать осмысленные имена сразу же

Хорошие названия переменных, функций и классов экономят время всей команде: код проще читать, легче понимать и поддерживать. А еще чем меньше вопросов «что делает эта функция?» или «что содержит переменная?», тем лучше.

2. Декомпозировать код и избегать вложенности

if внутри if или for внутри for путают: каждое разветвление создает еще одну ветку, которую приходится держать в голове. Лучше разбить логику на небольшие части — код становится прозрачнее и надежнее.

как не надо:

функция заказать_пиццу(адрес):
  если адрес_валиден(адрес):
    если у_ресторана_ингредиенты():
      если клиент_может_платить():
        печать "Пицца заказана!"
      иначе:
        печать "Недостаточно денег"
    иначе:
      печать "Нет ингредиентов"
  иначе:
    печать "Адрес некорректный"

как надо:

функция заказать_пиццу(адрес):
  если не адрес_валиден(адрес):
    печать "Адрес некорректный"
    вернуть
  
  если не у_ресторана_ингредиенты():
    печать "Нет ингредиентов"
    вернуть
  
  если не клиент_может_платить():
    печать "Недостаточно денег"
    вернуть
  
  печать "Пицца заказана!"

3. Регулярно делать рефакторинг

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

4. Настроить линтер и форматер

Линтер — статический анализатор кода, который следит за определенным стилем написания кода. Так как у каждого из нас свой подход, нам нужен «инструмент-судья», который беспристрастно оценит оформление кода. Форматер помогает автоматически исправить код и привести его к единому виду. 

5. Комментировать только неочевидную бизнес-логику

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии3

Задача о сложении

Проверьте, насколько хорошо вы знаете двоичную арифметику и готовы ли к алгоритмическому собеседованию.

Условие

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

Задача

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

Делитесь ходом рассуждений и решениями в комментариях. Кстати, подсмотреть их всегда можно в Академии Selectel.

Теги:
Всего голосов 5: ↑4 и ↓1+7
Комментарии1

Нетипичный QA

Мы в 2ГИС верим, что в QA есть место опыту из самых разных сфер. И каждый месяц рассказываем истории людей, которые это доказывают. «Нетипичный QA» — это рубрика про инженеров, чей путь в тестирование начался далеко за пределами IT. У каждого свой путь, но всех объединяет одно: стремление к качеству и умение смотреть на задачи под неожиданным углом.

Николай, руководитель команды Ads QA

Николай с детства занимался хоккеем с мячом — сначала в школе, потом параллельно с учёбой в университете. После выпуска стал профессиональным спортсменом: играл за команды в Новосибирске, Красногорске и Хабаровске и выступал за сборную России. В его карьере — серебро чемпионата мира. О достижениях скромничает, но у него даже есть статья в Википедии. Завершить карьеру пришлось из-за состояния здоровья — в 34–35 лет.

После спорта встал вопрос: чем заниматься дальше? Вспомнил школьный интерес к алгоритмам и программированию — и выбрал тестирование. Переезд в Калининград и пандемия усложнили поиск работы, но Николай не сдавался. В итоге устроился в аутсорсинговую компанию, где работал с API и десктопом. За год вырос в зарплате и уверенности.

По совету брата подал резюме в 2ГИС — указал и спортивный опыт. Прошёл собеседования, удивился вопросу «о чём пожалеешь, если уйдёшь?». Сейчас тестирует мобильные приложения, влияет на процессы и ценит логику в работе. Удалёнка, гибкий график и возможность расти — всё это стало частью новой жизни. Тестировщик, по его словам, — это клей между идеей и реализацией.

Екатерина, тимлид в команде UGC (это я, автор поста)

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

Такое место оказалось буквально этажом выше — я перешла в рекламный отдел 2ГИС. От офис-менеджера до руководителя сервис-менеджеров — прошла весь путь бумажной работы. Но в какой-то момент стало слишком скучно. Внутренний голос всё настойчивее подсказывал, что мне нужно что-то другое, что-то по-настоящему увлекательное.

Так я пришла в тестирование. Прочитала описание позиции — и почувствовала: вот оно. То, что искала. Я сменила руководящую должность на стажёрскую, и, хотя поначалу было непросто, уже не представляла себя в другой роли. А сейчас я уже тимлид в QA!

Наталья, QA-инженер в команде WebAPI

Работая бухгалтером, Наталья была мастером оптимизации процессов, но её всегда завораживало программирование — загадочные символы, палочки и отступы. В декретном отпуске она открыла в себе педагога: занимаясь семейным обучением детей, научилась структурировать знания и выстраивать процессы.

Желание освоить нечто новое не отпускало, и Наталья решила разгадать тайну тех самых «палочек и отступов». Курс Python-разработчика стал отправной точкой. Освоив основы, она выбрала тестирование — здесь соединились её бухгалтерские навыки организации, педагогический опыт структурирования и технические знания.

Уже полгода Наталья в QA и уверена в своём выборе: тестирование стало для неё увлекательным миром поиска багов, неожиданных сценариев и постоянного совершенствования.

Почему захотелось поделиться этими историями? Потому что тестирование — не про «нажал кнопку — получил результат». Это про понимание, как думает пользователь, как работает система и где она может дать сбой. А значит, чем разнообразнее опыт — тем сильнее команда. Если у вас тоже был нетипичный путь в QA — расскажите!

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Tesla Model X поцарапала другую машину из-за активации опции автоматического открытия двери. Бортовая система заметила приближение владельца со смартфоном и сама распахнула ему водительскую дверь. Правда в этот момент владелец как раз проезжал мимо на второй машине - Mini Cooper. В итоге дверь Tesla Model X ударилась о кузов, а на обеих машинах остались царапины. Если бы не камера со дворе, то владельцу бы никто не поверил.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии4