- Backend
- Databases
- Design
- Computer Science
- Frontend
- Machine learning
- Interpreters, compilers, and languages
- Tools
- Infrastructure
- Interviews
- Blogs
- Other
- Amper – relatevely new build and project configuration tool with a focus on the user experience and the IDE from JetBrains. Seems like great Gradle alternative for multiplatform projects
- Gradle Kotlin DSL – Gradle Kotlin DSL primer. Just in case you're still using Groovy, it's time to switch
- 30 ideas to reduce your Gradle build time – great thoughts on one of the most painful parts of JVM-based development – build time. ~10 min read
- Testcontainers best practices – a short guide on testcontainers best practices by Siva, lots of insights, ~7 min read
- A practical test pyramid by Martin Fowler – what is a test? what is a good test? how to test, what, when? Structures, examples, best practices
- Kafka exactly once semantics – a great article on how to achieve exactly once semantics in Kafka by Nitin, one of the best explanations I've found. ~5 min read
- Conductor/Kafka – lots of learning resources, including articles and videos. The website UI for a backend-related tool is just surprising, not sure if it's a good or bad thing
- Kafka: a map of traps for the enlightened dev and op by Emmanuel Bernard And Clement Escoffier – the best Kafka deep dive you can find on the internet. ~3h video, but worth every minute. I was so delighted to find it, even asked to provide a slides link
- Idempotent consumers – short and clear explanation of idempotent consumers and transactional outbox pattern. ~5 min read
- GraalVM, AOT and JIT – great intro to the world of GraalVM and compilation techniques, and to where Java is heading. ~10 min read
- Runtime efficiency in Spring – virtual threads, optimized container deployment, checkpoint restore – how Spring is trying to be more efficient in the cloud. ~5 min read
- Fastr – a high-performance implementation of the R programming language, built on GraalVM
- Ballerina – open-source cloud-native programming language optimized for integration
I love Kotlin with all my heart, and it's the main language I'm using for backend development. Lots of resources here, but I'll try to keep it short
- Kotlin Coroutines – the official documentation is the best place to start. Easy to understand, and has lots of examples
We're living in the world of lightweight trends, and Kotlin is one of the best languages to build such
- Jooby – DSL-based web framework, similar to Ktor, but even more lightweight and easy to start with
- Koin – a pragmatic lightweight dependency injection framework. I doubt you'll need it in prod, but it's a first place to check if you'd like to deep dive into DI
- Atrium – fluent assertion library for Kotlin, similar to AssertJ, but with a more Kotlin-ish approach
- Kotest – a flexible and comprehensive testing framework for Kotlin with multiplatform support, just in case you're tired of JUnit
- Arrow – functional programming library for Kotlin, and I hope every Kotlin project will use it in the future. Kotlin world is too overcomplicated with legacy Java programming style, and Arrow tries to fix it
- Arrow Meta – a library for building meta-programming plugins for Kotlin compiler.
- Krush – idiomatic persistence layer for Kotlin, haven't tried it yet, but seems to be a good alternative to Exposed
- SQLDelight – type-safe SQL for Kotlin, multiplatform, and multi-database. Seems like a good jOOQ alternative to try
- Dokka – a documentation engine for Kotlin.
- Kotlin compiler server – ever wondered what happens when you click on the 'run' button in Kotlin Playground? This is the server that does the magic.
- Kotlin Monaco laguage server – the showcase I've built for the Kotlin compiler server in combination with Monaco editor.
- IntelliJ Rust support – I don't care much about Rust, but the way it's supported in IntelliJ is just amazing. The best real world example on how to build a language plugin for Jetbrains IDEs
- Relearning Java thread primitives – a short article on Java thread primitives and how the evolution of Java has changed the way we write concurrent code. Good one, if you still used to Java5-style habits. ~5 min read
- Micronaut – my favourite web framework for Java. Highly maintained, xN faster than Spring, lots of features and integrations.
- Minum – a minimalistic web framework for Java, similar to Jooby and Ktor
Ah yes, the big world of big data. Fancy deep dive guides on SQL, NoSQL, and everything in between
- SQL Indexing and Tuning – a comprehensive guide on SQL indexing and tuning. The website is a bit outdated (as almost everything in the databases world), but the content is still relevant
- Following a database read to the metal – a deep dive into how databases work under the hood. ~10 min read, ~1h to understand and digest
- PostgreSQL Change Data Capture With Debezium – good practical intro to CDC with Debezium with lovely Postgres examples. ~5 min read
- Zero downtime database migrations – practical advice and explanations on how to safely migrate your DB and get what you expect. ~5 min read
- How query engine works? – a great opensourced book on query engine internals by Andy Grove
- NoSQL Design for DynamoDB – if you just switched from relational databases to NoSQL systems like DynamoDB, and want to understand how to design your tables, this is the best place to start
- Don't do this in Postgres – curated list of things you should avoid doing in Postgres. Tools, SQL constructs, data types storage... everything is covered
- Lost at SQL – a collection of SQL exercises and explanations, game-like experience
- Layers – the first website that comes to mind when I need some inspiration for the web design.
- Relume – AI-powered website builder. I don't really use it, but their landing is a piece of art.
- Commit mono – opensource neutral font for developers and designers, but it's on my list because of its website simplicity and style - easy to navigate, easy to read, easy to get
- UI land – Digital Library for Designers and Engineers. Kinda a collection like mine, but for design world. They also do author interviews, like this one with Paco, cool stuff to get familiar with the industry and people
- Magic UI – React, tailwind, framer motion components library. Still in beta but components look much more unique and trendy
- UI principles – how to design a good UI? What are the principles? How to make it accessible and inclusive? This website is a good place to start
- Rive – strong community, easy UI, and lots of examples. If I were a designer, I'd deep dive in Rive ASAP since it seems to be the trendiest tool now
- Spline – 3D animation tool, easy to use, and lots of tutorials
- Roadmaps – a collection of interactive roadmaps for developers. I don't really follow it, but it's a good place to start if you're new to the industry and want to explore tech stacks
- The Missing Semester of Your CS Education – a course on the practical aspects of using Unix-like operating systems, including Linux, macOS, and BSD. Lots of useful tips and tricks, especially for beginners
- Shell script patterns – a collection of best practices and design patterns for shell scripts
- SEO optimization techniques – high-quality mindmaster board on SEO optimization techniques
- useHooks – a collection of server-safe React hooks from the ui.dev team. The documentation is well-done
- React will be compiled – a short article on the future of React, lots of stuff about memoization and performance improvements. ~5 min read
- You might not need effect – a base article on when you might not need to use the useEffect hook. ~7 min read
I love Next and Vercel teams. The way they build products and community around them are inspiring, so I decided to have a separate section for Next.js-related resources
- Next.js/learn – to me, it's just a perfect example on how to build a learning platform. The content is well-structured, the UI is clean and simple. Even if you don't need to learn Next.js, it's a good place to get inspiration
- Nextra – simple and quite flexible site generation framework with optimized links and images. I mostly see it as a 'documentation/quick guide' builder, but seems to be fine for blogs and small projects
- Lexington Themes – really good Astro/Tailwind templates made by Michael Andreuzza. 99$/template, but seems to worth it.
- Windstatic – from the Lexington creator, templates & layouts made with Tailwind CSS and Alpine.js. Free to use, nice to have.
- Quilljs – opensource rich text editor, I've used it in a couple of projects. Guides, documentation, and examples are also well-done
- Triggers.dev – open source typescript Background Jobs. Lots of visibility, reminds me of Temporal, but more lightweight and for the frontend stack
- GSAP – classics of frontend animation: text, svg, scrolls, UI and more.
- Bark – opensource text-prompted Generative Audio Model, the quality is just insane
- Distributed ML patters by Yuan Tang – references and code for the book Distributed Machine Learning Patterns from Manning. I've read the book and found it really useful, especially for the distributed systems part
- Storing OpenAI embeddings in pgvector – entry-level practical article on how to operate with OpenAI embeddings in Postgres. ~5 min read
- Crafting Interpreters – a book on how to build your own programming language, literally. I've read it a couple of times and found it really useful to start understanding how our favorite languages are built. The book is free to read online
- Resources for Amateur Compiler Writers – philosophy, descriptions, code generation, optimization strategies. Reading this stuff became a hobby for me, and I've found lots of useful resources here
- Mal – make a Lisp – a Clojure inspired Lisp interpreter and a learning tool, implemented in 87(!) different languages
- Pika – MacOS-style screenshot online modifier with API(!). Lots of customization and templates, fav to use for twitter posts
- Carbon – just like Pika, but for code snippets only. Free to use, no sign in, multiple themes, mostly using for solid-color only (still much better than VSCode screenshots tho)
- Shots – free to use, pretty mockups. Different styles, shadows, borders, backgrounds. Similar to Pika, just a matter of taste
- Graphy – a tool to create breathtaking diagrams and flowcharts. By breathtaking I mean it, the quality of the output is just amazing. Lots of inspiration for your own charts as well
- Excalidraw – a whiteboard tool aka what tool do you use to draw your diagrams? Hand-drawn feel, love it. I've migrated from lucid charts to this one for the sake of visual appeal, and still subscribed after a year of usage.
- Glances – open-source system cross-platform monitoring tool, allows real-time monitoring of various aspects of your system such as CPU, memory, disk, network usage, and more
- ./jg – a lightweight and flexible command-line JSON processor
- ./htmlq – like jq, but for HTML :)
- Color scale – a tool to generate color scales for your projects, quite an easy one
- Endless tools – customazible and high-quality collection of patterns, covers, 3D objects
- Anki – spaced repetition program typically used for learning foreign languages to memorise keyboards shortcuts and shell commands
- Whisky – MacOS app I use to play Windows games :) Feels better than Parallels and CrossOver so far
- Aws Skill Builder – learning center to build in-demand cloud skills. Lots of free content, including labs, courses, and quizzes. I've used it to prepare for the AWS Certified Solutions Architect – Associate exam, one of the best resources I've found
- A visual guide to SSH tunnels – explains use cases and examples of SSH tunnels while visually presenting the traffic flows
- Production ready web-apps on docker compose – a few patterns Author picked up based on using Docker since 2014. ~15 min read
- Containers patters – there are a thousand ways to use containers, and this presentation will help you to understand what's the best way for your case
- CDK patterns – how to use AWS CDK to build infrastructure? Orchestration, observability, security, and more
- Keda – K8s-based Event Driven Autoscaling, so you can drive the scaling of any container in K8s based on the number of events needing to be processed (e.g. scale based on Kafka topic)
- Skaffold – a tool that facilitates continuous development for Kubernetes applications. Sound like docker-compose for K8s, but there is much more under the hood
- K8s Top-10 – a list of the top 10 most common and pernicious Kubernetes security risks by OWASP. Misconfigurations, vulnerabilities, and best practices are covered
Collection of useful resources for technical interviews, including coding, system design, and behavioral questions.
- Remote work interviews – a collection of interviews with remote workers, including their daily routines, tools, and tips
- System Design Patterns – the most handy collection of design patterns for designing scalable and maintainable systems, ~1h read
- Architectural Notes lovely UI, high quality diagrams, but not so many content. Still, worth subscribing to their newsletter
- Interview Pen – high-quality video explanations on system design topics, including real-world examples and best practices. Paid for the platform, but youtube channel is great as well
- Coderbyte – a collection of 300+ coding challenges and interview questions, love the way they are organized by difficulty and type. Free platform, great solutions, medium-size community, but no completions unfortunately
- Code Signal – if you've ever been in Netflix interviews, you should be familiar with this one. Can be used in multiple ways – regular challenge practice, or mock tech screen when you have a limited time to solve a bunch of high-quality problems. 100% recommended if looking for a FAANG job
Some random guys I follow, mostly for inspiration and tech deep dives. I'm not really into reading blogs, but these are the ones I've found really useful
- codetinkerer by Michael Kropat – GitOps, React, homemade transactional email service, lots of cool stuff: How to use React Context effectively, How to use React Context effectively, How to use React Context effectively
- Not a Number by Nanda Syahrasyad is the most beautiful blog I've ever seen, really well-done. Want to learn svg animations deep dive, motion, random javascript tricks – this is the first place to go
- nexxel.dev by Shoubhit Dash – typescript, rust, and some random thoughts on techcnical topics from a young CS undergrad student. I really like the way he writes and projects he's working on, some samples: hackernews clone, Everything I Installed on My New Mac, Implementing the Pipe Operator in TypeScript
- Chidi Williams – ML, interpreters, games, deep dives and random thoughts. He's been very productive in 2022, and I'm really enjoying his hands-on content. Some examples: Buzz – transcribes and translates audio offline on your personal computer; How to write a lisp interpreter in JS; A Wordle Solver.
- Michael Lynch – a blog about software engineering, startups, and personal development. I've found it really useful for personal development and career growth. Some good examples: How to Make Your Code Reviewer Fall in Love with You, How to Do Code Reviews Like a Human (Part One)
- Overreacted by Dan Abramov, the classic of React world. Personal highlights include The “Bug-O” Notation, npm audit: broken by design, The Elements of UI Engineering, The Two Reacts
- Kerkour – a blog by Sylvain Kerkour, the author of Black Hat Rust, Cloudflare for Speed and Security and a few other books (and he's very productive!). Really useful for security, performance and other more general topics. Some good examples: Adblocker can be strange sometimes, JSON Web Tokens are actually fine, just not for sessions, HTTP Caching: ETag vs Last-Modified headers.
- Monosoul – a blog by Andrei Nevedomskii about Kotlin, typesafety, linux and databases. I love these guides: Typesafety with Kotlin and jOOQ, Using liquibase with K8s. Worth mentioning, Andrei is also an author of jooq-gradle-plugin which I use a lot.
- Whereby – API & SDK to integrate video calls to your website. Haven't used it yet, but seems to be a first candidate for the next project with video calls
- Good day Project – researching when developers feel they had a good day