A LINUX KERNEL DEVELOPER PROVED THE THING YOU PUSH CODE TO IS SECRETLY A DATABASE THAT CAN VERSION ALMOST ANYTHING AND THAT MOST DEVS HAVE ONLY EVER TOUCHED A TENTH OF IT
42 minutes from Josh Triplett -- a longtime Linux kernel and Debian developer -- showing that Git is a general-purpose, tamper-evident versioning engine that just happens to be famous for code.
-> The moment it clicks, Git stops being "Where my code lives" and becomes what it really is underneath: a content-addressable store that can version almost anything -- your configs, your notes, your servers' state, entire datasets.
People run whole wikis on it. They version their entire machine's configuration with it. They ship websites by pushing to it. They track data too big to email. None of it is a hack -- it's the same handful of objects you already use for code, pointed somewhere new.
Treating Git as a code-only tool was never the ceiling -> it's a versioning engine for anything, and the people who see that automate what the rest of the team still does by hand. And as AI agents start spitting out not just code but configs, docs and data, the one system that can version and audit all of it at once is already sitting on your machine.
You learned five commands to survive. This is the talk that shows you were standing on top of a database the whole time.
It changes what you think the tool is even for.
Bookmark & Watch it today ↓
for anyone asking where to learn this stuff:
• RAG → https://t.co/4bzbUIwV5g
• Agentic RAG → https://t.co/IotOiGmV1Y
• AI Agents → https://t.co/nEeMnVJQbk
• Multi-Agent Systems → https://t.co/pavDPVJEFj
• LangGraph → https://t.co/3miEqqFzF0
• LangGraph (code) → https://t.co/v7kxHZXqba
• MCP → https://t.co/lKawRb4etX
• Memory Systems → https://t.co/LSaT2UaPAS
• Evals → https://t.co/vxChxa1kqQ
• Context Engineering → search "Context Engineering Survey" on arXiv
and please skip the "build an ai agent in 10 minutes" videos
build something, watch it fail, then figure out why.
“Software engineers who don’t know how to use AI coding agents will fall behind.”
No.
AI coding agents are not the hard part of building software. They’re a simple tool. You can learn to use them in a few days.
The hard part is knowing what to ask for.
Knowing whether the answer is any good.
Knowing when the code is brittle, overcomplicated, insecure, or just plain wrong.
It’s the judgement required to use them well.
That’s software engineering. And that takes decades to learn properly.
The people at risk aren’t engineers who haven’t mastered using coding agents yet.
It’s people who only know how to prompt one.
You can’t outwork the whole world. There’s always going to be someone somewhere willing to work as hard as you. Someone just as hungry. Or hungrier.
Assuming you can work harder and longer than someone else is giving yourself too much credit for your effort and not enough for theirs. Putting in 1,001 hours to someone else’s 1,000 isn’t going to tip the scale in your favor.
What’s worse is when management holds up certain people as having a great “work ethic” because they’re always around, always available, always working. That’s a terrible example of a work ethic and a great example of someone who’s overworked.
A great work ethic isn’t about working whenever you’re called upon. It’s about doing what you say you’re going to do, putting in a fair day’s work, respecting the work, respecting the customer, respecting coworkers, not wasting time, not creating unnecessary work for other people, and not being a bottleneck. Work ethic is about being a fundamentally good person that others can count on and enjoy working with.
So how do people get ahead if it’s not about outworking everyone else?
People make it because they’re talented, they’re lucky, they’re in the right place at the right time, they know how to work with other people, they know how to sell an idea, they know what moves people, they can tell a story, they know which details matter and which don’t, they can see the big and small pictures in every situation, and they know how to do something with an opportunity. And for so many other reasons.
So get the outwork myth out of your head. Stop equating work ethic with excessive work hours. Neither is going to get you ahead or help you find calm.
[The Outwork Myth — It Doesn't Have To Be Crazy At Work, 2018]
Senior backend interview question:
A production table has 1 million rows.
You need to delete them.
The system is live.
Downtime is not an option.
What's your plan?
Backend Interview Problem:
You have this query running slowly:
SELECT * FROM orders
WHERE user_id = 101
AND status = 'pending'
ORDER BY created_at DESC;
You add this index:
CREATE INDEX idx_user ON orders(user_id);
Query is still slow.
Which index would actually fix it?
A) CREATE INDEX idx_status ON orders(status);
B) CREATE INDEX idx_user_status ON orders(user_id, status);
C) CREATE INDEX idx_user_status_date
ON orders(user_id, status, created_at DESC);
D) CREATE INDEX idx_all
ON orders(user_id, status, created_at, id);
What's the correct answer
and why does column order matter?
Backend - Spring Boot
Frontend - React
java.time.DayOfWeek - 1 to 7
Date.prototype.getDay - 0 to 6
There lies a potential bug. Stay vigilant.
#java#react#javascript
As a Senior Backend Engineer trying to move towards Staff, I can tell you one thing clearly:
At Senior level, knowing system design fundamentals is not enough anymore.
You are expected to design a good system.
At Staff level, you are expected to design the right system for the business, explain the tradeoffs, influence multiple teams, reduce long term operational pain, and make sure the system does not collapse when traffic, teams, and complexity grow.
So if you are already good at system design but still feel stuck at Senior, spend the next 3-6 months building these Staff Engineer muscles.
Architecture & Technical Strategy
↬ System boundaries
↬ Platform thinking
↬ Build vs buy decisions
↬ Monolith decomposition
↬ Multi-region architecture
↬ Migration strategies
↬ Backward compatibility
↬ API contracts
↬ Long-term maintainability
↬ Reducing operational complexity
↬ Designing for org structure
↬ Architecture decision records
↬ Technical roadmap planning
↬ Removing accidental complexity
↬ Identifying single points of failure
↬ Choosing boring technology
↬ Knowing when not to build
↬ Designing systems that teams can own
Scalability & Distributed Systems
↬ Caching strategy
↬ Queueing strategy
↬ Partitioning
↬ Sharding
↬ Replication
↬ Leader election
↬ Rate limiting
↬ Load shedding
↬ Backpressure
↬ Fan-out/Fan-in
↬ Idempotency
↬ Retry storms
↬ Consistency models
↬ Eventual consistency
↬ Distributed transactions
↬ Data locality
↬ Hot partitions
↬ Graceful degradation
↬ Capacity planning
↬ Failure mode analysis
Databases & Data Architecture
↬ Data modeling
↬ Indexing strategy
↬ Query patterns
↬ Read/write scaling
↬ OLTP vs OLAP
↬ CDC
↬ WAL
↬ Transaction isolation
↬ Schema evolution
↬ Data retention
↬ Backup and restore
↬ Archival strategy
↬ Hot/cold storage
↬ Multi-tenant data design
↬ Event sourcing
↬ CQRS
↬ Denormalization tradeoffs
↬ Data correctness
↬ Reprocessing pipelines
↬ Analytics vs product database separation
Reliability & Operations
↬ SLO/SLI/SLA
↬ Error budgets
↬ Alert quality
↬ Incident response
↬ Postmortems
↬ Runbooks
↬ On-call pain reduction
↬ Canary deployments
↬ Rollbacks
↬ Feature flags
↬ Disaster recovery
↬ Load testing
↬ Chaos testing
↬ Health checks
↬ Circuit breakers
↬ Distributed tracing
↬ Metrics design
↬ Log quality
↬ Dependency failure handling
↬ Designing for recovery, not perfection
Execution & Influence
↬ Writing design docs
↬ Getting alignment
↬ Mentoring seniors
↬ Reviewing architecture
↬ Asking better questions
↬ Challenging vague requirements
↬ Explaining tradeoffs simply
↬ Driving cross-team projects
↬ Creating technical standards
↬ Reducing duplicate systems
↬ Unblocking other teams
↬ Making hidden risks visible
↬ Communicating with product
↬ Saying no with reasoning
↬ Turning ambiguity into execution
↬ Making other engineers more effective
The Senior to Staff jump is not just about “I can build complex systems.”
It is:
“I can help the org make better technical decisions, avoid expensive mistakes, and create systems that other engineers can safely build on top of.”
That is the mindset shift imo.
If you want to think beyond CRUD apps, study these:
1.Consistent Hashing
2.Load Balancing Strategies
3.Database Indexing Internals
4.Event-Driven Architecture
5.Distributed Caching
6.CQRS Pattern
7.WebSockets at Scale
8.Retry + Backoff Mechanisms
9.Leader Election in Distributed systems
10.Idempotency in APIs
Just who taught Gemini that records can be thrown? Had 2.5 refactor an old spring boot project and I'm getting this. My understanding is Records wasn't designed to be able to extend Throwables or any class.
#java#springboot
❌ Don't use barrel imports in React
✅ Import components directly
Barrel imports (index.js re-exports) import the entire module even if you need one component.
This adds unused code to your bundle ↓