Nigerian engineers are among the most talented in Africa.
Yet many of us spend our careers building and maintaining products that create massive value elsewhere.
A software engineer in Lagos can keep a critical fintech platform running flawlessly, while the biggest financial rewards flow to investors and shareholders thousands of miles away.
The talent is here. The value is being created here.
The question is: when will more of that value stay here too?
This hits different when you’re monitoring it live
Recently implemented JMX + Prometheus monitoring for Windows based JVM services across both DR and Prod envs
That classic sawtooth pattern:
gradual memory growth to sudden drop = garbage collection doing its job
The scary part is when memory usage stops recovering after GC
That’s usually the warning sign before an actual prod incident.
How the JVM Works
We compile, run, and debug Java code all the time. But what exactly does the JVM do between compile and run?
Here's the flow:
Build: javac compiles your source code into platform-independent bytecode, stored as .class files, JARs, or modules.
Load: The class loader subsystem brings in classes as needed using parent delegation. Bootstrap handles core JDK classes, Platform covers extensions, and System loads your application code.
Link: The Verify step checks bytecode safety. Prepare allocates static fields with default values, and Resolve turns symbolic references into direct memory addresses.
Initialize: Static variables are assigned their actual values, and static initializer blocks execute. This happens only the first time the class is used.
Memory: Heap and Method Area are shared across threads. The JVM stack, PC register, and native method stack are created per thread. The garbage collector reclaims unused heap memory.
Execute: The interpreter runs bytecode directly. When a method gets called multiple times, the JIT compiler converts it to native machine code and stores it in the code cache. Native calls go through JNI to reach C/C++ libraries.
Run: Your program runs on a mix of interpreted and JIT-compiled code. Fast startup, peak performance over time.
Inherited a small project with zero security scanning in CI/CD.
Implemented:
• Gitleaks for secrets detection
• Semgrep for SAST
• Trivy for container & dependency scanning
First pipeline run immediately exposed a CRITICAL CVE buried deep in nested dependencies 👀
Remediation:
• Upgraded the base image
• Patched vulnerable packages
• Blocked risky builds before production
Now every commit is automatically scanned.
This what shifting security left looks like.
How the JVM Works
We compile, run, and debug Java code all the time. But what exactly does the JVM do between compile and run?
Here's the flow:
Build: javac compiles your source code into platform-independent bytecode, stored as .class files, JARs, or modules.
Load: The class loader subsystem brings in classes as needed using parent delegation. Bootstrap handles core JDK classes, Platform covers extensions, and System loads your application code.
Link: The Verify step checks bytecode safety. Prepare allocates static fields with default values, and Resolve turns symbolic references into direct memory addresses.
Initialize: Static variables are assigned their actual values, and static initializer blocks execute. This happens only the first time the class is used.
Memory: Heap and Method Area are shared across threads. The JVM stack, PC register, and native method stack are created per thread. The garbage collector reclaims unused heap memory.
Execute: The interpreter runs bytecode directly. When a method gets called multiple times, the JIT compiler converts it to native machine code and stores it in the code cache. Native calls go through JNI to reach C/C++ libraries.
Run: Your program runs on a mix of interpreted and JIT-compiled code. Fast startup, peak performance over time.
Tevez. The twins. Evra. Park. Ji-Sung.
Not just great players, grafters with real stories and real personalities.
Fergie didn’t just build a squad. He built people.
@ShootforLoveYT is reminding us how lucky we were
🔴 #MUFC
Just watched the Rafael & Fabio episode on @ShootforLoveYT and I couldn’t stop smiling
Same womb. Same club. Rafa switches position just to stay beside his brother. They retire at the same time.
That’s not football loyalty. That’s something else entirely. Twin love is real
Rafa said “speak English so Ji can understand.”
No cameras. No show. Just someone looking out for his teammate.
That’s what the Fergie dressing room was like.
You can’t force that kind of culture. It comes naturally.
This is the real SRE lesson. The issue wasn’t the command it was the blast radius.
At that scale, every internal tool is production critical.
If one action can take down recovery systems too, the failure isn’t isolated. You can’t use a broken ladder to climb out of the hole it fell into.
Failure is expected. Uncontained failure is the real outage.
Fights like this don’t just damage two people they damage the ecosystem. The same DJs spinning your records are why your music crosses borders the same artists making the music are why DJs have rooms to fill
Disunity in this industry is expensive for everyone afrobeats didn’t go global because of one artist or one DJ It worked because both moved together.
Moments like this remind you how fragile that unity is…
and how much gets lost when ego wins
People quote the $81K figure but that doesn’t capture the full picture. Hospital visits alone add another $18K–$45K per person annually. Also taxpayer funded. Tracked separately. Rarely mentioned together.
The real problem isn’t just spending. It’s that the spending is fragmented and unmonitored.
NGOs,Hospitals, Public funds flowing through both. No unified tracking, No unified outcome. You can’t fix what you refuse to measure properly.
@victorosimhen9 generosity is real and deserves every flower🌹 But let’s be careful comparing hearts we can’t fully see. Generosity comes from the heart , what is visible is not the full picture.
@alexiwobi contributing less publicly doesn’t mean he gives less privately. Some people move in silence and let God keep the record.
Matthew 6:3 “But when you give to the needy, do not let your left hand know what your right hand is doing.”