Sharding 🗄️, Things college don't teach about SE 👨🏻‍💻, AI Strategies 🤖, 40 Years of Programming 🚀

By Prajwal Haniya

Techletter #64 | March 16th, 2024

What do you mean by sharding in a database?

Sharding is a technique used in database design to split a large database into smaller subsets called shards and distribute them across multiple servers.

When a query is made, the system determines which shard contains the relevant data based on the sharding key.

Sharding involves Data partitioning, Node assignment, Query Routing, Data aggregation


Things they didn’t teach you about Software Engineering

Original link | Archive Link


Why do AI Startups require different strategies?

“There’s no AI strategy without a data strategy”

Training AI models require data. Whether you’re training existing models, developing models from scratch, or simply testing theories, high-quality data is crucial.

Incumbents have the data because they have the customers. They can immediately leverage customers’ data to train models and tune algorithms, so long as they maintain secrecy and privacy.

Original link | Archive Link


40 years of programming

Do you think it is important to really understand how computers work, how programming languages work, and how various tools like text editors work to produce the finest code humanly possible. Then you are wrong.

Interesting and significant software is beyond the capacity of any one person to build alone in a reasonable time frame. This means that the fundamental, crucial, core skills in building software are communication and collaboration.

Detailed planning beyond the very near future is difficult and usually fails for a software project. This includes estimating how long the work will take. Avoid doing this.

When making a change, make only one change at a time. If you can, split the change you’re making into smaller partial changes. Small changes are easier to understand and less likely to be catastrophic.

Original link | Archive link


How to Manage Multiple Git Accounts in one computer?

Imagine if you need to switch between two laptops for code contribution for multiple repositories within two different accounts having different roles and permissions. It is just super painful, right?

So here I am with the solution.

In this letter, I describe how you can manage multiple accounts within the same machine and contribute to repositories of different accounts.

Original Link


Videos worth watching