Hello there! My name is Amin, and I have a Bachelor’s degree in Computer Engineering and a Master’s degree in Artificial Intelligence. I have a strong interest in both the software industry and leadership.
The cover image of thoughts on The Clean Coder book.

My Thoughts on The Clean Coder Book

Introduction Some time ago, I was searching for a book related to software but not purely technical, making it easier for me to read. I was looking for something I could enjoy even with a busy mind after work. After checking my Goodreads to-read list, I decided to read The Clean Coder and started right away. The book’s introduction hooked me, and I ended up reading it to the end....

June 20, 2024 · 5 min · Amin Rashidbeigi
A magnifier and some numeric values.

Vector Search: An Introduction

What Is Vector Search? We’ve come to understand searching as a job of comparing text. We grew up Googling things, looking up words in dictionaries, and finding book titles in libraries. But there are tons of other types of media packed with information we might need, like images, videos, and audio. What if you want to find a specific word in an audiobook, or you’re trying to locate a scene with a red Ferrari in action movies?...

April 14, 2024 · 3 min · Amin Rashidbeigi
A desk with a laptop on it emphasizes an overdue task.

Managing Overdue Tasks

Introduction Getting better at estimating how long tasks will take is a skill that develops as you gain more experience in your career, especially when working with a team or company for a long time. However, even with careful planning, unexpected challenges can pop up, causing delays and potentially missing deadlines. A Common Approach: Finish It at All Costs When faced with a deadline, the first solution many of us consider is to work extra hours or through the weekend....

March 22, 2024 · 3 min · Amin Rashidbeigi
test double in go.

Go Test Doubles by Example

Introduction When writing tests for a program, we often need to consider dependencies and external APIs that we prefer not to call every time the test runs. Calling these external dependencies not only adds complexity to our tests but also incurs costs. To address this issue, we can use test doubles. What Are Test Doubles? Test doubles offer an alternative to real dependencies. While we commonly refer to all of them as mocks, there are various test doubles, each serving different purposes....

December 31, 2023 · 7 min · Amin Rashidbeigi
A yellow chair sitting on top of a cement wall

Navigating Extra Work in Programming Teams

Recently, I read an interesting article by Ben Northrop that can be found here . In the article, Ben talks about the concept of ‘doing extra,’ which is not the same as doing more. For example, if you’re asked to implement two APIs and finish early, you can use the extra time to think about how to make the implementation more efficient, secure, or reduce the code length. That’s ‘doing extra....

July 17, 2023 · 4 min · Amin Rashidbeigi
Two people are in the metting

Improve Onboarding through the Magic of Storytelling

When you join a new team, you are usually bombarded with a lot of information. You need to familiarize yourself with the company’s culture, facilities, and colleagues. Initially, the onboarding process tends to be welcoming and hospitable. However, after a few days, you are expected to quickly learn about the products, services, and data in order to contribute effectively. It can be overwhelming to try to absorb and utilize all of this information, and eventually, the honeymoon phase ends, leaving you feeling stressed and concerned about your credibility....

March 27, 2023 · 6 min · Amin Rashidbeigi
some pencils image

How Engineering Managers Can Avoid Technical Decay

As an engineering manager, it can be easy to feel a sense of distance from the team and concerns about technical decay over time. But there are solutions to this problem! In this article, I explore ways to improve low-level engineering skills, in order to reduce the gap between you and your team members and maintain effectiveness in leading a technical team. Reading a lot (mostly on how things work and why they were created), re-doing (for yourself) technical design reviews, and having side projects can help....

January 27, 2023 · 1 min · Amin Rashidbeigi