Venkatesh's banner
Venkatesh's profile picture

Venkatesh

@venkateshdotdev • 1,133 subscribers

Backend Engineer | Java, System Design & Performance Hacks 💻 | Building scalable apps & sharing insights | Collaborate? DM!

Shorts

Someone found our public signup endpoint and scripted it. No rate limit. No CAPTCHA. No email verification gate. 40,000 fake accounts in six hours. Support thought it was a viral moment. It was a bot with a for loop. How do you rate-limit signup without punishing real users?

Someone found our public signup endpoint and scripted it. No rate limit. No CAPTCHA. No email verification gate. 40,000 fake accounts in six hours. Support thought it was a viral moment. It was a bot with a for loop. How do you rate-limit signup without punishing real users?

59,112 views

🚨11 Software Engineering principles I wish I understood earlier: 𝟏. 𝐒𝐎𝐋𝐈𝐃: Better Object-Oriented Design 𝟐. 𝐃𝐑𝐘: Avoid Repetition 𝟑. 𝐊𝐈𝐒𝐒: Keep Things Simple 𝟒. 𝐘𝐀𝐆𝐍𝐈: Don't Build Unnecessary Features 𝟓. 𝐒𝐑𝐏: One Responsibility 𝟔. 𝐎𝐩𝐞𝐧/𝐂𝐥𝐨𝐬𝐞𝐝: Extend Without Breaking 𝟕. 𝐃𝐞𝐩𝐞𝐧𝐝𝐞𝐧𝐜𝐲 𝐈𝐧𝐯𝐞𝐫𝐬𝐢𝐨𝐧: Loose Coupling 𝟖. 𝐂𝐨𝐦𝐩𝐨𝐬𝐢𝐭𝐢𝐨𝐧: Build Flexible Components 𝟗. 𝐒𝐞𝐩𝐚𝐫𝐚𝐭𝐢𝐨𝐧 𝐨𝐟 𝐂𝐨𝐧𝐜𝐞𝐫𝐧𝐬: Cleaner Design 𝟏𝟎. 𝐅𝐚𝐢𝐥 𝐅𝐚𝐬𝐭: Detect Problems Early 𝟏𝟏. 𝐌𝐞𝐚𝐬𝐮𝐫𝐞 𝐅𝐢𝐫𝐬𝐭: Optimize What Actually Matters

🚨11 Software Engineering principles I wish I understood earlier: 𝟏. 𝐒𝐎𝐋𝐈𝐃: Better Object-Oriented Design 𝟐. 𝐃𝐑𝐘: Avoid Repetition 𝟑. 𝐊𝐈𝐒𝐒: Keep Things Simple 𝟒. 𝐘𝐀𝐆𝐍𝐈: Don't Build Unnecessary Features 𝟓. 𝐒𝐑𝐏: One Responsibility 𝟔. 𝐎𝐩𝐞𝐧/𝐂𝐥𝐨𝐬𝐞𝐝: Extend Without Breaking 𝟕. 𝐃𝐞𝐩𝐞𝐧𝐝𝐞𝐧𝐜𝐲 𝐈𝐧𝐯𝐞𝐫𝐬𝐢𝐨𝐧: Loose Coupling 𝟖. 𝐂𝐨𝐦𝐩𝐨𝐬𝐢𝐭𝐢𝐨𝐧: Build Flexible Components 𝟗. 𝐒𝐞𝐩𝐚𝐫𝐚𝐭𝐢𝐨𝐧 𝐨𝐟 𝐂𝐨𝐧𝐜𝐞𝐫𝐧𝐬: Cleaner Design 𝟏𝟎. 𝐅𝐚𝐢𝐥 𝐅𝐚𝐬𝐭: Detect Problems Early 𝟏𝟏. 𝐌𝐞𝐚𝐬𝐮𝐫𝐞 𝐅𝐢𝐫𝐬𝐭: Optimize What Actually Matters

56,138 views

Kafka looks complicated until you understand the problem it solves. Learn it in this order: 1. Fundamentals → Producers → Consumers → Topics → Partitions 2. Message Flow → Records → Offsets → Consumer Groups → Polling 3. Scaling → Partitioning → Parallelism → Replication → Rebalancing 4. Reliability → Acknowledgements → Replication Factor → Leader Election → Fault Tolerance 5. Delivery → At Most Once → At Least Once → Exactly Once 6. Architecture → Event Streaming → Event-Driven Systems → Log Compaction → Retention 7. Production → Monitoring → Lag → Backpressure → Failure Recovery Don't learn Kafka because everyone uses Kafka. Learn it when your problem actually needs an event streaming platform.

Kafka looks complicated until you understand the problem it solves. Learn it in this order: 1. Fundamentals → Producers → Consumers → Topics → Partitions 2. Message Flow → Records → Offsets → Consumer Groups → Polling 3. Scaling → Partitioning → Parallelism → Replication → Rebalancing 4. Reliability → Acknowledgements → Replication Factor → Leader Election → Fault Tolerance 5. Delivery → At Most Once → At Least Once → Exactly Once 6. Architecture → Event Streaming → Event-Driven Systems → Log Compaction → Retention 7. Production → Monitoring → Lag → Backpressure → Failure Recovery Don't learn Kafka because everyone uses Kafka. Learn it when your problem actually needs an event streaming platform.

12,585 views