The best software engineers I know all have this in common:
• Start coding with big dreams at 21.
• Get rejected by companies at 22.
• Take the job they could get at 23.
• Spend 2 years fixing bugs and writing CRUD APIs.
• Feel behind when others post big salaries online.
• Try to switch at 26.
• Fail interviews at 27.
• Realize tutorials were not enough.
• Finally learn CS fundamentals, system design, databases, networking, and how real systems break.
• Start building better at 29.
• Become dangerous at 31.
And change their family’s future by 35.
With their sharpest years still ahead.
Software engineering is not a sprint.
It is a long game of skill, patience, and staying in the fight.
Keep going.
I took this photo of Shola and Ezra before Paystack announced their first round. Years later, Stripe acquired Paystack for over $200M.
I took this photo of Tosin before Moniepoint raised a single dollar.
Today, they’ve raised over $200M and are valued at more than $1B.
I took this photo of Madam Funke Opeke before the big MainOne exit. Equinix acquired MainOne for $320M.
I took this photo of GB on his first day as CEO of Flutterwave. Today, Flutterwave has raised over $470M and is valued at $3B.
Recently, I saw a tweet that said:
“Most successful founders have an unfair advantage. They all know each other.”
Here’s what people don’t see.
Many of us met when there was no money. No valuations. No press. No hype.
We were hustling through Lagos traffic to hackathons and tech events. Showing up at meetups with more ambition than resources.
Building relationships without calculating ROI.
We weren’t thinking about leverage. We were building community.
Years later, those same relationships became partnerships, investments, boards, and Million-dollar outcomes.
Yes, privilege exists.
But long before the headlines, there was proximity. There was consistency. There was shared struggle.
If you’re early in your journey, don’t underestimate the people around you today.
The founder you’re brainstorming with. The engineer you’re building side projects with. The operator grinding quietly.
You don’t know who they’ll become.
And more importantly you don’t know who you’ll become together.
Build real relationships. Not just transactions.
That’s the long game.
Simple SQL only exists in tutorials.
Here are 5 lessons I learned the hard way.
Avoid over-indexing.
Indexes are a powerful tool for speeding up data retrieval.
They work by creating an extra data structure that the database can use to locate rows.
But they are not for free; each index requires more storage and slows down write operations.
Create indexes on columns used in search conditions (WHERE, JOIN) and sorting (ORDER BY).
Query Structure impacts performance.
Complex queries with subqueries and nested logic will force the DB to work more.
Sometimes, running two or more queries and adding them on the server side makes sense.
Selecting only the necessary columns reduces the database's data to process and transfer.
Pay attention to JOINs and WHEREs.
JOINs combine rows from two or more tables based on a related column.
WHERE filters records.
JOINs and WHERE clauses can reduce the rows you need to process in later stages of the query.
Write the WHEREs and JOINs taking advantage of indexes.
Subqueries need careful handling.
Correlated subqueries execute for each row in the outer query, leading to inefficiency.
Rewriting subqueries as JOINs or using temporary tables will improve performance.
Your database design impacts your query performance.
Data normalization involves organizing the schema to reduce redundancy and improve data integrity.
But it can lead to complex queries with many JOINs.
Denormalization simplifies queries at the expense of increased data redundancy.
What else?
Hiring junior & intermediate webdevs.
100% remote, global. Professional exp. is a bonus.
Frontend: any PWA framework.
Backend: any web dev language.
Full stack: Both of the above.
#Typescript is a bonus.
Apply here: https://t.co/DRqVy6FSX2
#100DaysOfCode#javascript#python
Setting up a new computer, I may give this one a try! Basically, for each project you set up
- a Python version (via pyenv)
- packages (via virtualenv)
- and track dependencies via poetry
Any experiences with the "pyenv-virtualenv-poetry" (and would you recommend it over conda)?
Know any good motion/interaction UI/UX designer looking for a foreign remote gig?
Need someone really good, shoot your shot if you interested.
rts appreciated! + dms open
Are you currently hiring for a role that includes using Node.js? Reply with a link to the opening and any relevant context.
If you're not, we'd appreciate a retweet for visibility 💚
The work we're doing at @remix_run right now will help a ton with this. It's called "Remix Stacks" and it'll give you a ready-to-deploy app with a database and user auth in just a few hundred lines of code and minimal abstractions to learn. It's remarkable. Keep an eye on it!