Logo

dev-resources.site

for different kinds of informations.

Learnings from my last assignment

Published at
1/3/2020
Categories
learnings
avro
kafka
presto
Author
anilkulkarni87
Categories
4 categories in total
learnings
open
avro
open
kafka
open
presto
open
Author
14 person written this
anilkulkarni87
open
Learnings from my last assignment

Learnings from my last assignment

The year 2019 as well as my previous work assignment, has been very interesting, challenging and educating. I happen to work on different technologies and domains.
Here I am jotting down the learnings from my last assignment. While I learnt many things, one of the most important lesson to me goes in sync with a great man’s words “All I know is, Nothing“.

Standards

  • Importance of Coding and Logging standards for an organization or at-least a team. By defining those standards upfront, the effort saved as the application grows bigger was quite evident to me.
  • Importance of defining metrics and having a clear distinction between application and business metrics.
  • Identifying standards for publishing events and consuming them.
  • Identifying data storage formats, I worked mainly on Apache Avro. The advantages it brings when there is a Schema Evolution.
  • Importance Encryption and Tokenization standards for the data we deal with. You know privacy is no more a wishlist, but a law. It also made me understand difference between the two terms used here.

Apache Avro

  • Importance of defining a schema/model for the data we deal with and how Avro enforces certain data quality checks in the pipeline.
  • I also understood what schema evolution is and how its needs to be a planned move. Enforcing schema compatibility checks before changing them.
  • Avro IDL makes it super easy to define/design schemas for the data we deal with.
  • Challenges involved with Union and complex union types.
  • Impacts of breaking schema changes on production systems and probable solutions to handle that.
  • Defining our custom Logical type as part of Avro. Example : Encryption and Tokenization.

Kafka

  • I learnt a lot about how Kafka can fit into some of the applications, especially when its event based.
  • Difference between System and Business events.
  • Leveraging Schema registry to enforce checks while producing and consuming messages from topic.
  • Kafka headers and how that can be leveraged in the pipeline.
  • Producing data with multiple schemas versus single schema to a single topic.
  • Importance of metadata (Data about data).
  • Kafka Connect and use cases around it.
  • A little bit about Kafka Streams.

Spark

  • Learnt Scala (just enough for Spark), build and execute jobs by leveraging Livy.
  • Understand about partitioning, re-partitioning, data shuffles.
  • Consuming messages from Kafka in batch mode.
  • Learnt few things about the executor, executor cores and memory management in Spark.
  • Spark History, Zeppelin notebooks for Spark.
  • Unit testing in Spark and its importance.

Presto/Hive

Airflow

  • Writing workflow as code and understanding of how Airflow works.
  • Creating custom Operators.

Docker and Kubernetes

  • How docker can help us have $0 infrastructure cost during development and Unit testing.
  • Kubernetes is still a partially known area. I learnt about accessing the pods, managing secrets, YAML files.

Design Patterns – Java

  • From reading about Design patterns to actually to see it being used.
  • Importance of Unit Testing and Code Reviews.

Domains

I have listed some of the domains that I have worked on. If one cannot traverse across domains for a specific Customer, then we are hardly making use of the richness of the data.

  • Customer – I was able to understand the different challenges a company will have in dealing with Customer data.
  • Sales – All the different attributes related to a transaction and why its critical to have them available in the system Near Real time.
  • Preference – For people who work under marketing, the preference of customer plays a great role and with more laws around them, its important to have them updated and be available to the marketing teams.
  • Loyalty – The success of this program can only be measured when the company can leverage this data to its benefit.

This is a brain dump of the previous assignment I worked on but it will also serve as a reminder of all the learnings as well as the unknowns. I also plan to write other posts related to some of the topics listed here as I truly believe in “To teach is to learn twice“.

The post Learnings from my last assignment appeared first on Anil Kulkarni | Blog.

learnings Article's
26 articles in total
Favicon
Microsoft OpenAI: Errors I Learned
Favicon
[HttpServer series] Will it support the Performance, and Scale ?
Favicon
[HttpServer Series] Frameworks, Annotations, and SpringBoot
Favicon
[HttpServer Series] Who uses Java anymore ?
Favicon
Transcribe Now - : Unlocking Cross-Cultural Language Understanding
Favicon
Real-Life Problem Solving: Lessons from My Engineering Principles
Favicon
Recent Learnings
Favicon
9 Learnings from a fast-growing startup
Favicon
10 Things That I Learned in 2022
Favicon
🎯 SaaS dev challenges - #02 - 🗝 ️Authentication
Favicon
🎯 SaaS dev challenges - #01 - 🎨 UI/UX & design system
Favicon
Simple Rock Paper Scissors game build using JuliaLang
Favicon
Learnings from daily dev job - Part 1
Favicon
Everything I learned at the first job I had as a developer
Favicon
How To Optimize for Change
Favicon
Why being a Codeslinger makes you worse than you think
Favicon
geek week local
Favicon
Are libraries/frameworks an overkill?
Favicon
Managing projects for software developers
Favicon
Learnings from my last assignment
Favicon
My Experience doing fun ( stupid ? ) stuff with Python
Favicon
Gzip Compression for Beginners
Favicon
Managers are wiser than average and subordinates are dumber?!
Favicon
Making and taking babysteps
Favicon
🔥 One year of my professional career and things I learned which might help you 🙏
Favicon
How I'm Managing Work-Life Balance

Featured ones: