В FAANG (Big Tech) компаніях немає тестувальників
Дуже часто чую думку, що в у технологічних лідерах ринку зовсім немає тестувальників. Усі - тільки менеджери та програмісти. І всьо.
Але ось знайшов лінку, де можна подивитись інформацію про вакансії тестувальників в Apple, Amazon, Nvidia.
Так, це вакансії з Долини. Але можна подивитись на вимоги та бажані навички.
Але наявність вакансій не означає, що тренд на хороших інженерів (тих хто може робити багато всього) кудись зник. Так чи інакше - інженерів шукають набагато більше, ніж просто тестувальників.
Дуже часто чую думку, що в у технологічних лідерах ринку зовсім немає тестувальників. Усі - тільки менеджери та програмісти. І всьо.
Але ось знайшов лінку, де можна подивитись інформацію про вакансії тестувальників в Apple, Amazon, Nvidia.
Так, це вакансії з Долини. Але можна подивитись на вимоги та бажані навички.
❤29
Модель отримання навичок братів Дрейфус
#thinking #learning
Коли ми навчаємось чи навчаємо когось (як ментор чи на курсах), треба розуміти як люди взагалі отримують нові навички. Одна з моделей, яка може розповісти про це - це модель Стюарта та Губерта Дрейфусів. Згідно з цією моделлю, кожен студент проходить крізь пʼять різних етапів: новачок, просунутий початківець, компетентний спеціаліст, досвідчений спеціаліст та експерт.
Етап 1 - Новачок
У новачків немає або дуже мало досвіду. Новачки навіть не стільки вчаться, скільки хочуть виконати конкретну задачу в моменті часу. Новачкам потрібні рецепти (покрокові інструкції).
Проблема з рецептами в тому, що вони позбавлені контексту. То ж неможливо зробити "універсальні рецепти на усі випадки".
Етап 2 - Просунутий початківець
Просунуті початківці вже можуть потроху "ламати правила". Вони навіть можуть формулювати свої рецепти, але все ще не можуть досліджувати проблеми глибоко. Просунутим новачкам не цікаво знати проблему в масштабі. Але вони можуть користуватись порадами в нових контекстах, які схожі на ті, що вже траплялись. В початківцях ще не сформувалось цілісне розуміння (та й немає бажання його отримати).
Етап 3 - Компетентний спеціаліст
Компетентний спеціаліст може "дебажити" проблеми. Такі люди можуть взяти задачу, дослідити її та знайти рішення на основі їх досвіду. Компетентні люди можуть навіть займати лідерські позиції в команді.
Етап 4 - Досвідчений спеціаліст
Досвідченим спеціалістам потрібна цілісна "велика" картина. Вони прагнуть зрозуміти підходи на концептуальному рівні, то ж можуть страждати від занадто спрощеної інформації. Такі спеціалісти можуть аналізувати свої результати та робити висновки про зміни (покращення) в підходах. Вони також можуть вчитись на досвіді інших - зі статей, дослідницьких робіт, доповідей. Додатково - на цьому рівні люди можуть застосовувати "кращі практики" в залежності від конкретного контексту.
Етап 5 - Експерт
Експерти - то найперші джерела знань та інформації в команді, компанії, індустрії. Вони постійно у пошуку нових та кращих методів. Це саме ті люди, що пишуть книжки, виступають з лекціями. Експерти довіряють власній інтуїції. Експерти знають різницю між важливими та другорядними деталями
Гаразд, але що з того?
- Більшість людей знаходяться на рівні просунутий новачок
- Новачкам потрібні люди, які б їх направляли та давали зворотній звʼязок
- Продуктивність експертів падає, якщо підходи й правила єдині для всіх рівнів
- Користуйтесь правила та гайдами для новачків, залиште інтуїцію для експертів
- Експерти не завжди найкращі вчителі, бо вони мислять паттернами, які подекуди не можуть пояснити іншим
- Кожна наша окрема навичка рухається згідно моделі Дрейфусів. То ж можна "прокачувати" навички наче окремі гілки героя в RPG
- Не достатньо просто практикуватись 10000 годин. Треба розбивати практику на конкретні задачі потрібної складності, мати постійний зворотній звʼязок щоб виправляти помилки одразу
- Для швидкого прогресу потрібно оточувати себе більш експертними людьми в команді
- Ми вчимося краще коли спостерігаємо та імітуємо. То ж сесії парного тестування чи програмування можуть стати у нагоді
#thinking #learning
Коли ми навчаємось чи навчаємо когось (як ментор чи на курсах), треба розуміти як люди взагалі отримують нові навички. Одна з моделей, яка може розповісти про це - це модель Стюарта та Губерта Дрейфусів. Згідно з цією моделлю, кожен студент проходить крізь пʼять різних етапів: новачок, просунутий початківець, компетентний спеціаліст, досвідчений спеціаліст та експерт.
Етап 1 - Новачок
У новачків немає або дуже мало досвіду. Новачки навіть не стільки вчаться, скільки хочуть виконати конкретну задачу в моменті часу. Новачкам потрібні рецепти (покрокові інструкції).
Проблема з рецептами в тому, що вони позбавлені контексту. То ж неможливо зробити "універсальні рецепти на усі випадки".
Етап 2 - Просунутий початківець
Просунуті початківці вже можуть потроху "ламати правила". Вони навіть можуть формулювати свої рецепти, але все ще не можуть досліджувати проблеми глибоко. Просунутим новачкам не цікаво знати проблему в масштабі. Але вони можуть користуватись порадами в нових контекстах, які схожі на ті, що вже траплялись. В початківцях ще не сформувалось цілісне розуміння (та й немає бажання його отримати).
Етап 3 - Компетентний спеціаліст
Компетентний спеціаліст може "дебажити" проблеми. Такі люди можуть взяти задачу, дослідити її та знайти рішення на основі їх досвіду. Компетентні люди можуть навіть займати лідерські позиції в команді.
Етап 4 - Досвідчений спеціаліст
Досвідченим спеціалістам потрібна цілісна "велика" картина. Вони прагнуть зрозуміти підходи на концептуальному рівні, то ж можуть страждати від занадто спрощеної інформації. Такі спеціалісти можуть аналізувати свої результати та робити висновки про зміни (покращення) в підходах. Вони також можуть вчитись на досвіді інших - зі статей, дослідницьких робіт, доповідей. Додатково - на цьому рівні люди можуть застосовувати "кращі практики" в залежності від конкретного контексту.
Етап 5 - Експерт
Експерти - то найперші джерела знань та інформації в команді, компанії, індустрії. Вони постійно у пошуку нових та кращих методів. Це саме ті люди, що пишуть книжки, виступають з лекціями. Експерти довіряють власній інтуїції. Експерти знають різницю між важливими та другорядними деталями
Гаразд, але що з того?
- Більшість людей знаходяться на рівні просунутий новачок
- Новачкам потрібні люди, які б їх направляли та давали зворотній звʼязок
- Продуктивність експертів падає, якщо підходи й правила єдині для всіх рівнів
- Користуйтесь правила та гайдами для новачків, залиште інтуїцію для експертів
- Експерти не завжди найкращі вчителі, бо вони мислять паттернами, які подекуди не можуть пояснити іншим
- Кожна наша окрема навичка рухається згідно моделі Дрейфусів. То ж можна "прокачувати" навички наче окремі гілки героя в RPG
- Не достатньо просто практикуватись 10000 годин. Треба розбивати практику на конкретні задачі потрібної складності, мати постійний зворотній звʼязок щоб виправляти помилки одразу
- Для швидкого прогресу потрібно оточувати себе більш експертними людьми в команді
- Ми вчимося краще коли спостерігаємо та імітуємо. То ж сесії парного тестування чи програмування можуть стати у нагоді
👍32❤4
Сьогодні просто цікава ілюстрація важливих навичок тест інженера. Тобто це не тільки інструменти та автоматизація ... (З матеріалів Satisfice.com)
👍26
Automated Accessibility Testing at Slack
#testing #automation
Якщо комусь не вистачає матеріалів з accessibility тестування - маю вкрай цікаву статтю. В ній розповідають як такий вид тестування виконують в Slack.
Цікаво, як завжди.
#testing #automation
Якщо комусь не вистачає матеріалів з accessibility тестування - маю вкрай цікаву статтю. В ній розповідають як такий вид тестування виконують в Slack.
Цікаво, як завжди.
Engineering at Slack
Automated Accessibility Testing at Slack - Engineering at Slack
At Slack, customer love is our first priority and accessibility is a core tenet of customer trust. We have our own Slack Accessibility Standards that product teams follow to guarantee their features are compliant with Web Content Accessibility Guidelines…
👍25❤2
Як пишуть код в NASA
#engineering
Знайшов коротенький документ, що описує вимоги до написання коду в NASA. Тобто це "код для rocket science 🚀".
10 правил для safety-critical коду (на мові С):
1. Користуйтеся тільки простими конструкціями управління
2. Усі цикли повинні мати фіксований ліміт
3. Не користуйтесь динамічною памʼяттю після ініціалізації (привіт, Javanoscript!)
4. Функції не повинні перевищувати 60 строк (як максимум)
5. Не більше двох ассертів на функцію
6. Обʼєкти даних повинні створюватись на мінімально можливому рівні видимості
7. Результат non-void функцій перевіряє фукнція, що їх викликає; валідність вхідних параметрів перевіряється всередині кожної функції
8. Користування пре-процессорами та макросами повинно бути вкрай обмеженим
9. Посилання (pointers) повинні бути обмежені також
10. Весь код повинен бути компільованим, з першого дня розробки з усіма можливими перевірками на рівні компілятора. Усі помилки компіляції (навіть типу "warning") повинні бути виправлені одразу. Код повинен бути протестований як мінімум раз на день (більше - краще) з усіми можливими аналізаторами та із нульовою кількістю помилок.
#engineering
Знайшов коротенький документ, що описує вимоги до написання коду в NASA. Тобто це "код для rocket science 🚀".
10 правил для safety-critical коду (на мові С):
1. Користуйтеся тільки простими конструкціями управління
2. Усі цикли повинні мати фіксований ліміт
3. Не користуйтесь динамічною памʼяттю після ініціалізації (привіт, Javanoscript!)
4. Функції не повинні перевищувати 60 строк (як максимум)
5. Не більше двох ассертів на функцію
6. Обʼєкти даних повинні створюватись на мінімально можливому рівні видимості
7. Результат non-void функцій перевіряє фукнція, що їх викликає; валідність вхідних параметрів перевіряється всередині кожної функції
8. Користування пре-процессорами та макросами повинно бути вкрай обмеженим
9. Посилання (pointers) повинні бути обмежені також
10. Весь код повинен бути компільованим, з першого дня розробки з усіма можливими перевірками на рівні компілятора. Усі помилки компіляції (навіть типу "warning") повинні бути виправлені одразу. Код повинен бути протестований як мінімум раз на день (більше - краще) з усіми можливими аналізаторами та із нульовою кількістю помилок.
YouTube
NASAs Coding Requirements Are Insane
00:00 - Intro
4:52 - Restrict All Code
9:19 - All Loops Need A Fixed Upper Bound
10:37 - No Dynamic Memory Allocation
14:06 - 60 Lines
15:49 - 2 Assertions Per Function
19:28 - Data Objects
21:10 - Functions
24:29 - Limited Use Of Preprocessor
29:53 - Restricted…
4:52 - Restrict All Code
9:19 - All Loops Need A Fixed Upper Bound
10:37 - No Dynamic Memory Allocation
14:06 - 60 Lines
15:49 - 2 Assertions Per Function
19:28 - Data Objects
21:10 - Functions
24:29 - Limited Use Of Preprocessor
29:53 - Restricted…
1👍40
Кожен може розробити калькулятор! (та де калькулятор краще - Android чи IOS)
#engineering
Цікавезна історія, в якій Hans-J. Boehm, що працював над власними версіями garbage collector та деякими частинами стандарту С++, отримав задачу написати ... калькулятор.
Здається, задача вкрай проста. Але це не так.
P.S. Hans навіть написав дослідницьку роботу про цей досвід - Towards an API for the Real Numbers
#engineering
Цікавезна історія, в якій Hans-J. Boehm, що працював над власними версіями garbage collector та деякими частинами стандарту С++, отримав задачу написати ... калькулятор.
Здається, задача вкрай проста. Але це не так.
P.S. Hans навіть написав дослідницьку роботу про цей досвід - Towards an API for the Real Numbers
Chad Nauseam Home
calculator-app - Chad Nauseam Home
"A calculator app? Anyone could make that." (this was originally a https://x.com/ChadNauseam/status/1890889465322786878, and has since been turned into an asterisk article) "A calculator app? Anyone …
❤11👍3
AI tools and how they kill learning
#ai #tools #learning
Написав невелику статтю на тему того, як сучасні інструменти зі штучним інтелектом вже зараз впливають на наше навчання. Та на навчання людей, що тільки починають в ІТ.
А як ви думаєте - чи легше стало дійсно навчитись новому з ШІ - чи складніше?
#ai #tools #learning
Написав невелику статтю на тему того, як сучасні інструменти зі штучним інтелектом вже зараз впливають на наше навчання. Та на навчання людей, що тільки починають в ІТ.
А як ви думаєте - чи легше стало дійсно навчитись новому з ШІ - чи складніше?
Test Engineering Notes
AI tools and how they kill learning
Pros and cons of using AI tools (for beginners)
👍31
Forwarded from Testing Minutes (Oleksandr Romanov)
⚡️ Епізод 50: Відповідаємо на питання підписників
Чи потрібен Гітхаб для тестувальника? Які найголовніші навички QA, що приносять більше грошей? Чи переходити в розробку (бо там більше платять)? Коли AI замінить усіх? В цьому епізоді подкасту, Артем та Олександр відповідають на питання від підписників.
Дивитись та слухати:
🔸 Youtube
🔹 Spotify
🔸 Apple
Ваша підтримка важлива!
Ми постійно розвиваємося і рухаємося вперед, але це неможливо без вашої підтримки. Тому будемо вдячні за лайки, коментарі та будь-яку іншу форму підтримки. Це допоможе нам просувати наші подкасти в рекомендаціях. Також ви можете підтримати нас донатом — це дійсно важливо для нас і є нашим рушієм.
Дякуємо вам!
Підтримати подкаст можна через: 🏦 База від Монобанку
#testingminutes | @a_grygorenko | Test Engineering Notes
Чи потрібен Гітхаб для тестувальника? Які найголовніші навички QA, що приносять більше грошей? Чи переходити в розробку (бо там більше платять)? Коли AI замінить усіх? В цьому епізоді подкасту, Артем та Олександр відповідають на питання від підписників.
Дивитись та слухати:
🔸 Youtube
🔹 Spotify
🔸 Apple
Ваша підтримка важлива!
Ми постійно розвиваємося і рухаємося вперед, але це неможливо без вашої підтримки. Тому будемо вдячні за лайки, коментарі та будь-яку іншу форму підтримки. Це допоможе нам просувати наші подкасти в рекомендаціях. Також ви можете підтримати нас донатом — це дійсно важливо для нас і є нашим рушієм.
Дякуємо вам!
Підтримати подкаст можна через: 🏦 База від Монобанку
#testingminutes | @a_grygorenko | Test Engineering Notes
👍17❤5
Про вміння працювати та проходити співбесіди
#interview
У кожного з нас є свій набір знань. Туди входять фундаментальні знання, набутий власний досвід та вміння.
Окрема частин цих знань та вмінь - це те, що. ми використовуємо безпосередньо в роботі кожного дня. Якщо в нас запитають щось з актуального - ми зможемо легко відповісти й написати код.
Чим більше працюєш в індустрії, тим більшим стає коло знань та досвіду. Але коло поточних навичок може бути обмеженим - конкретною посадою чи проєктом.
Знання для проходження співбесід - це окремий великий пласт знань. Який не завжди пересікається з вашим набором знань.
У кожного технічного інтервʼюєра свій власний багаж знань. Плюс - вимоги конкретної компанії до конкретної позиції.
Задача інтервʼюєра - знайти перетин між вміннями кандидата та вимогами позиції. Можливо перетину не буде. Але тоді - треба оцінити перспективу швидкого навчання.
А ще - знання та вимоги у кожного інтервʼюєра - різні.
Шо робити? 🔽
#interview
У кожного з нас є свій набір знань. Туди входять фундаментальні знання, набутий власний досвід та вміння.
Окрема частин цих знань та вмінь - це те, що. ми використовуємо безпосередньо в роботі кожного дня. Якщо в нас запитають щось з актуального - ми зможемо легко відповісти й написати код.
Чим більше працюєш в індустрії, тим більшим стає коло знань та досвіду. Але коло поточних навичок може бути обмеженим - конкретною посадою чи проєктом.
Знання для проходження співбесід - це окремий великий пласт знань. Який не завжди пересікається з вашим набором знань.
У кожного технічного інтервʼюєра свій власний багаж знань. Плюс - вимоги конкретної компанії до конкретної позиції.
Задача інтервʼюєра - знайти перетин між вміннями кандидата та вимогами позиції. Можливо перетину не буде. Але тоді - треба оцінити перспективу швидкого навчання.
А ще - знання та вимоги у кожного інтервʼюєра - різні.
Шо робити? 🔽
👍31❤1
Що ж робити в такому випадку? 🕶
Треба прийняти декілька важливих умов:
1. Проходити співбесіди непросто - ринок жорсткий й вимоги високі
2. Бути хорошим спеціалістом не дорівнює легко пройти співбесіду
3. Мати десятки років досвіду не означає, що ви відповісте на будь-які питання інтервʼюєра
4. Підтримка навичок в актуальному стані - процес постійний. Бо від звільнень не застрахований ніхто.
👉 Загальні поради:
- вчіться проходити співбесіди (наприклад за допомогою мок інтервʼю)
- адаптуйтесь під вимоги конкретної компанії
- робіть висновки завдяки зворотньому звʼязку після співбесіди
- постійно підтримуйте свої важливі навички в актуальному стані
- за можливості - діліться знаннями та формуйте свій власний бренд та мережу звʼязків
Це - непросто, навіть для сіньйорів.
З мок інтервʼю та підготовкою я можу допомогти. Пишіть в ДМ або в коментарі.
Треба прийняти декілька важливих умов:
1. Проходити співбесіди непросто - ринок жорсткий й вимоги високі
2. Бути хорошим спеціалістом не дорівнює легко пройти співбесіду
3. Мати десятки років досвіду не означає, що ви відповісте на будь-які питання інтервʼюєра
4. Підтримка навичок в актуальному стані - процес постійний. Бо від звільнень не застрахований ніхто.
👉 Загальні поради:
- вчіться проходити співбесіди (наприклад за допомогою мок інтервʼю)
- адаптуйтесь під вимоги конкретної компанії
- робіть висновки завдяки зворотньому звʼязку після співбесіди
- постійно підтримуйте свої важливі навички в актуальному стані
- за можливості - діліться знаннями та формуйте свій власний бренд та мережу звʼязків
Це - непросто, навіть для сіньйорів.
З мок інтервʼю та підготовкою я можу допомогти. Пишіть в ДМ або в коментарі.
Telegram
Test Engineering Notes
Про вміння працювати та проходити співбесіди
#interview
У кожного з нас є свій набір знань. Туди входять фундаментальні знання, набутий власний досвід та вміння.
Окрема частин цих знань та вмінь - це те, що. ми використовуємо безпосередньо в роботі кожного…
#interview
У кожного з нас є свій набір знань. Туди входять фундаментальні знання, набутий власний досвід та вміння.
Окрема частин цих знань та вмінь - це те, що. ми використовуємо безпосередньо в роботі кожного…
👍21❤10
What would happen if we didn't use TCP or UDP?
#engineering #rust
Невеличкий експеримент щодо використання кастомних протоколів (відмінних від TCP та UDP).
Чи будуть такий протокол обробляти провайдери - такі як Digital Ocean чи AWS?
#engineering #rust
Невеличкий експеримент щодо використання кастомних протоколів (відмінних від TCP та UDP).
Чи будуть такий протокол обробляти провайдери - такі як Digital Ocean чи AWS?
GitHub
hdp/README.md at master · Hawzen/hdp
What would happen if we didn't use TCP or UDP? Contribute to Hawzen/hdp development by creating an account on GitHub.
❤8👍1
Чи правда шаурма стає гіршою чим ближче до станції метро ...
#engineering #python
Цієї пʼятниці хочу поділитись дуже цікавою історією про те, як одна фраза на Reddit може привести до повноцінного проєкту з аналізу даних.
А точніше - приклад того, як можна інженерно підходити до перевірки гіпотез.
#engineering #python
Цієї пʼятниці хочу поділитись дуже цікавою історією про те, як одна фраза на Reddit може привести до повноцінного проєкту з аналізу даних.
А точніше - приклад того, як можна інженерно підходити до перевірки гіпотез.
👍22🤡1
Testing & Evaluating Large Language Models(LLMs)
#testing #ai #llm
Сьогодні я хочу поділитись циклом з трьох статей про те, як оцінювати якість роботи LLM систем.
- Part 1
- Part 2
- Part 3
Дуже цікаво подивитись на різні метрики для таких систем.
#testing #ai #llm
Сьогодні я хочу поділитись циклом з трьох статей про те, як оцінювати якість роботи LLM систем.
- Part 1
- Part 2
- Part 3
Дуже цікаво подивитись на різні метрики для таких систем.
Medium
Testing & Evaluating Large Language Models(LLMs): Key Metrics and Best Practices Part-1
Large Language Models (LLMs) have revolutionized natural language processing (NLP), powering applications in text generation…
❤14👍4🔥2
Чи помирає BDD?
#testing
Знайшов доволі цікаву статтю про те, що ж таке то BDD, як воно виникло та чому воно помирає. Та чи зникне цей підхід взагалі?
Автор наводить приклади, куди можливо буде розвиватись BDD далі - це behavior development. Так, без ШІ не обійшлося.
#testing
Знайшов доволі цікаву статтю про те, що ж таке то BDD, як воно виникло та чому воно помирає. Та чи зникне цей підхід взагалі?
Автор наводить приклади, куди можливо буде розвиватись BDD далі - це behavior development. Так, без ШІ не обійшлося.
Automation Panda
Is BDD Dying?
People keep asking me if BDD is dead. It’s not, but I sincerely believe that it needs to evolve. Let’s explore what that could look like.
👍13❤2
Integrated Tests Are Scam
#testing #engineering #automation
Хороша доповідь про те, чому писати end-to-end UI та інтеграційні тести - це шлях у нікуди (за думкою доповідача).
По факту, він розповідає, що юніт + контрактні тести зможуть майже на 100% замінити оці нестабільні високорівневі перевірки.
Про контрактні тести говорили ще 9 років тому!
#testing #engineering #automation
Хороша доповідь про те, чому писати end-to-end UI та інтеграційні тести - це шлях у нікуди (за думкою доповідача).
По факту, він розповідає, що юніт + контрактні тести зможуть майже на 100% замінити оці нестабільні високорівневі перевірки.
Про контрактні тести говорили ще 9 років тому!
❤11👀3👎1
Why do we fail at interviews?
#testing #interview
Невелика стаття, де я розповідаю, чому нам зазвичай складно проходити співбесіди.
А як ви проходите інтервʼю? Чи вам легко відповідати на усі питання?
#testing #interview
Невелика стаття, де я розповідаю, чому нам зазвичай складно проходити співбесіди.
А як ви проходите інтервʼю? Чи вам легко відповідати на усі питання?
Test Engineering Notes
Why do we fail at interviews?
Why do we fail at interviews and what we can do about it
❤22
Тестування - дуже легко, що там вчити взагалі ...
#testing #roadmap
З одного боку наче в теорії тестування небагато всього. Процеси, техніки тест дизайну, інструменти.
А з іншого - тестувальнику можна (й треба) розширяти свій світогляд.
То ж дозвольте поділитись з вами класною схемою тем, дотичних до тестування, які можна вчити. (Не тільки автоматизація)
Посилання на постер в гарній якості - тут.
#testing #roadmap
З одного боку наче в теорії тестування небагато всього. Процеси, техніки тест дизайну, інструменти.
А з іншого - тестувальнику можна (й треба) розширяти свій світогляд.
То ж дозвольте поділитись з вами класною схемою тем, дотичних до тестування, які можна вчити. (Не тільки автоматизація)
Посилання на постер в гарній якості - тут.
❤38🤡2
Vibe coding та реальність
#engineering #llm
Починаємо тиждень з трендів. Останнім часом чув багато хайпу щодо такого поняття як vibe coding. Це коли люди пропагують забити на складне навчання, а всю роботу віддати LLM. Штучний інтелект сам все зробить, а людині треба буде тільки "якось інтегрувати чи просто запустити згенероване".
В цьому пості розробник пояснює, чому поки що такий підхід не настільки продуктивний, як його рекламують. А ще - цей підхід несе більше загрози, ніж користі.
P.S. Наші досвід та вміння ШІ поки не замінить. Поки ...
#engineering #llm
Починаємо тиждень з трендів. Останнім часом чув багато хайпу щодо такого поняття як vibe coding. Це коли люди пропагують забити на складне навчання, а всю роботу віддати LLM. Штучний інтелект сам все зробить, а людині треба буде тільки "якось інтегрувати чи просто запустити згенероване".
В цьому пості розробник пояснює, чому поки що такий підхід не настільки продуктивний, як його рекламують. А ще - цей підхід несе більше загрози, ніж користі.
P.S. Наші досвід та вміння ШІ поки не замінить. Поки ...
Cendyne
"Vibe Coding" vs Reality
Reviewing the capabilities and limitations of LLM agents in software development and their impact on skilled and less skilled developers.
👍15🔥1
Що краще: enumerate чи range для циклів
#python
Уявімо, що треба пройти по усім елементам циклу.
Це можна зробити дуже просто
Якщо ж треба мати доступ до елементу разом із його індексом, є такі варіанти
Що краще обрати - enumerate чи range?
1.
2.
3.
Окей, а коли ж краще користуватись
- коли колекція елементів точно індексована
- коли не треба мати доступ до конкретного елементу за поточним індексом
#python
Уявімо, що треба пройти по усім елементам циклу.
Це можна зробити дуже просто
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
Якщо ж треба мати доступ до елементу разом із його індексом, є такі варіанти
# range
fruits = ["apple", "banana", "cherry"]
for index in range(len(fruits)):
print(index, fruits[index])
# enumerate
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(index, fruit)
Що краще обрати - enumerate чи range?
1.
enumerate більш чисто виглядає та ще й оптимізована на рівні інтерпертатора2.
enumerate не має потенційних проблем з доступом по неіснуючому індексу3.
enumerate дозволяє задати початковий індекс для ітерації
for index, fruit in enumerate(fruits, start=1):
print(index, fruit)
Окей, а коли ж краще користуватись
range?- коли колекція елементів точно індексована
- коли не треба мати доступ до конкретного елементу за поточним індексом
for i in range(10):
print(i**2)
👍15❤1