Being ahead in life compared to everyone else is definitely a bragging right. But it comes with consequences, both positive and negative — I'll dive deeper into the details later on separate thread.

During the beginning of my career, I began asking myself, "Damn, how did this scientist build things" and it led to many exciting adventures.

I started BenchPoint.io back when I was 13 as a community project, came from one simple problem which is to benchmark and monitor my Minecraft server network speed remotely.

The only way to test the internet speed for the server is to use Ookla Speedtest command-line interface (CLI) and SSH into the server everytime I want to run the tests. This is very tedious, as the network interrupts on an intermittent basis (imagine having to pause whatever you're doing and jump into the server just to check the network status).

BenchPoint was my stepping foot into software development. I began getting clients and worked on various projects (thanks to exposure from the media).

But it didn't stop there...

Making IT a professional career

Software engineering is not just about coding. It's about solving real-world problems with software.

And the truth is, many so-called ideas are just CRUD (Create-Read-Update-Delete) operations. But they may venture into several different use cases which makes them not out of business.

I didn't have much time to explore no-code solutions, but I've seen great ideas built with it — even my dad, who hasn't coded in years, built his first mobile app with Flutterflow and it turned out really well.

And now, say I'm an employer, why do I need to hire so many "over-paid" software engineers (lol)?

What makes software different from other industries, is that our work is accessible from almost anywhere. Big softwares are being used by hundreds, thousands or maybe millions of users. If it's not being developed properly, a small spike in traffic could lose you significant revenue (imagine your banking app is offline and you're in the middle of a restaurant).

Maybank was offline when I tried making payment after dining in for Iftar

Does Maybank need to attend every customers which tried to make payment to resolve the incident? Most likely, not. Their infrastructure is decoupled from the customers appliances. This what makes software special - with the rise of digital banking, registering for a bank account can be done online. Look at the potential lost of opportunities (re bank tellers, bank officers etc).

Becoming Senior Engineer

I’m lucky enough to be surrounded with great colleagues and managers at Wahed. In early 2023, I was promoted to Senior Software Engineer (Backend). This means, my responsibilities includes fostering growth for junior engineers.

My boss once told me, there’s many facet of leadership. And it’s important to focus one at a time. That’s very true. Technical roles can be more rewarding.

Being a senior in the team, you’re often the one colleagues look to for help. It isn’t necessarily bad, it’s even better as this indicates that you’ve sufficient knowledge to navigate around the company.

But sometimes, it may interrupt your own work. It’s important to find a fair balance, especially when you’ve to deal with timezone differences. Nothing to worry about; it takes experience to figure out the perfect balance.

I’ve been asked if my age affects how I’m being treated compared to others, honestly I never felt that way. Everyone has been very kind. At the end, what matter the most is the value you can bring to the table.

Upskiling

Being senior engineer doesn’t mean the end of the world. In fact, you’ve to keep up with the trend - this is where a senior and junior engineers are different.

Senior Engineers are expected to keep up to date with the technologies they’re using and confident of using for future projects too. This includes, understanding its end-to-end lifecycle and could think ahead if something’s wrong with the stack.

On the other hand, junior engineers tend to be a jack of all trades and tries to master every single technology that’ve ever existed on planet earth. I know this might be controversial, but I was once the guy which will master every single language and framework available xxx.

When interviewing engineers for the team, my favourite question for senior engineers is not “What stack are you really good at”, but instead, “Tell me how a Message Queue works and how would you design one”.

This short question could lead to multiple other questions depending on how well versed does the candidate know how to utilise their stack of choice.

It’s completely fine if they use an existing implementation (eg Apache Kafka) - my mentors told me that asking a question which requires domain knowledge in interviews aren’t usually ideal, as those meetings are often short and will stress the candidate.

Asking implementation details will give you a different perspective and gauge the candidate capabilities of selling you a technology and understanding the tradeoffs.

If someone were to challenge how much I know about the implementation details of a specific technology, I wouldn’t know everything. But I try my best to use a combination of my experience and general knowledge in proposing a similar (if not close) implementation.

At the end of the day, I would like to work with people who knows how to make compromises, and have the sense of accountability when things go wrong way before it actually happens.

Conclusion

Thank you for taking your time to read to the end of this page. I would like to apologise if my writings aren’t as good as other people, as writing is not my cup of tea :P. Stay tuned for more updates.

Cheers!

The very beginning to everything...