Turned 20 today.
I started working when I was 17yo and these are the lessons I have learned working in more than 3 startups (with the founders).
A thread 🧵
Nobody is more busy than the unemployed+lazy combo person
Bro thinks he’s running out of time, studies for 3-4 hours a day, then spends the rest of the time thinking, manifesting something, and scrolling brainrot content.
Come out of your comfort zone and see people are giving 12-14 hours a day. After their jobs, they still go build other stuff and never say they’re running out of time.
They just love the work and keep doing it, stop blaming time and take action or things only get worse.
We built our launch video in Claude Code using HyperFrames.
Now it's yours.
Open source, agent-native framework. HTML to MP4.
$ npx skills add heygen-com/hyperframes
RT + Comment "HyperFrames" to get the full source code of this launch video (must follow)
Sign in with Google
...without actually signing into Google
`emulate` is a service emulator that makes external integrations easy to test, stable to run, and predictable for agents, CI or anywhere determinism matters
npx skills add vercel-labs/emulate --skill google
I remember a junior engineer I worked with who genuinely thought he was a bad software engineer.
Not average. But Actually bad.
Why?
Because every ticket took him too long. He could not debug production issues fast. He got confused in code reviews. And whenever senior engineers spoke about caching, queues, indexing, retries, race conditions, he would just go silent.
So naturally he made the worst conclusion possible:
"Maybe I am just not smart enough for backend work."
But that was not the real problem.
The real problem was much simpler.
He was missing a few boring prerequisite skills that nobody had properly taught him:
1. How HTTP actually works
2. How databases really read and write data
3. How logs are used to trace a bug
4. How to read an unfamiliar codebase without panicking
5. How to break a big problem into smaller checks
6. How async code fails in real systems
That is it.
Not talent or IQ.
Just missing foundations.
So instead of telling him to "work harder" or "be more confident", we fixed the inputs.
For a few months he did very basic things:
- wrote simple SQL queries by hand
- debugged small bugs slowly and documented the path
- learned API flow end to end
- traced requests from load balancer to service to database
- read old incident reports
- picked one concept every week and went deep on it
Nothing fancy. No 10x engineer nonsense. No fake motivation.
Simply repetition on the right prerequisites.
And things changed!
The same guy who used to freeze during debugging started finding issues before others. The same guy who thought he was "bad at coding" started writing cleaner code reviews. He used to get stuck on every production issue and now became the person people tagged for backend bugs.
A year later, new joiners thought he was naturally talented.
He was not.
He was finally practiced.
This is something a lot of people in software do not understand:
A weak foundation feels like low intelligence. A strong foundation feels like talent.
Many people are failing because they are trying to do senior-level work without junior-level repetitions.
And the opposite is also true.
Some people think they are geniuses when really they just got early exposure: better college better peers better internship better manager better starting point
That lead disappears very fast if they stop practicing.
Software engineering is like that.
Prerequisite knowledge is intellectual capital.
It can take a person from: "Maybe I am not cut out for this" to "I can probably build this"
And it can also take someone from: "I am the smartest guy here" to "why is everyone catching up to me so fast?"
Do not judge yourself too early.
Sometimes you do not need more confidence. You need more reps on the fundamentals.
Do the hard shit. Train when you’re tired, Study when it’s boring, Build when no one is watching.
Easy choices make you comfortable.Hard choices make you dangerous and even if you don’t succeed, you’ll still be ahead of everyone who didn’t even try.
One day they’ll call you lucky, they’ll never see the war you fought alone.
I rarely give a “Strong YES” in Recruiter Screenings. Today I did for someone you ticked all boxes.
Out of ~200 Software Engineers screened in the last few months, Here’s why this one stood out and what most candidates miss:
1️⃣ He spoke in trade-offs, not achievements.
– why synchronous transactions failed at scale
– why DB locks created cascading issues
– why atomicity had to be sacrificed
– why async chunking + retries was the right compromise
Senior engineers also think in constraints.
2️⃣ He understood production reality.
He talked about:
– failure modes
– retry logic
– database pressure
– operational cost of rollbacks
Theory is common, operational scars are rare.
3️⃣ He quantified impact.
Reduced failure rates.
Increased processing limits.
Improved stability.
4️⃣ He prioritized scope over salary talk.
When asked about compensation, he said ~15% hike, rare to hear these days from Software Enggs. Focused more on ownership and bigger role.
Irony? The budget was far higher.
The strongest engineers often under-anchor because they’re value-driven, not hype-driven.
5️⃣ He had long-term thinking. Said something I don’t hear often:
“If you switch too frequently, you would rarely be able to see the impact of what you built.”
This mindset. He said he has been happy, he gets that satisfaction at work, been few years at same company so wants to optimize for more scope & challenges.
My POV after years recruiting:
Fundamentals clears the gate.
Production depth clears the bar.
Communication determines leveling.
If you’re preparing for senior roles:
Stop memorizing answers.
Start explaining decisions.
Talk about what broke.
Explain what you compromised.
Show ownership beyond launch.
Strong engineers don’t sound impressive, they sound responsible.
If you really want to understand how LLMs work, try coding your own version of one from scratch.
And that's exactly what you'll do in this course: build a Llama 4-like LLM from the bottom up.
You'll build a tokenizer, learn about the attention mechanism, dive into Rotary Positional Embeddings, & lots more.
https://t.co/g1xWIqesbW
Cost of not upskilling,
cost of not changing the jobs at right time is you will be stuck at the same place for years, same salary, outdated skills and probably politics is the only skill helping you to survive .
AI is a multiplier, not a replacement. If you don’t know what you’re building, the agent will happily give you garbage at high speed.
And then we blame AI. But whose fault is that really?
When I joined my first company, I remember feeling excited and scared at the same time.
First few weeks were fine. New place, new people, everything felt fresh. Then slowly, reality hit. Meetings started going over my head. People spoke confidently about things I had barely heard of. I would sit there thinking, how do they know all this and I don’t?
I didn’t ask many questions. I was scared of sounding stupid. So I did what most of us do. I nodded in meetings and tried to figure things out later on my own.
There were days I went back home feeling heavy. Not because work was hard, but because I kept doubting myself. I genuinely felt like I didn’t belong there. Like I had somehow slipped through the cracks and one day someone would notice.
But something changed with time.
I kept showing up.
I kept learning quietly.
I started understanding things, one by one.
That fear didn’t disappear in a day. It slowly faded as confidence started coming from real work, not from pretending. The same meetings that scared me once started making sense. I wasn’t the smartest in the room, but I wasn’t lost anymore.
Looking back, that phase taught me a lot.
Feeling like an imposter doesn’t mean you’re weak. It usually means you’re new and growing. Confidence comes later. Much later.
If you’re in that initial phase right now, feeling lost and questioning yourself, just know this: almost everyone starts there.
Stay. Learn. Let time do its job.