A small moment that genuinely scared me.
A friend of mine was stuck on a simple bug. Instead of reading the error or looking at the code, his first instinct was to open ChatGPT.
I stopped him and asked, what’s the error?
He said, I don’t know, I was about to ask AI.
I told him to just read the error message. Nothing fancy. Just read it.
He hesitated. Then actually looked at the code. Twenty seconds later he said, oh… wrong variable type.
That’s what scared me.
Not that he used AI. But that thinking wasn’t the default anymore.
I’m all for using AI to code faster. But there’s a big difference between using AI to speed up your work and using it to avoid thinking at all.
I see this everywhere now. Every bug becomes a prompt. Every confusion gets outsourced instantly.
But the struggle is where you build intuition. That’s how you learn when AI is wrong. If you never debug simple things yourself, you won’t know what to do when AI hallucinates on harder problems.
We’re confusing efficiency with dependency. Use AI, absolutely. But read the error first. Try the obvious fix. Think for thirty seconds.
Because the moment you stop solving small problems on your own, you slowly lose the ability to solve big ones.
You only need to read four books to truly get what’s going on in ML and data engineering:
- Fundamentals of Data Engineering by Joe Reis
- Designing Data Intensive Applications by Martin Kleppmann
- AI engineering by Chip Huyen
- Designing Machine Learning Systems by Chip Huyen
If you read these four technical books and then read these four books on leadership and soft skills, you’ll be well on your way to massive success!
- Radical Candor
- Atomic Habits
- How to Win Friends and Influence People
- The Body Keeps Score
What books would you recommend?
There's still no better explainer of what neural networks are and how they work than @3blue1brown's 8-video playlist.
He recently added four new videos to this playlist:
1. Large Language Models explained briefly
2. Transformers (how LLMs work) explained visually
3. Attention in transformers, visually explained
4. How might LLMs store facts
If you are interested in AI, I can't recommend these videos enough.
Programming languages have widely varying ability to communicate logic succinctly.
If you look at character counts of 10 basic programs in each, Java has 2x higher entropy than Python.
Very different result for natural spoken languages.
Google Cloud accidentally deleted a company's entire cloud environment (Unisuper, an investment company, which manages $80B). The company had backups in another region, but GCP deleted those too. Luckily, they had yet more backups on another provider.
https://t.co/v5WFxqUtaB
Today, Uber is a $140B company with more than 6 million drivers.
But in the early days, we had to overcome the same chicken and egg problem many startups face:
Without drivers ➡️ riders couldn’t get a car
And without riders ➡️drivers couldn’t make $
Here’s how we solved it:
Kafka is super popular among developers and large organizations.
But it can be a little overwhelming to start with.
This one post will provide all the high-level details of Kafka to help you get started.
✅What is Kafka?
Kafka is a distributed event store and streaming platform.
It began as an internal project at LinkedIn.
Over time, it grew rapidly and today, some of the largest data pipelines in the world use Kafka.
Organizations like Netflix and Uber rely on it for their workflows.
Here’s a high-level look at Kafka.
✅Kafka Messages, Topics and Partitions
The basic unit of data in Kafka is a Message
Think of a message like a record in a database table. It is transmitted as an array of bytes.
Every message goes to a particular Topic.
You can compare Kafka Topics to a database table or a folder on your computer.
Topics are also made up of multiple partitions.
Partitions improve the redundancy and make the topics horizontally scalable.
Here’s a pictorial look at messages, topics and partitions in Kafka.
✅Kafka Producer & Kafka Consumer
Producers in Kafka create new messages, batch them and send them over to a Kafka topic.
A producer also balances messages across the different partitions of a topic.
You can provide a custom partitioning strategy to control the distribution of messages.
Kafka Consumers read messages from a broker.
One or more consumers work as a consumer group to consume messages from a topic.
A consumer instance is tied to a particular partition.
In other words, a partition is owned by a consumer instance.
Here’s how Kafka Producers and Consumers look on a high level.
✅Kafka Broker and Cluster
A single Kafka server is known as a Broker.
A broker can handle thousands of partitions and millions of messages/second.
Think of the broker as a bridge between the producer and consumer.
It receives messages from producers and handles fetch requests from the consumer.
But the broker doesn’t work in isolation.
It works as part of a Kafka Cluster
A Kafka Cluster consists of several brokers.
This cluster provides features like replication.
Every partition is replicated across multiple brokers ensuring high-availability and redundancy.
Check the below illustration of a Kafka Cluster
✅Kafka Advantages
[1] Handling multiple producers with ease
[2] Support multiple consumers without interference
[3] Disk-based retention of data
[4] Highly scalable
✅Kafka Disadvantages
[1] Overwhelming number of configuration options
[2] Lack of mature client libraries other than Java or C (but this is changing fast)
✅Common Use Cases of Kafka
[1] Tracking user activity on front-end application
[2] Messaging requirements in a distributed system such as notifications and emails to users
[3] Metrics collection and logging
✅ Kafka vs RabbitMQ
Often, the question comes up when to use Kafka over something like RabbitMQ.
Here are some decisions points:
[1] If you are looking for strong durability guarantees, Kafka is a better choice
[2] Kafka also provides some solid ordering guarantees.
So, what do you think about Kafka?
Have you used it or are you planning to use Kafka in your projects?
If there was a message from someone that would make me deeply upset and sit in silence for hours contemplating my life choices, I didn't think that someone would be Rotimi Amaechi.
But this video is living rent free inside my head...
If there was a message from someone that would make me deeply upset and sit in silence for hours contemplating my life choices, I didn't think that someone would be Rotimi Amaechi.
But this video is living rent free inside my head...