Dmitry Kudryavtsev

Senior Software Engineer / Tech Lead / Consultant

I’m a senior software engineer located in Israel. I have more than 12 years of professional experience in web development, as well as experience in low level and game development. I write, talk and mentor about software engineering.

I work with languages such as TypeScript, Rust, and Python, as well as technologies such as NodeJS, React and more.

I use this blog as a platform to share my knowledge and experience as well as write about Software Industry, Software Engineering, and Productivity.

Consider subscribing to my newsletter to stay updated when I publish new articles, as well as getting occasional curation of interesting news from the industry.

Feel free to reach out to me or read more about me. You can also check out my homepage.

Disclaimer - posts and opinions shared in this blog are mine and do not represent the opinions of my employer, colleagues, friends or family.

Dmitry Kudryavtsev

Latest Posts

An Essay on Burnout

I denied burnout as a concept, until life decided to teach me the hard way. So here I am, burnt out. How did I get there?

The need for a more semantic web

The web has come a long way. From the early static pages, through the evolution of reactivity, and towards the biggest knowledge pool for all of humanity.

Inheritance, Composition, and everything in–between

There are many concepts in the OOP paradigm. Inheritance is the most known, and it allows us to model software as relations between objects, just like in real life.

How to get into programming in 2023

It’s 2023 already, you’ve been a responsible individual and created a new year’s resolution. One of the items in your resolution is a career change to become a software engineer. So how do you start?

The missing ingredients from your monitoring alerts

There is one thing engineers hate the most—waking up at night and troubleshooting production incidents. What if I told you I know how to make it less painful?

Living side-by-side with an AI

2022 is, undoubtedly, the year of the AI. It started with DALL-E, then GitHub Copilot, and now—ChatGPT. AI is here to stay, whether you like it or not, and we ought to find a way to live with it.

Cursor based pagination

Traditional pagination existed for many years. But it’s not useful for platforms with huge amount of user generated content. Luckily, there is an alternative solution for such systems.

ChatGPT, AI, and the future of tech

Unless you’ve been living under a rock, you probably heard about OpenAI releasing ChatGPT for a free research preview.

How technology affects our day-to-day lives

During this time and age, we default to technological solution to every problem. Often times - without taking into considereation what effect those solutions might have on our day-to-day lives.

Why you should adopt Makefile in all of your projects

GNU Make. A software that is, most likely, older than you. It’s so simple, so standard, and so ignored. I’m here to provide a case in favor of make and Makefiles.

4 Ways to Minimize your Dependencies in Node.js

We all know the joke about how node_modules is the heaviest object in the universe.

Implementing Promisable setTimeout

setTimeout() is the most powerful execution control function. Sadly - it's not async. Lets turn it into one.

Legacy is where companies go to die

Legacy. The one word engineers cringe when they hear. Nobody wants to work with legacy code or legacy systems. And yet someone has to. Can we do something about it?

It's better to be (type)safe than sorry

Take a good look at the following function and try to understand what it's doing. function do_magic(a, b) { return a + b; }

The Software Industry is Broken

It's that time again. You come to your Toyota dealership to buy a new Toyota Corolla. You've been waiting to upgrade your old, fuel inefficient and slow model, with this year's new model. But the new model is more fuel inefficient! Wait! What?!

NodeJS Native Module vs WASM

In my previous post about [[supercharge-nodejs-with-rust|Native Rust Modules for NodeJS]], people asked me how neon bindings would compare to WASM. Let's check!

JetBrains Fleet Preview - First Impression

Last week JetBrains launched their new Fleet IDE and I've been lucky enough to get the Preview version. What do I think about it?

How to be a Great Technical Interviewer

The path to becoming a great technical interviewer is full of doubts, tough decisions, and self-discovery. But I believe every engineer should try to walk it.

Supercharge Your NodeJS With Rust

Node isn't the fastest framework out here. It's not the slowest either, v8 is doing wonders to its speed, but nevertheless, if we setup an unfair battle between Node and say Rust; Node will lose.

Wrap your gifts not your dependencies

We’ve all been there. Its time to introduce a new package / dependency to our code base, be it a HTTP request library, a logger or something else, and the question we ask ourselves “Should I wrap it?”

Context Switch - The only operation that kills productivity

In computing, a context switch is the process of storing the state of a process or of a thread, so that it can be restored and execution resumed from the same point later. This allows multiple processes to share a single CPU, and is an essential feature of a multitasking operating system. — Wikipedia

React.JS Localization v0.2

In my last post I've discussed ReactJS localization. Now lets find the proper way to do localization.

Validating Requests With a Simple Middleware for Express

A key to a good API design is good control of what data your controllers or API end points accepts. Another important key to a good design — is that you can take a brief look at your API end point and immediately understand how your request should look.

The land of undocument react.js: The Context

A different approach for localizing react.js app

Howdy! I’ve heard you use ReactJS? Good! I also heard you want to localize your application? That’s great! Well proper localization is hard, there are many js libraries for client side localization as well as yahoo/react-intl that provides localized react components based on JavaScript Intl API.