Чому деякі CV програють ще до співбесід та як ми будували ATS-платформу
Протягом останніх місяців, працюючи над CVBoosta — платформою для ATS-oriented оптимізації резюме, — я дедалі частіше повертався до однієї думки: величезна кількість кандидатів програє ще до того моменту, коли їхнє CV відкриває жива людина.
Причому мова йде не лише про junior-фахівців або кандидатів без комерційного досвіду. Навпаки — у багатьох випадках це стосується цілком сильних інженерів, дизайнерів, аналітиків або менеджерів, які мають релевантний стек, реальні проєкти та адекватний професійний бекграунд, однак усе одно отримують мінімальну кількість відповідей після сотень подач.
На певному етапі нас зацікавило не стільки саме питання «як покращити CV», скільки набагато глибша проблема — яким чином сучасні ATS-системи фактично інтерпретують, оцінюють та ранжують резюме ще до етапу людського перегляду.
Саме це і стало фундаментом для розробки CVBoosta.
І якщо чесно, то на старті вся система здавалася значно простішою, ніж виявилося на практиці.
ATS — це вже не просто keyword filter
Багато кандидатів досі сприймають ATS як примітивний keyword checker, який просто шукає збіг між словами у вакансії та словами у CV.
Частково це правда.
Однак після аналізу десятків систем, експериментів із parsing pipelines та тестування великої кількості resume/job description combinations стало очевидно, що сучасні ATS-процеси значно складніші та багатошаровіші.
Система може враховувати:
- semantic relevance,
- структуру документа,
- readability,
- consistency між секціями,
- measurable impact,
- контекст навичок,
- релевантність досвіду до вакансії,
- та навіть непрямі behavioral indicators у формулюваннях.
При цьому найбільш іронічна проблема полягає в тому, що значна частина CV, які візуально виглядають «сучасно» або «преміально», технічно виявляються майже непридатними для коректного ATS parsing.
Особливо це стосується:
- multi-column layouts,
- heavy graphic templates,
- дизайнерських CV із Canva,
- складних PDF structures,
- image-based sections,
- кастомних fonts та embedded visual blocks.
Фактично кандидат намагається зробити документ красивішим для людини, але водночас суттєво погіршує його машинну інтерпретацію.
Parsing виявився однією з найскладніших частин системи
На старті ми досить наївно припускали, що parsing layer буде майже технічною формальністю.
Здавалося, що pipeline виглядатиме приблизно так:
PDF → text extraction → normalization → analysis.
У реальності ж саме parsing став одним із найбільш нестабільних і непередбачуваних компонентів усієї системи.
Ми зіткнулися з:
- broken unicode,
- нелогічним порядком блоків після extraction,
- invisible symbols,
- різними PDF rendering engines,
- image-only resumes,
- таблицями, які руйнували структуру документа,
- та абсолютно хаотичними layout combinations.
Деякі резюме після extraction буквально перетворювалися на набір випадкових фрагментів тексту без будь-якої зрозумілої структури.
У певний момент стало очевидно, що ATS compatibility — це не лише про «правильні слова», а й про predictability документа для parsing systems.
І саме тоді ми почали значно більше уваги приділяти normalization layer, document structure analysis та readability heuristics.
Чому keyword matching перестав працювати
Ще одна річ, яку ми досить швидко зрозуміли під час побудови scoring engine, полягала в тому, що класичний keyword matching має дуже обмежену ефективність.
Наприклад:
- «Building scalable backend systems»
- «REST API development»
- «Designing distributed services»
можуть описувати дуже схожий engineering experience, хоча формально містять різні набори слів.
Саме тому ми почали рухатися в сторону semantic analysis та contextual relevance scoring.
Система почала враховувати:
- keyword density,
- contextual alignment,
- missing skill clusters,
- measurable achievements,
- role-specific terminology,
- strength of action verbs,
- consistency між experience sections,
- та signal-to-noise ratio всередині документа.
Окремо довелося експериментувати з weighting systems, normalization logic та penalty models, оскільки навіть незначні зміни scoring coefficients могли кардинально впливати на фінальний результат аналізу.
Інколи різниця між «average CV» та «high relevance CV» полягала буквально у кількох правильно перебудованих bullets.
SEO scaling несподівано став окремою engineering problem
Цікаво, що однією з найскладніших проблем усього проєкту виявився навіть не AI layer.
Найбільше несподіванок приніс SEO scaling.
Ми почали будувати велику кількість role-specific pages:
- resume keywords for backend engineer,
- ATS optimization for product manager,
- frontend developer resume examples,
- DevOps ATS matching,
і так далі.
Спочатку логіка здавалася очевидною:
чим більше якісних сторінок → тим більше search traffic.
Проте на практиці все виявилося значно складніше.
Ми зіткнулися з:
- indexing delays,
- duplicate intent conflicts,
- crawl budget limitations,
- canonicalization issues,
- thin content risks,
- нестабільною індексацією dynamic pages,
- та проблемами semantic overlap між сторінками.
У певний момент стало зрозуміло, що SEO scaling для SaaS — це фактично окрема engineering discipline, яка потребує не менш серйозного підходу, ніж backend architecture або infrastructure optimization.
Найбільш несподіваний висновок
Однак найцікавіший інсайт за весь час роботи над платформою був навіть не технічним.
Ми побачили, наскільки часто проблема кандидатів полягає не у відсутності навичок, а у слабкій передачі професійного сигналу.
Багато спеціалістів:
- недооцінюють importance presentation layer,
- не адаптують CV під вакансію,
- використовують generic wording,
- не показують measurable impact,
- або створюють занадто високий рівень information noise.
У результаті навіть сильний фахівець може виглядати для системи «нерелевантним», хоча в реальності має достатню кваліфікацію для ролі.
І чим довше ми працюємо над CVBoosta, тим очевиднішою стає одна річ:
ATS optimization — це вже не «маленький HR-трюк», а повноцінний технічний шар між кандидатом і реальною співбесідою.
І якщо цей шар працює погано, то навіть хороший досвід може так ніколи і не бути нормально оціненим.
Якщо цікаво подивитись як це працює це можна зробити тут: CVBoosta.com
19 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівМасово юзають автоматичну адаптацію резюме під вакансію.
Для розробників ATS вже заготовлений окремий VIP-казан. Найтепліше місце в ньому для ashbyhq.
Ну камон, не можна ж так відкрито палитись, що текст нагенеровано нейронкою.
Кажется, я знаю, чем вдохновлялся автор, когда печатал этот пост :)
www.youtube.com/watch?v=ITXVIK8KZuI
😂😂😂
Вітаю. Я думаю, що основна помилка — це відсутність якогось стандарту щодо резюме і, відповідно, людина не розуміє, чого йде відмова саме по конкретної ролі, коли всі requirements наче підходять.
В цілому, при правильному налаштуванні- користь АТS є, але ще й руцями теж скринінг робити ніхто не відміняв.
Так, згоден з вами, але в даний момент ринок дійсно зламаний
100%
айтішнічки так часто брехали в резюме, що тепер їх резюме не може пройти хоча б в смітник.
Частково проблема справді в цьому. Але цікаво, що сьогодні відсіюються не тільки ті, хто прикрашає свій досвід.
Часто відмову отримують і цілком кваліфіковані кандидати просто тому, що їхнє резюме не збігається з тим, як ATS інтерпретує вакансію. У результаті система може відхилити людину ще до того, як її профіль побачить рекрутер.
Тому зараз проблема вже не лише в правдивості резюме, а й у тому, як його читають автоматизовані системи.
А ругліш/укугліш/чи_як_він_зараз_зватиметься враховується в CV?
Я не знаю, чи взагалі варто вдумуватись в статтю, де тисячі загальних слів про то, що ви щось для себе покращили, але не можете навіть написати «передбачуваність».
Питання до редакції: чи вважаються такі статті дійсно написаними українською, як в вимогах до статей на цьому сайті?
І це — ви взагалі кого шукаєте, ведучих комік-шоу чи IT спеціалістів?
Через редактуру людьми воно би не пройшло і довелось би переписувати під широку аудіторію як колись казав один мій колега коли ми робили технічну документацію до родукту : «Писати треба як в журнал Мурзілка». Це набагато важче ніж здається. Це ж з форумів якось переїхало, хоча стаття 100% і злободневній по актуальній для народу темі.
Дякую за коментар.
Щодо англомовних термінів — ATS, parsing systems, measurable impact, compatibility — це загальноприйнята професійна лексика, яка використовується в міжнародному HR та IT-середовищі. Їх застосування не означає, що текст перестає бути українським.
Щодо слова «передбачуваність» — справді, можна було використати і його. Це питання стилю, а не змісту матеріалу.
Але мене більше дивує інше. Замість обговорення самої проблеми — того, що тисячі кандидатів відсіюються автоматизованими системами ще до контакту з рекрутером — ви зосередилися на пошуку кількох англіцизмів у тексті.
Якщо головний контраргумент до матеріалу — це не фактичні помилки, не хибні висновки і не недостовірні дані, а слово ATS чи measurable impact, то це радше підтверджує основну тезу статті, ніж спростовує її.
І ні, ми не шукаємо ведучих комік-шоу. Ми шукаємо способи допомогти людям отримувати більше шансів на співбесіду в реальному ринку праці.
Це не проблема, якщо відсів іде за правильними принципами. І проблема, якщо ні, за тим, що рекрутеру не сподобався знак зодіаку кандидата, чи те, що кандидат не вміє (не хоче) в linkedin speak і розповісти, як він замість «поміняв лампочку» має писати «власноручно керував і втілював модернізацію системи освітлення без перерозходу бюджету і без інцидентів з безпекою».
І саме тому, коли ви кажете зараз
а перед тим в самій статті писали про reasonable impact чи reasonable achievement, про «професійний сигнал» — нема можливости зробити інший висновок, ніж те, що нормальних працівників ваша система перетворює на акторів комік-шоу «як я поміняв лампочку... а тепер те ж саме на годину базвордів», і ви на це навмисно зміцнюєте.
ATS — такий же засіб, як будь-що компʼютерне. Він підсилює і ваш розум, і вашу безглуздість. І в статті ви не показали реальний приклад чогось розумного, а ось маркери нісенітниці були видані в повний зріст.
Вангую, ви тепер напиратимете на те, що це вже не ваші системи фільтрують, а ваші просто підлаштовуються під них, «з вовками жити» і все таке. Але ви розумієте, що розкручуєте чергове змагання броні і снаряда на новий рівень і ідете на поводу у найгірших тенденцій? І, описуючи це в термінах HR головного мозку, ви вже на їх боці?
Тут я частково навіть погоджуся.
Якщо ATS відсіює кандидатів за релевантними навичками, досвідом та відповідністю вакансії — це нормально. Проблема виникає тоді, коли система не може коректно інтерпретувати інформацію через структуру документа, відсутність ключового контексту або нестандартне оформлення.
І саме тут часто виникає непорозуміння.
Оптимізація резюме — це не про перетворення фрази «поміняв лампочку» на абзац корпоративного фольклору. Я теж вважаю, що резюме, наповнені базвордами та штучним пафосом, не роблять кандидата сильнішим.
Але є різниця між прикрашанням досвіду та його коректним описом.
«Писав Python-скрипти» і «автоматизував рутинні процеси за допомогою Python, скоротивши час виконання задач» — це не акторська майстерність. Це додатковий контекст, який дозволяє зрозуміти результат роботи.
Щодо статті — справедливе зауваження. Можливо, варто було додати більше конкретних прикладів до та після, щоб дискусія була про практичні кейси, а не про термінологію.
Але теза залишається незмінною: хороше резюме не повинно вигадувати досягнення. Воно повинно робити вже наявний досвід зрозумілим як для людини, так і для системи, яка його аналізує.
Навіщо воно потрібно коли є купа чатів, які згенерують під вакансію і видадуть готовий PDF?
Це справедливе питання.
Проблема в тому, що більшість чатів просто переписують резюме під вакансію. Вони не знають, як його оцінює ATS, не показують слабкі місця, не аналізують відповідність вимогам і не дають зрозуміти, чому саме резюме може відсіюватися.
CVBoosta не просто генерує новий PDF. Ми аналізуємо CV та вакансію, визначаємо відсутні ключові слова, оцінюємо ATS-сумісність, підсвічуємо проблемні секції та допомагаємо адаптувати резюме під конкретну позицію.
Багато користувачів уже приходять до нас саме після ChatGPT та інших АІ, тому що отримали «гарне» резюме, але все одно не отримували запрошень на співбесіди.
АІ — чудовий інструмент для генерації тексту. CVBoosta — це інструмент для підвищення шансів пройти через ATS та потрапити до рекрутера.
а в такому разі, яке «приховане знання» є у вашому сервісі? Хіба там не просто ШІ який проганяє сіві через промпт?
Мені просто цікаво, так як у себе на стороні ви можете зробити гарний продукт, але ж ми ніколи не знаємо, який ATS використовує компанія, в яку ми подаємось. Там всередині може бути той самий сервіс, який криво-косо буде читати вхідну інформацію і давати хибний результат, а HR не будуть звертати уваги, бо і так резюме з неба падають без ліміту.
Головна ілюстрація цього тут:
Виходить, що просто кілька слів можуть мати величезний вплив на ATS, в той час коли ти собі одне місце рвеш, поліруючи «behavioral indicators у формулюваннях» чи ще щось :)