Login Sign Up
Advert
Your ad spot
Reserve this exclusive slot for the selected period.
Buy advertising →
Telegram community logo - Мій шлях в IT (JavaScript Frontend)
Added 06 Jan 2025

Мій шлях в IT (JavaScript Frontend)

@frontend_blog1
Number of subscribers: 236
Photos: 30
Links: 56
Description:
Блог про мій шлях до IT індустрії Якщо потрібна безкоштовна допомога чи порада: @maxim_lg_ua Мій профіль на LinkedIn linkedin.com/in/maksym-maslov

👥 Number of subscribers

236
Average/Day:: +1
Average/Week:: +2
Average/Month:: +2

👁️ Average views per message

260
Average/Day:: 291
Average/Week:: 269
ERR: 110.17%

📊 Messages per Day

0
Last day: 0
Week average: 0
Average per day: 0

Status change history

Officially not confirmed 2025-01-06

Wall

Telegram statistics channel

Повністю автоматизував пошук релевантних вакансій за допомогою n8nСтворив наступний флоу:1️⃣ Кожні 30 хвилин оновлюються й читаються сторінки з вакансіями в моєму напрямку2️⃣ Визначається чи є нові вакансії3️⃣ Якщо вони є, вони відправляються на аналіз ШІ4️⃣ Далі, на підставі заданих параметрів, моїх скіллів, досвіду та вимог, ШІ оцінює на скільки ця вакансія мені підходить. Система оцінки працює за принципом нарахування та зняття балів5️⃣ Якщо метч >= 75/100, то ШІ формує коротке ревʼю вакансії, сильні та слабкі сторони, нюанси та ред флаги, а також пише шаблон cover letter для поточної вакансїї6️⃣ Така вакансія записується в Google Sheets, а мені в телеграм бот приходить повідомлення з посиланням на вакансію, % метча, та інформацією, перерахованою в попердньому пунктіКлючові моменти:🤖Модель обрав Сlaude Haiku 4.5, бо вважаю її достатньою для роботи з подібною складністю і при цьому отримую великий плюс у вигляді дешевезни запитів.💻 Визначення наявності нових вакансій відбувається через JS, то ж ШІ підключається тільки якщо вони є. Це забезпечує значну економію токенів без зайвих запитів до ШІ кожні 30 хвилин💰 Насправді вакансій дуже мало. За один день може зʼявлятися від 1 до 7 вакансій в цілому в напрямку Frontend, тобто це також запобігає зайвих витрат✏️ І так, я ще не пустив автоматизацію в "вільне плавання", вже декілька разів уточнював промпт та систему оцінки, бо було таке, що релевантні вакансії ігнорувалися, а нерелевантні навпаки пропонувалися. Тобто ще знаходжусь в процесі "відточення"Оскільки я орієнтуюсь на український ринок, підʼєднав найефективніший ресурс - DOU. Розглядати linkedin в якості джерела вакансій я перестав, бо як на мене, це переважно просто шум. Принаймні конверсія з них нульова.Не хочу також підʼєднувати work ua та robota ua, бо там зазвичай не вакансії, а анектоди на кшталт Senior Fullstack зп 20 000грн. Крім того, на цих ресурсах також багато "шуму", багато завчасно нерелевантних вакансій, а їх треба усі читати та аналізувати за допомогою ШІ ⚠️ Важливо!Для тих, хто також хоче автоматизувати свої пошуки, спочатку раджу автоматично зчитати і записати в окрему таблицю посилання на вже існуючі вакансії, щоб на підставі цієї таблиці, визначалися тільки нові. Інакше при першому проході workflow можуть закинуться сотні вакансій (тобто усі існуючі) в промпт ШІ для аналізу, і в кращому випадку у вас впаде запит, в гіршому - баланс улетить в мінус.
Маркетинг та продажі - це найважливіші речі у будь якому бізнесі або напрямку роботи(Це більш розширена версія мого посту з Лінкедину)Чому програміст пише пост на цю тему?Все частіше натикаюся на дописи, з такими думками:Хорошому спеціалісту не треба себе продавати Я не товар, я - людина Компанія найняла гіршого працівника, хоча я набагато скілловіше та відповідальніше Все, що я напишу нижче так або інакше приходить до людей, які знаходяться у пошуку роботи рано чи пізно. Спочатку через невіру, потім через заперечення, але приходить. І я - не виняток.Давайте змоделюємо ситуацію. Ви - бізнес. Ви найняли найтоповіших спеціалістів на планеті та зробили дійсно крутий, сучасний та дуже важливий продукт.Якщо ви не можете його продати, то яка різниця на скільки якісний ваш продукт, на скільки кваліфікована команда? Ви будете безрезультатно запевнювати себе, що цей продукт всім потрібен чи ви почнете запевнювати в цьому потенційних покупців?Так працює будь який ринок, так працює капіталізм.І питання зовсім не в тому, щоб брехати в CV чи на інтервʼю, або доводити, що ти краще за інших. Питання в тому, щоб просто сформулювати зрозумілу самопрезентаціюЯ дійсно вірю, що люди, які поки ще не прийняли ці реалії є дійсно класними і відповідальними фахівцями. Їм залишається лише запевнити в цьому інших.Чи подобається це мені? - Ні! Звісно хочеться, щоб все було легше, щоб все було "як раніше", коли початківців в IT брали "з вулиці".Як ще один приклад "несприйняття" дійсності:Після мого останнього допису про нових світчерів в IT, мені написало дві людини, які доводили мені, що LinkedIn не працює, але і роботу вони не можуть довго знайти, бо неможливо навіть потрапити на співбесіду. І саме цікаве, що це буквально те, про що я писав в дописі.
Підсумки 2025 рокуДрузі, ще один рік добіг кінця. Цього разу він відчувався зовсім інакше, ніж попередні. Якщо раніше я ще щось активно планував, щось собі намічав наперед, то цього року я майже повністю від цього відійшов. Життя нам постійно дає зрозуміти, що далеко не завжди все йде за планом, постійно зʼявляються обставини, задачі, пріоритети, які змінюють хід подій. І я вирішив більше не прив’язуватися до жорстких очікувань, щоб потім не розчаровуватись, якщо щось пішло не так.Цей рік був про роботу, фокус і глибину:🌠 Розібрався з рядом низькорівневих речей у програмуванні, до яких раніше просто не доходили руки. 🌠 Почав писати масштабний фуллстек пет-проєкт, працюю над ним вже третій місяць. Часу, як завжди, не вистачає, але є велике бажання, щоб до наступного Нового року він уже був запущений.🌠 Прийняв остаточне рішення змінити курс в напрямку fullstack і вже записався на перші курси.🌠 Окремо хочеться згадати про ШІ. Цього року я почав значно активніше використовувати його в роботі. Він реально прискорює розробку. Але у будь-якому разі це точно окрема тема для окремого поста або навіть статті.🌠 Також цього року сталася важлива для мене річ — я написав статтю, яка отримала дуже багато позитивних відгуків і зайняла перше місце на DOU. Це було неочікувано і дуже приємно.🌠 Навіть знов написав, вже мого третього Таємного Санту на Node.js + Express.js + TelegramAPI (Але про це окремо)🏆 Найбільший особистий фокус цього року — це, без сумнівів, англійська. Я без перебільшення почав займатися нею в рази більше, ніж раніше. Нарешті вийшов новий рівень і тепер у переписках англійською вкрай рідко користуюся перекладачем. В цілому, основне зусилля за останній рік я вклав саме в мову — і дуже цьому радий.Рік вийшов не таким, як я колись міг би його запланувати. Але він точно не був поганим. Він був чесним, робочим, місцями складним, місцями дуже приємним — таким, яким він і мав бути.Хочу побажати всім у новому році знаходити свої точки опори, берегти нерви й не втрачати відчуття, куди і навіщо ти йдеш. Всіх з Різдвом, та наступаючим Новим Роком!🎄
Ну що ж. Сьогодні виповнилося рівно два роки, як я працюю frontend-розробником у компанії Ensuria.Час пішов ще швидше, ніж у перший рік. І якщо тоді це був постійний потік нового, незрозумілого й місцями хаотичного, то другий рік відчувався вже зовсім інакше. Більше ясності. Більше внутрішнього розуміння того, що відбувається навколо.📍За цей рік я ще глибше почав бачити роботу зсередини. Розуміння процесів, продукту, його логіки й слабких місць у мене було й раніше, але тепер цього стало відчутно більше. І це вже не просто про виконання задач, а про розуміння, як і чому все працює саме так.📍Зникає нервовість перед складними задачами. Те, що раніше могло здаватися перевантаженим або ризикованим, тепер сприймається спокійніше. Є впевненість, що майже з будь чим можна розібратися, питання лише в часі.📍Я став значно спокійніше реагувати на правки, зміни, факапи, несподіванки. Те, що раніше могло сильно вибивати з робочого ритму, тепер сприймається як частина процесу. Не завжди комфортна, але вже звична.📍Інакше почав бачити й саму компанію та внутрішні процеси. Стало краще помітно, як ухвалюються рішення, де є стратегія, а де імпровізація, що тримається на процесах, а що - на людях. Ці спостереження багато що змінили в сприйнятті роботи загалом.📍Другий рік також навчив уважніше ставитися до власного ресурсу. Я чіткіше відчуваю свої межі, краще розумію, коли варто включатися на максимум, а коли зупинятися, щоб не вигоріти. Це сильно вплинуло на загальний стан.Ці два роки багато що розклали по полицях у голові - і про професію, і про роботу, і про себе в цій ролі. Без ілюзій, але й без розчарувань. Просто досвід, який залишається зі мною.Зараз, обертаючись назад, розумію, що радий, що ці два роки провів саме тут.
Минулого тижня в мене відбулася онлайн зустріч з представницею DOU за їхнею ініциативою. Мета зустрічі була познайомитися ближче, обсудити мою участь в житті спільноти, потенційні сумісні заходи, івенти, колобарації та ідеї.В мене запитали фідбек про функціонал DOU, ідеї та пропозиції, що можна покращити на порталі, а також поділилися інформацією про нові фічі та деякими майбутніми покращеннями.З чого я був здивований, так це те, що виявляється, що за мірками DOU, кількість переглядів моєї останньої статті - це чи мало не нонсенс. Бо 4,5К переглядів за такий короткий час зі спільнотою фронтедерів на DOU в 5К - це не найвищий, але дуже високий показник.Мені стало цікаво, я пробігся по технічним статтям на DOU і так, виявилося, що переважна більшість з них не набирає навіть 1000 переглядів.Загалом мої 4 статті мають 31 000+ переглядів, що в середньому виходить 7750 на одну статтю.В процесі розмови також зʼясувалося, що 4 статі на DOU для одного автора - це те, чим реально можна пишатися.Враховуючи все вищенаписане, не буду скромничати, я дійсно пишаюся собою.Над останньою статтею я ретельно працював дуже багато часу, по декілька разів переписував одне й те саме, щоб вона читалася максимально легко, на скільки це можливо. Можна сказати, без перебільшень, що я вклав в неї душу і отримав за це винагороду у вигляді своєрідого визнання, підтримки і уваги до себе зі сторони IT спільноти. Щиро вдячний DOU за можливість розвиватися в цьому напрямку, за ентузіазм, підтримку авторів та натхнення рухатися вперед. А також за приємний подарунок 😊
Топ три "прикола" в резюме.Хочу, мабуть, останній раз повернутися до резюме розробників, які я опрацьовував.Багато з них було зі своїми «приколами», але я виділив найцікавіші. 3️⃣ МісцеІмʼя - ДмитроПросто ДмитроКандидат вирішив що Прізвище можна опустити2️⃣ Місце"У мене достатньо досвіду, але я готовий працювати навіть за мінімальну зарплату."Знаєте скількі це "достатньо"? Ось і я не знаю, ніхто не знає.Але далі цікавіше:Стек технологій:MySQL, Git, Node.js, TypeScript, SQL, Ruby, JavaScript, Phyton, PHP, Java, ESMAScript, CSS, CSS Flexbox, CSS Grid Layout, SASS, SCSS,LESS, Stylus CSS, Nib, DOM, ESLint, Prettier, EditorConfig, Npm, GitHub, HTML, Git Bash, FAR Manager, ConEmu,CMD, JSON, PostgreSQL, VS Code, Vagrant, Docker, AJAX, REST, Знання принципів ООП, Bootstrap, React, Vue 3, Figma, JQuery, MongoDB, BOM, React Native, React Hooks, React Query, Yml, HTML5, Webpack, Vite.js, PugЛокація кандидата: ЄСОчікувана зп: 400 Євро1️⃣Місце🏆Людина пише, що вона вимушено проживає на окупованій території і повідомляє, що чомусь роботодавці через це агресивно налаштовані, незважаючи на те, що вона мешкає там виключно через життєві обставини. (Пише це, звісно, російською, але для мене це не є "ред флагом", просто особисто я б так не робив).Відкриваю резюме. У списку мов, якими володіє кандидат присутні прапори, в тому числі і триколор.Вішенка на тортіAddress: Donetsk, Russia*ситуації реальні, імена замінені
Як писав в попередньому пості, нещодавно мені довелося побувати на "іншій стороні барикад" та за короткий час опрацювати близько 60 резюме кандидатів на посаду WordPress веб розробника.Один з цікавих фактів - необхідність надати коментар для кожного кандидата, щоб з цього коментаря HRи сформували фідбек і надали його кожному, хто не пройшов перший відбір.В першу чергу хочу сказати, що це абсолютно правильний і гідний підхід, який, на жаль, використовують, на мій погляд, не більше ніж 5% компаній. І кажу не про ринок IT, а про ринок праці в цілому. Але зі сторони людини, яка робить цей відбір, я хочу сказати, що мені довелося провести колосальну роботу, від якої я навіть зміг втомитися.Я не хотів, щоб якийсь гідний кандидат був випадково непомічений, через поверхневий перегляд резюме. Тому я ретельно вивчав кожне. Я дивився на навички, знайомився з досвідом роботи, звертав увагу на те, де, коли і скільки часу людина працювала на попередніх посадах, переходив по кожному посиланню в портфоліо, тестував майже кожну роботу, будь це пет або комерційний проєкт, швидкість завантаження контенту, адаптив, наявність багів.І повторюсь, що це дуже втомлює. Резумуючи, я тепер прекрасно розумію, коли кандидати відправляють резюме "в пустоту". Але я вирішив, що не буду підтримувати цю "традицію", незважаючи на навантаження. І прошу усіх, якщо комусь доведеться робити те саме, робіть це відповідально, приділіть увагу резюме, відповідайте людям, які подаються на вакансії, хочаб всім тим, хто не полінувався і написав супровідного листа. І не забувайте, що в будь який момент ви можете потрапити на місце такого кандидата.
Нещодавно мені довелося проводити відбір на посаду WordPress розробника. Моє конкретне завдання було відсіяти нерелевантних кандидатів.Оскільки, на моє здивування, переважна більшість отриманих резюме не містили посилання на Git, а сам я знайомий з WordPress лише поверхнево, мої критерії відбору були наступними:☑️ Релевантний досвід (Було розуміння рівня складності наших проектів і бюджета на посаду)☑️ Наявність портфоліо☑️ Якість портфоліо (Рівна, правильна, адаптивна верстка, швидкість завантаження контенту, коректна поведінка при масштабуванні екрану та семантика)Відповідно через неспівпадіння цих критеріїв, я "скіпав" кандидатівІ тут я замислився. Я усвідомив, як важливо для працевлашування, особливо на першу роботу, наявність якісного портфоліо. Бо я впевнений, що я далеко не єдина людина, яка звернула на це увагу при відборі кандидатів.Я розумію, що це трошки про різні речі, бо переважна більшість WP розробників або працює на фрілансі, або у веб студяіх, які беруть замовлення на фріланс біржах, і їх робота - це переважно сайти, а не веб додатки. І в їх випадку не мати портфоліо чи якогось натяку на частину роботи над спільним проєктом, як на мене, дуже дивно. Але, якщо казати про позицю trainee React розобника, то компанії також дивляться на портфоліо, тому раджу усім початківцям обовʼязково писати пет проєкти.Щодо досвідчених розробників, то це вже треба більше для того, щоб опановувати нові технології, особисто коли довго працюєш за одним й тим самим стеком.Більш детально мої спостередження за досвідчененими розробникками, я напишу окремо Резумуючи, в обох випадках, на жаль, сьогодні треба пахати, щоб залишатися "на плаву" в ITДо теми відбору кандидатів я ще повернуся в наступному пості, адже є моменти, якими хочу поділитися.
Вчора в мене була одна з ситуацій, які, на жаль, періодично трапляються.Я витратив майже три години, щоб замінити " " на " ". Без перебільшень. Надаю скрін з пулл реквеста.Задача була в тому, щоб пофіксити вміст буфера обміну при копіюванні повідомлення в чаті. Цей зміст мав переклади через react-i18next, які містили динамічні данні, які під час перекладу повинні були підставлятися зі змінних.В двох словах як це повинно було працювати:const message= "Hello world"const translate = t("copyMessage", { message }); а десь в файлах en/uk.json:{ copyMessage: "Your message is {message}"} console.log(translate) // "Your message is Hello world" Натомість я отримував "Your message is {message}".Я перелопатив доку i18next, я переписував конфіги, намагався відокремити символи переноса рядків від фігурних дужок, я годину спілкувався з чатом GPT і в решті решт, просто випадково, стер один "пробіл" і поставив інший. І все запрацювало.Звідки там взявся саме такий пробіл і чому раніше все працювало?Справа в тому, що тут стояв якийсь "неразривний пробіл", який міг потрапити в цей файл у випадку, коли текст було скопійовано з якихось нотаток, якогось редактору тексту чи перекладача. І візуально відрізнити їх просто неможливо.Раніше цей проєкт був на Next і ми використовували для перекладу лібу "next-intl". Нещодавно ми видалили Next і залишили тільки React, і були вимушені перейти на "react-i18next". Чому саме так - я не можу сказати, бо я не інвестігейтив це питання і під час цього переходу працював на іншому проєкті. Але справа в тому, що в "next-intl" все працювало, а в "react-i18next" цей пробіл просто зламав весь функціонал.Ось так буває, лінтер і prettier не сваряться, все чудово білдиться, але бага все одно може бути через один неочевидний символ.
Нещодавно був 1 рік як я працюю frontend developer в компанії Ensuria. Цей рік був насичений різними викликами, новими знаннями та супершвидкими темпами роботи. Хоча через два місяці роботи в цій компанії мені здавалося, що я вже працюю в ній рік, обертаючись назад, я розумію, як швидко пролетів час.В самому початку довелося розбиратися з нуля з React Native та мучитися з TypeScript. Це давалося не дуже легко, бо одна справа вчити щось нове, інша справа, коли тобі відразу треба розробляти та підтримувати застосунок на комерційному проєкті на нових технологіях.Але я відносно швидко розбирався в новому через те, що мені дали на це час, не чекали від мене надто швидких результатів і складність завдань збільшували поступово.Також хочу додати, що розбиратися в проєкті !== знати якісь технології, які в ньому використовуються, або швидко орієнтуватися в його файловій структурі. Приблизно 40% знань, які я застосовую в роботі відносяться до знань самого продукту, який ми розробляємо. Це не точечний функціонал, або набір функцій - це розуміння повністю того, які потреби, як і для кого ми закриваємо, розробляючи застосунок.Це був мій перший рік безперервної роботи в одній компанії з тих пір, як я став на шлях розробки. Крім серйозної прокачки хард скіллів, я дізнався багато цікавого про функціювання бізнесу, про взаємодію з його партнерами та кінцевими користувачами. В мене в голові абсолютна інша картина стосовно організації бізнес процесів, ніж була три роки назад. І, можливо, якщо б я мав її тоді, то я б і не змінював професію. Але, все одно, ніхто не знає до чого б це привело в результаті. Хочу сказати, що все, що не робиться - робиться на краще.Я дуже радий, що я зараз саме в тому місці, де я є.