Dmytro Polovynka

Щоб дізнатися сильні сторони технології - обов'язково почитайте про слабкі.

В кожного є свій підхід до вивчення нових бібліотек, мов, фреймворків чи тулів. Я дам одну підказку, яку часто використовую я.

Проблема в тому, що більшість статей, написані самими розробниками технології, зазвичай вказують лише на сильні сторони, он, мовляв, які ми круті. А якщо це - ентерпрайз продукт, ціллю якого є побільше проданих копій, то там взагалі з сайту нічого не зрозуміло, що він робить. Весь сайт рясніє словами seamless, integration, leverage, adaptive, embrace, foster, perfect solution for your business needs і таке інше (а зараз ще всі різко стали AI-powered).

Якщо нічого не ясно, або здається, що продукт описано однобоко, я не просто шукаю іншу статтю під назвою “How to use MongoDB”, або “MongoDB tutorial”. Я також обов’язково задаю в пошуковику “MongoDB vs “ і тут гугл сам мені підказує, що треба вводити далі. У випадку з MongoDB це може бути mysql, cassandra чи redis. Тепер швиденько переглядаємо ці статті і розуміємо, у чому така принципова відмінність MongoDB і чому ми маємо використовувати саме її. Або, навпаки - чому вона в цьому випадку не підходить. Цей метод я використовую також тоді, коли слово для мене взагалі нове. Порівняння з іншими речима принаймні дає розуміння до якої сфери ця технологія належить.

Але окрім цього обов’язково треба пошукати “Why never use MongoDB”/”Why MongoDB bad” (можна саме так, гугл сам збудує правильні речення). Почитавши статтю людини, котра розчарувалася в MongoDB ви не лише краще зрозумієте, які слабкі сторони цієї технології. Водночас сильні сторони цієї технології раптом стануть яскравішими. Ви зрозумієте, що ця технологія робить, а що вона не робить. Що від неї треба очікувати, а що - ні. Ви краще зрозумієте її “особистість”, якщо так можна говорити про технології. І замість того, щоб самому в ній розчаровуватися, ви просто не наступите на ті ж граблі.

Я раз проходив співбесіду в компанію, котра начиталася про те, які мікросервіси класні. Але коли вони мене щиро запитали “Слухай, а як вирішувати проблему консистеності даних між різними мікросервісами? Бо в нас тут проблемка виникла” я зрозумів, що вони точно не читали, чому їх використовувати не треба.

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

І наостанок - якщо ви, наприклад, джавіст, то обов’язково пошукайте “Why Java is bad”. Після цього ви лише станете кращим джавістом.