TLDR Web Dev

TLDR WEB DEV 2024-01-02

5 sections16 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

GIT REBASE: WHAT CAN GO WRONG?

It’s common for developers to face issues when using Git's "rebase" feature. Common issues include repeated conflict resolution, difficulty when rebasing many commits, the complexity of undoing a rebase, issues with force pushing to shared branches, complications in code reviews due to force pushes, and loss of commit metadata. To help solve this, the article describes varying levels of "commit discipline,” alternative workflows like the "squash and merge" approach, and the author’s personal rules for using rebase effectively.

jvns.ca13 min read

HOW PINTEREST SCALED TO 11 MILLION USERS WITH ONLY 6 ENGINEERS

Pinterest scaled rapidly from a small startup with just 1 engineer to handling 11 million monthly active users with only 6 engineers. The key takeaways from its scaling journey include the importance of using known, proven technologies, keeping the architecture simple, avoiding overcomplication, favoring sharding databases over clustering, and embracing limited, proven choices. Pinterest went through various phases of growth, optimizing its tech stack along the way, and learned valuable lessons about database structuring and management, such as how to pick proper database primary keys when sharding.

read.engineerscodex.com6 min read

COMMITTING WITHOUT GIT

This article discusses how to create Git commits using Python and without using the Git command-line interface. It explains the process step by step, covering the creation of blobs, trees, commits, and branches manually. Python code snippets are provided for each step along with explanations of Git's underlying data structures.

matheustavares.gitlab.io5 min read

02OPINIONS & ADVICE

2024 GUIDE TO GOALS FOR SOFTWARE ENGINEERS

Setting clear goals provides focus, helps in decision-making, and reduces the ambiguity in one's path. This article covers different types of goals, including those partially within one's control, completely within one's control, action-based checklists, recurring patterns, and feeling-based goals. To decide on goals, it’s helpful to start with focus areas and define the "why" behind each goal.

careercutler.substack.com8 min read

HOW PROMOTIONS AND RATINGS WORK

Self-reviews, peer reviews, manager reviews, and performance discussions are all used for determining an employee's rating in big tech companies. To understand promotions and ratings well, it’s important to know that managers don't have full control over ratings and that it’s important to have higher-up engineers and managers vouching for you.

developing.dev4 min read

HOW TO PREPARE THE SYSTEM DESIGN INTERVIEW

It’s important to identify common patterns in real-world applications, recognize knowledge gaps, and collect resources for study and practice when preparing for system design interviews, particularly for FAANG companies. The framework for succeeding during interviews involves asking clarifying questions, proposing high-level designs, diving into details, and addressing follow-up questions. Various resources for study, practice, and learning are provided in the article.

strategizeyourcareer.substack.com9 min read

03LAUNCHES & TOOLS

HACKER STARTUP

Hacker Startup is a list of starter kits and templates for developers to build their next project faster. It includes kits and templates for Next.js, Nuxt, Ruby on Rails, Django, and more.

hackerstartup.comGitHub repository

PAGE REPLICA

Page Replica is a web scraping and caching tool created using Node.js, Express, and Puppeteer. It is designed to prerender web application pages (e.g., React, Angular, Vue) for SEO or other uses. It can scrape single web pages or entire sitemaps with an API, optionally removing JavaScript and caching the HTML. The tool also includes an Nginx configuration for efficiently handling both user and search engine bot traffic.

github.comGitHub repository

DBCHAOS

DBChaos allows developers to stress-test their databases with pre-defined queries. It validates slow and expensive queries that may break a database.

github.comGitHub repository

04MISCELLANEOUS

HOW I DESTROYED THE COMPANY'S DB

The author of this article received a support team message about a customer problem, leading to the accidental deletion of all orders in the production database due to a flawed SQL query. The recovery process involved downtime and efforts to restore the database to a previous state. The mistakes made include working on production during the weekend without proper testing, manual database editing, and not using transactions.

zaidesanton.substack.com6 min read

THE HARDEST PART OF BUILDING SOFTWARE IS NOT CODING, IT'S REQUIREMENTS

Coding itself is relatively straightforward - the real challenge lies in defining clear and accurate software requirements. This will make it difficult for AI to replace software engineers. AI cannot create software requirements well, but can assist in rewriting existing software based on well-defined specifications.

stackoverflow.blog10 min read

MUSINGS ON THE C CHARTER

There are various principles that should guide the update of the C committee’s charter for the long-term health of C. These include the importance of providing a simple upgrade path between adjacent versions of C while allowing for incompatibilities, minimizing incompatibilities with C++, maintaining conceptual simplicity, and addressing memory safety issues that plague C.

blog.aaronballman.com10 min read