Hi, I’m Majid !

Building Reliable Data Applications in the Cloud

My name is Majid Fatemian, and I’m a Principal Software engineer of Data Platform at Red Ventures, living in Montréal, Canada (🇨🇦) .
With 20 years of experience building reliable and scalable software in distributed environments, I found my home in Big Data Pipelines.
Connect with me at any of the conferences I present or on Twitter @majidfn.

Blog

Pivot or Persevere?

  • 05 Jan, 2023
  • read

When solving complex engineering problems, there are times that we feel we have hit a wall. We have invested so much time and energy into the solution. The way forward is rough and challenging, and going back seems like a waste. In these dark moments, knowing which way to push is critical. Here , we will discuss what decision-making factors to consider and how to evaluate the options. We will go through two case studies that each had an incredible outcome while taking different approaches. One pivoted, and one persevered.

Continue Reading

Why load balancing gRPC is tricky?

  • 22 Dec, 2020
  • read

gRPC is commonly used for microservices communication due to its performance, low latency and serialization capabilities. But gRPC connections are sticky. In fact they are too sticky that make the load balancing very tricky and difficult. It is important to understand why and what is a proper way to handle it to avoid services overloading and interruption.

Continue Reading

Two KMS keys, One alias

  • 05 Oct, 2019
  • read

Two parameter store values using the same KMS key alias, one decrypts and the other raises an Access Denied exception, while the corresponding IAM role has access to that KMS key ARN.

Continue Reading

Securing MicroServices

  • 06 Sep, 2018
  • read

With migration to MicroServices architecture, it is extremely critical for us to control which user/service has access to which other services and which actions are permitted or should be denied.

Continue Reading

Business value of Polyglot programming

  • 25 Apr, 2017
  • read

When facing a technical problem, being technology agnostic enables you to pick the best tool for the job. You can also break a problem in to several smaller components and pick the best suitable technology for each.

Continue Reading

Conference Talks

Contact Me

Get In Touch

If you are interested in the topics here, please follow me on Twitter where I share more about my learnings