📌 Book Reviews
Meta post for book reviews
Understanding Distributed Systems — Book Review
Understanding Distributed Systems: What every developer should know about large distributed applications, Second Edition is written by Roberto Vitillo and published on 23 February 2022 by Roberto Vitillo. Structure The book aims for the broad coverage of approaches and technologies of distributed systems. It leans more towards a practical side with a noticeable focus on troubleshooting, error handling, and resilience with a focus on web technologies. There are five main parts:...
The Staff Engineer's Path — Book Review
The Staff Engineer’s Path: A Guide for Individual Contributors Navigating Growth and Change is written by Tanya Reilly and published on October 25, 2022, by O’Reilly Media. Favorite Quotes Early in your career, if you do a great job on something that turns out to be unnecessary, you’ve still done a great job. At the staff engineer level, everything you do has a high opportunity cost, so your work needs to be important....
Selfhosting Vaultwarden Password Manager
I used 1Password as a password manager. I decided to switch to a self-hosted solution. 1Password provides many cool features and tweaks, but I value simplicity and minimalistic style in tooling more than an extensive list of add-ons. I convinced my family to start using password managers, and it began to cost twice more. Finally, It takes very little time - the whole setup took me one evening. Bitwarden Resources Requirments My first choice was a self-hosted Bitwarden....
A Philosophy of Software Design — Book Review
A Philosophy of Software Design is written by John Ousterhout and published on July 26, 2021 by Yaknyam Press. What is inside A Philosophy of Software Design explores best practices for code organization and decomposition, as well as common pitfalls to avoid in large projects where maintainability is a major concern. A Philosophy of Software Design is a relatively short book that can be read in 1-2 sessions. What is Good Strong first half with nice articulated ideas on:...
Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures — Book Review
Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures is written by Pramod Sadalage, Mark Richards, Neal Ford, and Zhamak Dehghani and published on 23 September 2021 by O’Reilly Media. What is inside Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures is a book about making a weighted decision during the design, redesign, or refactoring of the software system. It is focused mostly on modern web-enterprise architectures and the popular dilemma of making a choice between monolithic and microservice architectures....
Software Engineer Interview: Take-home Assignment
Take-home assignment is the type of interview where you will demonstrate your programming skills on a somewhat close-to-real coding project. Usually, it’s a description of a small project that you need to implement from scratch or a skeleton that you need to extend. It is used mostly by small and medium companies, Big Tech and FAANG/MANGA+ enterprises rarely incorporate it into their processes. In this post, I will share with you how to make the best out of good take-home assignments and how to deal with unfair ones....
Software Engineer Interview: Coding
The coding section is almost always present in an SWE interview process. Sometimes even multiple times, for example, for the screening and as one of the technical sections on the onsite interview. Usually, it’s a 30-60 minutes live session. You and the interviewer enter an online editor(CoderPad, HackerRank), or you share your screen. The interviewer gives you a description of the problem and maybe an empty code template or function that you need to complete....
Software Engineer Interview: Meta Post
During 2020-2022 I actively searched for my next career step, and I went through a lot of interviews. I want to share my experience with you and help you prepare and improve your interview skills. There will be multiple parts focused on different types of interviews. In this post, I will link them all for faster navigation. Coding: https://smyachenkov.com/posts/swe-interview-p1-coding/. Take-home assignment: https://smyachenkov.com/posts/swe-interview-p2-take-home-assignment/. … Stay tuned.
Telegram Image Resize Bot
Some time ago, I’ve had a project where I needed to have sets of images in different sizes. That was the only work with images in this project, and I did not want to bother with a complex image editor setup. So, I’ve decided to create a simple telegram bot for quick image resize. Telegram: https://t.me/resizerbot. Github: https://github.com/smyachenkov/resizer_bot. How it works First, you need to send an image. Both files and compressed images are supported....