Skip to main content

My first remote experience

typealias Coroutine = Quarantine

I hope you get the joke....

Well, it has been a very rough year for me, "motion-ally" and emotionally. I moved to Germany just when all these corona fear started. Luckily I got time to get introduced to the team and the project and got ready to start fresh . And then, since the situation with the epidemic wasn't getting any better, the company decided to switch to home office.

But how is it?

At QuickBird Studios, we had everything under control. They even posted a blog post themselves about the home office switch. However, I didn't want to provide guidelines more than I would like to share my own experience with remote work. Since it was my first time, I thought I should blog about it.

He who lives close to his school, is always late.

This Indian expression persecutes me on every step of my life. When I try to find a shortcut, I always end up on the longer way. What I mean is, nowadays that I am close to the computer, I get online at about 08:00 - 08:05 every day. While when I have to go to the office, I always end up at 07:40 - 07:50. And trust me, those 10 minutes on the morning are very important to open your eyes and realize what spaghetti you made one day before.

Empty the refrigerator

I lost control on food these last 2 years. Ever since I quit jogging, I gained 20 KG. But if you and your company are switching to remote work I wouldn't recommend to stay close to the fridge. Especially if you are a very lazy person for sports. Most importantly stay away from Snakes.....

typealias Snakes = Snacks

Politics > science

The title of this section could be a pretty nice click-bait. But my intention is to talk about communication. You have to be careful to be as kind as you are when you speak when you are talking to your colleges.

Enjoy the time off

I usually have a one hour break, and whatever the problem is, I really try not to think about work on my time off, even though the computer is two steps away from me.

Concentration > hard work

It's normal that you might get distracted a lot at home, especially when there are other people there too. But, if you get distracted it's better to have a short break than stare to the computer trying to understand Java's null.

We are software engineers

Well, what I mean is that normally, it should not matter that much. Home office or Office Office, as a software engineer the it's pretty easy, wherever you are. The conditions are nearly the same. Just get the work done....


With the eastern post-communist culture, I must say it: I am hell a lot of more disciplined when I get up, get the bus/train to work, work there for the required hours and than get back to enjoy some quality time with family, watch a TV show or whatever. However, all the things I mentioned above are truly what remote work has taught me. And it's only one week, no wonder how much I can learn more during all these time at home-office.

Popular posts from this blog

Modularizing your Android app, breaking the monolith (Part 1)

Inspired by a Martin Fowlers post about Micro Frontends, I decided to break my monolithic app into a modular app. I tried to read a little more about breaking monolithic apps in Android, and as far as I got, I felt confident to share my experience with you. This will be some series of blog posts where we actually try to break a simple app into a modularized Android app.

Note: You should know that I am no expert in this, so if there are false statements or mistakes please feel free to criticize, for the sake of a better development. 

What do you benefit from this approach:
Well, people are moving pretty fast nowadays and delivery is required faster and faster. So, in order to achieve this, modularising Android apps is really necessary.You can share features across different apps. Independent teams and less problems per each.Conditional features update.Quicker debugging and fixing.A feature delay doesn't delay the whole app. As per writing tests, there is not too much difference about…

What I learned from Kotlin Flow API

I used to check the docs and just read a lot about flows but didn't implement anything until yesterday. However, the API tasted really cool (even though some operations are still in Experimental state).Prerequisites: If you don't know RxJava it's fine. But a RxJava recognizer would read this faster.Cold vs Hot streamsWell, I really struggled with this concept because it is a little bit tricky. The main difference between cold and hot happened to be pretty simple: Hot streams produce when you don't care while in cold streams, if you don't collect() (or RxJava-s equivalent subscribe()) the stream won't be activated at all. So, Flows are what we call cold streams. Removing the subscriber will not produce data at all, making the Flows one of the most sophisticated asynchronous stream API ever (in the JVM world). I tried to make a illustration of hot and cold streams: Since I mentioned the word asynchronous this implies that they do support coroutines also. Flows vs…

From Gson to Moshi, what I learned

There is no doubt that people are getting away from GSON and I agree with those reasons too. The only advantage GSON has over other parsing libraries is that it takes a really short amount of time to set up. Furthermore, the most important thing is that Moshi is embracing Kotlin support.

First let's implement the dependency:
implementation("com.squareup.moshi:moshi:1.8.0") It's not a struggle to migrate to Moshi. It's really Gson look-a-like. The only thing to do is annotate the object with @field:Json instead of @SerializedName (which is Gsons way for JS representation):

data class User( //GSON way @SerializedName("name") val name: String, @SerializedName("user_name") val userName: String, @SerializedName("last_name") val lastName: String, @SerializedName("email") val email: String ) data class User( //Moshi way @field:Json(name = "name") val name: String, @field:Json(name = "user_name…