Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Nikita Galkin Love and Know: ▰ How to make developers and business happy ▰ Technical and process debt elimination Believe that: ▰ Any problem must be solved at the right level ▰ Software is easy. People are hard ▰ A problem should be highlighted, an idea should be "sold", a solution should be demonstrated Links: Site GitHub Twitter Facebook 2

Slide 3

Slide 3 text

▰ Telegram channel, daily ▰ Voice chat, weekly ▰ Workshops, coming soon

Slide 4

Slide 4 text

Sharing your failures, to turn mistakes into lessons

Slide 5

Slide 5 text

F A I L U R E GraphQL Obsession

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Creating new features and fixing bugs was so difficult that after the team leader left,the application was rewritten from scratch.

Slide 9

Slide 9 text

L E A R N E D L E S S O N S ▰ Don't shift responsibility from Backend to Frontend ▰ GraphQL is good for Backend for Frontend ▰ Browser cache is the simplest way for speed appl

Slide 10

Slide 10 text

F A I L U R E Glitching search

Slide 11

Slide 11 text

Tech Stack ▰ React ▰ Redux Toolkit ▰ React-Bootstrap ▰ REST as protocol ▰ Nest.js on BE ▰ PostgreSQL

Slide 12

Slide 12 text

Some users have complained that the search shows irrelevant results. Others have said that the search does not find anything. Development took two weeks. Bug hunting – 3 months.

Slide 13

Slide 13 text

Bugs were on FE: ▰ Pagination state was not reset after search ▰ Search input without debounce

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

L E A R N E D L E S S O N S ▰ The first time you will fail a new feature even if you are Senior. ▰ Search analytics is very useful for business ▰ Backend logs help

Slide 16

Slide 16 text

F A I L U R E Conversion rate

Slide 17

Slide 17 text

The project: ▰ Ecommerce ▰ New version with better UI and new tech stack ▰ Smaller conversion rate

Slide 18

Slide 18 text

Long loading time fixes 1. SPA 2. SPA + CDN 3. Next.js Server-side Rendering 4. Next.js Static Generation

Slide 19

Slide 19 text

L E A R N E D L E S S O N S ▰ Use CDN and HTTP 2 ▰ For some cases SPA is bad, JAM stack can be better tech stack ▰ A/B testing

Slide 20

Slide 20 text

F A I L U R E Highload from the start

Slide 21

Slide 21 text

The project: ▰ Tinder for Gamers ▰ From scratch ▰ Business has inflated expectations ▰ Goal 5.000.000 users in a year

Slide 22

Slide 22 text

Backend: ▰ Microservices ▰ GraphQL ▰ Premature Service Cost optimization for expected users count

Slide 23

Slide 23 text

Frontend: ▰ Custom design ▰ No CI/CD Development: ▰ Hard integration ▰ Failed milestones ▰ Any requirement change – refactoring ▰ The release never happened

Slide 24

Slide 24 text

L E A R N E D L E S S O N S ▰ Use design system with development-ready components ▰ Make stable developer environment ▰ Small iteration with regular integration for testing product and tech stack ▰ The first version will be thrown out

Slide 25

Slide 25 text

F A I L U R E Education Platform

Slide 26

Slide 26 text

Requirements ▰ Lessons scheduling ▰ Homeworks ▰ Payments ▰ Video calls ▰ Pair work of student and teacher on one material in real time

Slide 27

Slide 27 text

Implementations 1. REST + WebSockets 2. REST + WebSockets with resubscribe 3. WebSockets But Google Docs won…

Slide 28

Slide 28 text

Multi User real time application are hard because of data conflicts. Instead of implementation BE, better use Firebase RTDB.

Slide 29

Slide 29 text

L E A R N E D L E S S O N S ▰ It’s better to test technology on a small feature. ▰ In certain situations, the right or wrong technical solution does not matter.

Slide 30

Slide 30 text

QUESTIONS TIME! Slides at the channel ➡