Backend Engineer | Web3 | Golang | Laravel | Mod @BerfBased

127.0.0.1
So much has been happening in my life that I've decided to start a journal. It might not inspire anyone today. It inspires me.
4
40
957
trying to get into this, I end up missing entries for days in a row tho 😂🫠
20
Buchy retweeted
Database Transactions One thing you don't want in a wallet system is money leaving one account without reaching the other. I am building PropInvest, a property investment platform where users can fund wallets and invest in real estate. When an investor puts money into a property, the system needs to: - Deduct funds from their wallet - Create the investment record - Update the property's funding status - Log the transaction Now, what happens if the wallet is debited, but the server crashes before creating the investment? The investor's money is gone, but they don't own any shares. That's a nightmare. This is why database transactions matter. A database transaction lets you group multiple operations together so they either all succeed or all fail. If the wallet debit, investment creation, and transaction log all succeed, the transaction commits. If any step fails, everything rolls back. The wallet stays untouched. No partial state. This is called atomicity, the A in ACID. ACID stands for: - Atomicity: All operations succeed, or none do. - Consistency: The transaction preserves database rules and constraints. - Isolation: Concurrent transactions don't interfere with each other. - Durability: Once committed, changes persist even if the system crashes. For PropVest's wallet operations, every debit, credit, and record is wrapped in the same database transaction. One important detail though: this protects database changes within that transaction. It doesn't automatically reverse an external action, like a payment already sent to Paystack. That is why I also used idempotency keys, locked balances, and reconciliation workers. But transactions were the foundation. When handling money, a successful API response isn't enough. You need to make sure the underlying operations are actually safe. Never assume your code will complete every step. Design your database operations to handle failure.
2
1
2
37
Transactional Outbox Pattern One thing I've implemented in PropInvest - a platform I am building for fractional real estate ownership, is the Transactional Outbox Pattern. Say you're building a wallet system for property investments. A user purchases shares in a property. You debit their wallet, credit the property pool, and commit the transaction. Then you publish an "investment_completed" event to Kafka (or any other message broker e.g RabbitMQ) so that the notification service can alert the user and update their portfolio. Simple enough, right? But what happens if your application crashes after the database commit but before publishing the event? The investment succeeded, money moved, but the notification was never sent. Other services that depend on that event - like portfolio tracking - may never know the investment happened. Now, if you publish the event before committing the transaction, you have the opposite problem. The event gets published, but the database transaction might fail. Other services are reacting to an investment that never actually went through. This is the dual-write problem. The Transactional Outbox Pattern solves this by saving the business data and the event in the same database transaction. If the transaction commits, both are saved. If it rolls back, neither is saved. A separate worker reads pending events from the outbox table, publishes them to the message broker - Kafka in this case, and marks them as processed. If the worker goes down, the event is still in the database and can be published when the worker comes back up. But there's a catch. The worker could publish an event successfully, crash before marking it as processed, and publish it again after restarting. That means duplicates are possible. This is where idempotency comes in. Give every event a unique ID, and let consumers track which events they've already processed. If an event arrives again, the consumer can safely skip the duplicate. The same principle applies to API requests. If a client retries an investment purchase because of a timeout, an idempotency key helps prevent the same shares from being purchased twice. One thing to keep in mind: the outbox prevents the database change and the intent to publish from getting out of sync. It doesn't guarantee exactly-once delivery or processing. You still have to handle retries and duplicates yourself. The outbox handles reliable event delivery. Idempotency handles repeated execution. Both matter when building systems where a missed event or a duplicate operation can cause real problems - especially when real money is involved.
1
2
3
195
I'd do the same, a poller is easy to reason about and you can swap it out later
1
1
4
I and my friends used to look at this thing as "Bombing LinkedIn" We had a system to look for these companies on LinkedIn, head over to the people section and start bombing the people in the sector we wanted to work for in the company. We would bomb at least 30-40 persons, and most times because we didn't have LinkedIn Premium, there were some persons we couldn't reach. I used this exact system for just 3 weeks and landed my first ever full-time role in design, and about 2 weeks later a Ui/Ux full-time role as well. Till I later discovered Discord, Reddit and Telegram communities, and I left LinkedIn eventually.
I was scrolling through TikTok yesterday when I came across this video, he said he sent over 1,000 cold emails looking for international roles. Meanwhile, you sent 5 last week and another 5 this week and you’re already complaining that cold email doesn’t work.
57
219
2,302
193,521
how do i find these discord, reddit and telegram communities?
1
1
8
5,741
I will tell you the truth. This is coming from someone who has ACTUALLY worked in tech, still does - saw the handwriting on the wall and safely pivoted/diversified. In 2026, tech is like forex. Do people still make money legitimately from forex? Yes. But the people who seem to be making the most money are the ones teaching others how to make money. If you're paying to learn tech - even though its not wrong, you should know what you're getting into. 1. YOU ARE NOT GETTING INTERNSHIP SUPPORT. 700 participants, 2 internship spots is not internship support. 2. Go and read on the streak of layoffs happening currently across the ecosystem - and it is just starting. Microsoft just made an announcement asking about 6000 employees to activate their buyout clause - essentially saying: "Terminate your contract now, and we will give you an agreed sum". This is a strong indicator of more layoffs. Entire tech workflows that would ordinarily take a month, is getting done in 1 day. There is insane saturation. The only ones assured on returns are the ones who sold a course to you. That you don't like what I've said, doesn't make it a lie.
198
1,044
5,872
497,753
are we about to become the graphic designers of 2015 - 2020?
1,019
Replying to @UnkleAyo
i made a post very similar to this earlier today
100% and then, have to go back and learn another skill....and the cycle continues. because, no matter how we try to deny it, AI IS taking software engineering jobs, or at least morphing it. Tasks/projects that could take an entire team months can now be handled by a single engineer in a few weeks and if that engineer has solid fundamentals, he can easily maintain/scale it and there will be no consequence of bad code. So, more unemployed software engineers, less entry level roles. we're already feeling it, and AI agents are only getting smarter
1,219
Buchy retweeted
One of the reasons we have so much slop is cause people don’t understand that just because something can be created doesn’t mean it should be created.
16
195
1,127
15,285
100% and then, have to go back and learn another skill....and the cycle continues. because, no matter how we try to deny it, AI IS taking software engineering jobs, or at least morphing it. Tasks/projects that could take an entire team months can now be handled by a single engineer in a few weeks and if that engineer has solid fundamentals, he can easily maintain/scale it and there will be no consequence of bad code. So, more unemployed software engineers, less entry level roles. we're already feeling it, and AI agents are only getting smarter
The problem isn’t that we don’t want to learn a digital skill. We just don’t want to spend 2 to 3 years learning a skill that doesn’t exist at the end because AI can now do it better.
1
1
2
1,484
Buchy retweeted
Transactional Outbox Pattern One thing I've implemented in PropInvest - a platform I am building for fractional real estate ownership, is the Transactional Outbox Pattern. Say you're building a wallet system for property investments. A user purchases shares in a property. You debit their wallet, credit the property pool, and commit the transaction. Then you publish an "investment_completed" event to Kafka (or any other message broker e.g RabbitMQ) so that the notification service can alert the user and update their portfolio. Simple enough, right? But what happens if your application crashes after the database commit but before publishing the event? The investment succeeded, money moved, but the notification was never sent. Other services that depend on that event - like portfolio tracking - may never know the investment happened. Now, if you publish the event before committing the transaction, you have the opposite problem. The event gets published, but the database transaction might fail. Other services are reacting to an investment that never actually went through. This is the dual-write problem. The Transactional Outbox Pattern solves this by saving the business data and the event in the same database transaction. If the transaction commits, both are saved. If it rolls back, neither is saved. A separate worker reads pending events from the outbox table, publishes them to the message broker - Kafka in this case, and marks them as processed. If the worker goes down, the event is still in the database and can be published when the worker comes back up. But there's a catch. The worker could publish an event successfully, crash before marking it as processed, and publish it again after restarting. That means duplicates are possible. This is where idempotency comes in. Give every event a unique ID, and let consumers track which events they've already processed. If an event arrives again, the consumer can safely skip the duplicate. The same principle applies to API requests. If a client retries an investment purchase because of a timeout, an idempotency key helps prevent the same shares from being purchased twice. One thing to keep in mind: the outbox prevents the database change and the intent to publish from getting out of sync. It doesn't guarantee exactly-once delivery or processing. You still have to handle retries and duplicates yourself. The outbox handles reliable event delivery. Idempotency handles repeated execution. Both matter when building systems where a missed event or a duplicate operation can cause real problems - especially when real money is involved.
1
2
3
195
Replying to @dev_buchi
How are you publishing from the outbox, a poller or reading the WAL?
1
4
I'm using a poller because it is simpler and less complex, i didn't want to over-engineer the whole thing
1
6
One of the FE engineers I really admire and respect once swore he would never work with people or use AI to code, but now he complains about the Claude code limit being a bottleneck even on his plan. Give it time; you will adjust too.
42
78
678
20,383
lmao since after university days, i never gather morale enter that line again. anytime i remember, na so so "someday" i go dey talk inside my mind 😂
That year for Ph, I go do Networking class. I no know where I gather confidence, I rush go write CCNA. I fail am. I ginger myself re-study BGP, EIGRP and those rubbish. Rush go retake am. As I fail am again, I rest. It's been 14 years. It's not for me please😂
1
156
I don’t know if I’m supposed to say this oh😭 Deep down every uni student wants to actually vote for TINUBU in 2027 I’m a beneficiary of Nelfund Student Loan & I must say, he actually cooked with that initiative
4,460
1,263
7,370
4,459,865
Mine is just 530k I’ll pay back when I start working🌚
115
7
189
294,686
lmfao 🤣🤣
113
As a freelancer how many countries have you worked for? For me: Nigeria, UK, US, Sweden and France
80
19
232
7,586
Nigeria and Canada
13
To answer this, here are 5 industries I believe builders should be paying attention to: Agriculture & Food Systems Supply Chain & Logistics Healthcare Financial Services Energy & Power Why these industries? Agriculture & Food Systems: Food is a necessity, but the systems connecting farmers, distributors, retailers and consumers still have plenty of inefficiencies. There are opportunities to improve productivity, reduce waste and make food distribution more efficient.
Must it be Fintech ? Explore other fields for God sake !
15
14
108
4,545
I'm going to start working on something for the second, for a downstream oil and gas, by God's grace when it pulls through
6
I knew this guy was a fraud, zero composure. As a retarded Nigerian, it’s muscle memory to bully someone based on their finance. Which one is “how much is your ticket ?” Oga geddifok!
“For my own event, I don’t have the right to tell you to shut up?”👀🙆‍♂️ — Drama between Eric and a guest at his convention in Benin
117
17
191
43,055
Didn’t He say something about how women should feel appreciated when they get raped… he’s a loony
7
1,297
i sincerely hope they lock you up....y'all never learn
1
295
I got 44 units of light yesterday. I’m hearing something ticking . Make e just be bomb o 😫😫😫
94
132
1,179
44,812
omo I'm so lucky cos I only spend 4k on units every month
1
364
A moving woman will meet her luck. We go again!
1
3
82
rooting for you Tolu!
1
1
11