The Curious Engineer

All blogs / JavaScript / TypeScript

Vladimir Klepov as a Coder

thoughtspile.github.io

I write in-depth articles about web development — best known for my React series, but eager to explore other technologies.

JavaScript / TypeScriptFrontend / CSS / browsersEngineering management / careers

Posts
55 from 20 Jun 2018 to 22 Jun 2026
Posting
now and then (1 in the last year)
Kind
personal blog
Feed
https://thoughtspile.github.io/atom.xml

2026 1

  1. The systemic decay of tech hiring

2024 3

  1. Growing my team 4x has been a pain. Can we do better?
  2. From engineer to manager: what I love, what I hate
  3. I conducted 60 interviews in 2 months — here's what I learned

2023 6

  1. Svelte stores: the curious parts
  2. Svelte reactivity — an inside and out guide
  3. How I made banditypes, the smallest TS validation library
  4. Ditch google analytics now: 7 open-source alternatives
  5. The complete guide to safe type narrowing in TypeScript
  6. Making sense of TypeScript using set theory

2022 7

  1. Seven habits of bad interviewers
  2. 5 coding interview questions I hate
  3. Don't trust JS library size, min+gzip
  4. Why I prefer JS for front-end build automation
  5. Using global memoization in React
  6. What is a react component, anyways?
  7. Good advice on JSX conditionals

2021 25

  1. Make useRef lazy — 4 ways
  2. Open source starter pack for JS devs
  3. useEffect sometimes fires before paint
  4. SemVer: The Tricky Parts
  5. Why I always wrap Context.Provider and useContext
  6. Can we useRef, but without the .current? Let's try!
  7. How to replace useState with useRef and be a winner
  8. Thanks React, I'm fine with an imperative setInterval
  9. Are many useStates better than useState(object)?
  10. Is your babel's transform-runtime getting lazy? You better check.
  11. How to destroy your app performance using React contexts
  12. 7 things you may not know about useState
  13. Zero-setup bundle size checker
  14. Build better libraries, use dev warnings
  15. useLayoutEffect is a bad place for deriving state
  16. How we made our pre-commit check 7x faster
  17. Cleaner ways to build dynamic JS arrays
  18. Two practical uses for capture event listeners
  19. Go beyond eslint limits with these 3 tricks
  20. Become the master of your eslint with no-restricted-syntax
  21. How to increase test coverage FAST
  22. So you think you know everything about React refs
  23. Did I just build a better useCallback?
  24. How useRef turned out to be useMemo's father
  25. How to timeout a promise

2019 1

  1. Extravagantly fast rendering with React benders

2018 12

  1. 10 Design Rules for Programmers
  2. Keep a React component mounted
  3. Major Garbage Producers in JS
  4. Why you Might Want to Extend React Components
  5. OOP for FP lovers: Simplistic Dependency Injection
  6. Five Tricks for Debug-Logging in JavaScript
  7. Let's Make Software Better
  8. Another Week with Bad Software
  9. Simpifying AngularJS controllers with ES5 get / set
  10. Quick Tip: docx is a zip Archive
  11. Advanced Promise Coordination: Rate Limiting
  12. Advanced Promises Coordination: Serialization and Concurrency Limiting