Performance review season is upon us, and with it the dreaded self review. Many of us spend way too much time struggling with this task, how can we summarize our achievements in an appealing yet accurate way? SO MUCH STRESS. In the spirit of keeping the time and effort to a minimum, I’m sharing my tips on writing a stellar self-review, fast.

Image by athree23 from Pixabay

If english is not your first language, start by writing in the language you are most comfortable with. A lot of people struggle with getting started because the language is a barrier. …


Image by Andreas Lischka from Pixabay

I recently reviewed some code which converted gRPC error codes into custom errors using a decorator and the simplicity and genius of it made me facepalm “why didn’t I think of it myself?”.

Really, why didn’t I? When I wrote how to handle errors with grace I mentioned using decorators to validate input parameters and how important it was to keep error handling separate from your main code as much as possible. I just didn’t think to combine the two. Oh well, better late than never.

Let’s see how it’s done:

First we’ll define my_method(). All this method does is…


I usually start my posts with some personal anecdote explaining the background for what I’m writing and how I came up with the idea. I could probably do the same for this one, but the truth is that I’m writing it because I ❤️ permissions. I don’t exactly know why they hold such magic for me, but it is what it is, I get excited about permissions. User roles, checking who’s allowed to do what and when, and making sure it all works together is just the best kind of fun!

Photo by Hello I’m Nik on Unsplash

You might not share my excitement, and that’s OK…


You may think a career is an old fashioned concept out of the 80s which could be safely ignored. I sure used to… I thought a career was for banking professionals in suits, not for me! I was young and cool and wanted to work for a living, of course, but I couldn’t care less about climbing up the career ladder. Well, I changed my mind.

I’m not saying that a career should be everyone’s focus at every point in one’s life. Just having a job is a totally legit choice. But if you want to to have a career…


I don’t like it. I didn’t like it much before #stayathome was trending, and I like it even less now. I do not like it in a house. I do not like it with a mouse. I do not like it, stay-at-home-I-am.

I do not like it one little bit

This is not to say I don’t like being at home, it’s just the working part that’s not working out so well. I’m not working out either, but that’s a different matter.

Everywhere I turn there are articles from people who’ve been working from home for years in distributed organizations explaining how we’re doing it all wrong, if…


Photo by Clem Onojeghuo on Unsplash

I was away from my computer when I got a call from a junior developer I know. She was having trouble uploading a web application to Azure, and asked if I could help. I’ve never worked with Azure, but I assumed Visual Studio had a button which said something like “publish to Azure”. …


I was lucky to be in Dropbox’s headquarters when Kim Scott came to speak about her (then) new book “Radical Candor”. Dropbox was nice enough to hand out free copies (yay! free books!) so I actually ended up reading most of the book on the flight home.

Even though the book was written with managers in mind, I found myself referring back to it pretty often. Its insights proved quite useful in my daily work as a software engineer, especially in processes which require written or in person interaction with our co-workers. …


A while ago I was telling a friend how I was frustrated at work. I had been adding support for a really important product feature, and our platform teams were making it impossibly difficult. It felt like every line of code required a month of negotiations to get approved. Let’s be honest here — I wasn’t telling, I was complaining. “Do they think we’re idiots?!”, I asked.

She was smiling with what I thought was empathy, until I was done and she said: “You are idiots”. Then she proceeded to explain that from her experience as a platform engineering manager…


I’m an engineer, but I also have an MBA and for this post I’ll be wearing that hat. I was seriously considering buying an actual hat with “MBA” printed on it, but some good people talked me out of it, so unfortunately it’s a metaphorical hat instead of a real one.

I often see engineers complain about recruitment processes: They are long, they seem totally irrelevant to the job, everything is stupid. We just don’t get it. Unfortunately, we’re probably right — some employers don’t have any idea what they’re doing, but does it really have to be that way?


Photo by Kristina Flour on Unsplash

I’ve never really had much of an opinion about error handling. This may come as a shock to people who know me as quite opinionated (in a good way!), but yeah. If I was coming into an existing code base I just did whatever they did before, and if I was writing from scratch I just did whatever felt right to me at the time.

When I recently read the error handling section in Clean Code by Uncle Bob, that was the first time I gave the subject any thought at all. Sometime later I ran into a bug which…

Rina Artstain

SWE @ Dropbox TLV • I create software by applying careful study, thoughtful listening and open conversation • Coding while female

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store