Not only coding

Notes about programming, career, and engineering culture.

📌 Book Reviews

Meta post for book reviews

1 min

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:...

June 18, 2023 Â· 3 min

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....

May 14, 2023 Â· 4 min

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....

February 26, 2023 Â· 4 min

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:...

February 19, 2023 Â· 2 min

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....

January 15, 2023 Â· 4 min

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....

June 17, 2022 Â· 6 min

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....

May 28, 2022 Â· 8 min

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.

May 28, 2022 Â· 1 min

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....

October 1, 2021 Â· 1 min