Mohammad Shaker's Blog, page 3

March 6, 2025

No SDETs and No QA Engineers.

One of the best thing that I’ve ever did in all startups I worked on/founded is never to allow for any Quality Assurance (QA) or SDET (Software Development Engineer in Test) team to exist.

Hard rule, but a good one every time.

Two side notes to avoid the hurricane of pushback:

I’m not saying that SDETs are bad. Some of the ones I met were great. I’m saying the use of SDETs when not needed, which is mostly true for most of of startups/companies, is bad. A completely different argument.The need for having leaner team is becoming more and more obvious with:The use of the right engineering practices (DevOps, TDD, Automated CICD pipelines, etc.)All the AI tools that can help in producing more quality code (but not necessarily the best quality code – whatever best means for a company.)

That’s out of the way, let’s dig.

Something is broken on production. Who’s responsible?

If a bug is there on production, and you have developers and you have QA testers. Who’s responsible?

You can argue in too many ways. But if we have only developers, it will be the developers. If we have developers and testers, it will be both.

Hiring SDETs is a sign that we don’t trust our engineers.

Simple. If we trust engineers enough, why would we hire SDETs?

It’s the engineer responsibility after all for writing/generating the code. It’s not the QA engineer nor the SDET.

This is true for most startups and most companies. I do understand that sometimes, even for regulatory purposes or complex release flows, automated and manual tests should be conducted by someone – SDETs and QA mostly. But again, this is not true for the majority of startups/companies.

The 2nd order effect

The problem of having SDETs and QAer is that it creates a chain reaction on the whole SDLC (Software Development Lifecycle) and the whole team dynamic with design, sales and product. The following is exactly what was happening in a startup I joined.

It’s-not-my-problem Problem

As an engineer, if a bug is there on prod: “it’s not my problem. The SDET too didn’t think of this.” Simply, as an engineer, I don’t care about the code I put out. There’s always someone else to check after me. So, why should I? (Why should I care?)

I don’t own my destiny, nor I care

As an engineer, I no longer need to think about the feature end to end, not in product terms, not in the design phase nor in the delivery phase. There’s always someone else that will check my work later. Why waste my precious time on this.

Why do I care when this is live?

As an engineer, I simply don’t care. Anything I worked on will be released BY SOMEONE ELSE, by the SDET or DevOps or one someone else decides. I don’t think I need to be involved. We are a product company you say? True, but I’m a developer, not a product person, sorry. Ask the SDET when it’s ready to be pushed.

What about the recurrent problems with rollouts?

As an engineer, it’s true that we keep having problems with deployments and how we rollout features because I still need to be involved in that every time we need to release to a different environment and the SDETs know nothing about this. It’s OK. It’s a hassle. I see myself firefighting from time to time and I don’t feel in control over the whole feature cycle. But that’s OK since I don’t need to think much about everything I do.

Best Practices? Bye bye.

As an engineer, do I need to waste my time testing things? Yeah yeah TDD is a nice acronym, but it actually lengthen the implementation time and we are not that mature nor we have the time. We don’t have proper tests anyway so why start now? We have SDETs for [manual] tests! And manual tests are even better!

I don’t want to feed the dog nor flag the feature

As an engineer, I believe dogfooding is good. But that’s for product people to try things out. We are not mature enough to do it. Feature flags are expensive, complicated and hard to implement [Mohammad is here again: that’s, btw, the most absurd argument I’ve heard by any engineering team. Part ways (fire) that person on the spot. He’s a BSer.]

A simple change, for a big process change.

We parted away with all SDETs in the span of 2 months.

Removing SDETs actually improved the whole cycle. The ownership of features, start to finish is now engineer’s job. He/she must talk to sales, design and product to know why, how and when we’ll release. The engineer is no longer bounded by his/her title of being a damn engineer. He’s now set free to know what his/her team and his/her company is building end to end.

All of a sudden TDD is extremely important to guard engineers from themselves. They understand now the future risks of releasing something not automatically tested. They understand that they should version API because there’s backward compatibility with an old system. Feature flags seems like a no brainer to prioritize and implement now to help them with E2E testing on any environment they want. They can even now try things on prod by themselves. They can demo things, on prod, with a product manager before releasing the A/B test. They are in control now. Dogfooding and gradual releases seems a good idea now to make sure they’ve implemented the right flow for the users.

Salam, peace.

 •  0 comments  •  flag
Share on Twitter
Published on March 06, 2025 01:39

February 26, 2025

Weekly: My Father. And Hot water.

Something I keep doing

In the last 3 months I’ve been doing:

Sleeping 8+ hours have a tremendous effect on my mood. Recently I’m making this non negotiable.Long walks for thinking, especially in the summer. Now it’s winter and I’m trying to grab sunny days for long walks or traveling between places.Gym 5-6 times a week. 4 sessions weight training, w sessions as zone 2/VO2 max.Reading 1h+ a day (while walking, while in the gym and before bed.)

Best of what I watched

Abeer Nehmeh Opera-style voice with this poem is magical.

Best of what I listened to

What I’m reading?

I’m reading a mix of 2-3 books of the following in a day. The ratings below are mine and are WIP. Ways of Seeing, Berger is the book that is different from all others. A definite read.

Understanding understanding, Richard Saul Wurman. Physical copy. Rating: 6/10.Ways of Seeing, Berger. Physical copy. Rating: 8/10.DK History: Illustrated. Physical copy. Rating: 6/10.DK Simply Explained: History. Digital copy. Rating: 6/10.DK Simply Explained: Economics. Digital copy. Rating: 6/10.Superconnect, Koch. Rating: 6/10.

Something I’m learning

Given the list of books I’m reading, I’m learning a lot on Economics, Finance, Philosophy and design.

Something new to try

On Sat and Sun I’m doing gym first thing in the morning before enjoying my day. This removes the guilt when having all the cheat food in these two days. Fit with my mental model of sweating for it before I earn my food.

Something I’m remembering from the past

My father anniversary is coming up next week.

I remember, my father and I, in the bath. And how he is teaching me how to clean myself. I was around 6 maybe. I remember the very hot water he would pour on top of my head with a yellow copper bowl (tasse in French, طاسة in Arabic.) Close, but never as fancy as this:

80/20 of my time for the week I went on..

Simply, 80% of my time went to:

ReadingWriting. A lot (documentation, not the enjoyable type of writing.)

Another way of looking at it is that 80% of the outcome was based on:

Thinking session which took 4 hours.Working on items out of that session, which took another 6 hours.

So this is again 80% of outcome from around 20% of the effort (the time available in a week.)

Ramadan in coming soon, so Ramadan Mubarak.

RIP, my father.

 •  0 comments  •  flag
Share on Twitter
Published on February 26, 2025 02:08

My Father. And Hot water.

Something I keep doing

In the last 3 months I’ve been doing:

Sleeping 8+ hours have a tremendous effect on my mood. Recently I’m making this non negotiable.Long walks for thinking, especially in the summer. Now it’s winter and I’m trying to grab sunny days for long walks or traveling between places.Gym 5-6 times a week. 4 sessions weight training, w sessions as zone 2/VO2 max.Reading 1h+ a day (while walking, while in the gym and before bed.)

Best of what I watched

Abeer Nehmeh Opera-style voice with this poem is magical.

Best of what I listened to

What I’m reading?

I’m reading a mix of 2-3 books of the following in a day. The ratings below are mine and are WIP. Ways of Seeing, Berger is the book that is different from all others. A definite read.

Understanding understanding, Richard Saul Wurman. Physical copy. Rating: 6/10.Ways of Seeing, Berger. Physical copy. Rating: 8/10.DK History: Illustrated. Physical copy. Rating: 6/10.DK Simply Explained: History. Digital copy. Rating: 6/10.DK Simply Explained: Economics. Digital copy. Rating: 6/10.Superconnect, Koch. Rating: 6/10.

Something I’m learning

Given the list of books I’m reading, I’m learning a lot on Economics, Finance, Philosophy and design.

Something new to try

On Sat and Sun I’m doing gym first thing in the morning before enjoying my day. This removes the guilt when having all the cheat food in these two days. Fit with my mental model of sweating for it before I earn my food.

Something I’m remembering from the past

My father anniversary is coming up next week.

I remember, my father and I, in the bath. And how he is teaching me how to clean myself. I was around 6 maybe. I remember the very hot water he would pour on top of my head with a yellow copper bowl (tasse in French, طاسة in Arabic.) Close, but never as fancy as this:

80/20 of my time for the week I went on..

Simply, 80% of my time went to:

ReadingWriting. A lot (documentation, not the enjoyable type of writing.)

Another way of looking at it is that 80% of the outcome was based on:

Thinking session which took 4 hours.Working on items out of that session, which took another 6 hours.

So this is again 80% of outcome from around 20% of the effort (the time available in a week.)

Ramadan in coming soon, so Ramadan Mubarak.

RIP, my father.

 •  0 comments  •  flag
Share on Twitter
Published on February 26, 2025 02:08

Dad. And Hot water.

Here we go again.

Something I keep doing

In the last 3 months I’ve been doing:

Sleeping 8+ hours have a tremendous effect on my mood. Recently I’m making this non negotiable.Long walks for thinking, especially in the summer. Now it’s winter and I’m trying to grab sunny days for long walks or traveling between places.Gym 5-6 times a week. 4 sessions weight training, w sessions as zone 2/VO2 max.Reading 1h+ a day (while walking, while in the gym and before bed.)

Best of what I watched

Abeer Nehmeh Opera-style voice with this poem is magical.

Best of what I listened to

What I’m reading?

I’m reading a mix of 2-3 books of the following in a day. The ratings below are mine and are WIP. Ways of Seeing, Berger is the book that is different from all others. A definite read.

Understanding understanding, Richard Saul Wurman. Physical copy. Rating: 6/10.Ways of Seeing, Berger. Physical copy. Rating: 8/10.DK History: Illustrated. Physical copy. Rating: 6/10.DK Simply Explained: History. Digital copy. Rating: 6/10.DK Simply Explained: Economics. Digital copy. Rating: 6/10.Superconnect, Koch. Rating: 6/10.

Something I’m learning

Given the list of books I’m reading, I’m learning a lot on Economics, Finance, Philosophy and design.

Something new to try

On Sat and Sun I’m doing gym first thing in the morning before enjoying my day. This removes the guilt when having all the cheat food in these two days. Fit with my mental model of sweating for it before I earn my food.

Something I’m remembering from the past

My dad and I in the bath and how he is teaching me how to clean myself. I was around 6 maybe. I remember the very hot water he would pour on top of my head with a yellow copper bowl (tasse in French, طاسة in Arabic.) Close, but never as fancy as this:

80/20 of my time for the week I went on..

Simply, 80% of my time went to:

ReadingGymMeetings

Another way of looking at it is that 80% of the outcome was based on:

Thinking session which took 4 hours.Working on items out of that session, which took another 6 hours.

So this is again 80% of outcome from around 20% of the effort (the time available in a week.)

 •  0 comments  •  flag
Share on Twitter
Published on February 26, 2025 02:08

February 18, 2025

Sweat for it, I must.

My best buy of this week was a Venchi icecream I had near Piccadilly in London. This was after I did my work for the day, went to the gym, and walked for 45 min. It’s worth it. (Side note: if you are in London, Darlish is the place to go if you like Pistachio icecream. Am a fanatic when it comes to anything [Aleppo] pistachio, mediterranean olive oil, mountain honey, figs and middle eastern berries.)

I long have this problem: I can’t have, nor enjoy pleasures (even food) before I do the work.

This started back in university years where I would stay up to 2AM each day, after a full day fast, without eating. I would only eat around 2:15 AM after I finish everything I wanted for that day. I would only enjoy the pleasure of my 1 meal a day at 2:15 AM. (I was also teaching summer courses for junior university students and that what made summers days ever longer trying to prep for courses I teach.)

I don’t think it’s a problem though. I think it’s healthy to say that you have to sweat for it, in order to earn your food (in Arabic Aiesh, عيش, which means “earn the living.”) That’s literarily what our ancestors have done when they chase animals and sweat for their food.

Sweat for it, I must.

Salam, peace.

 •  0 comments  •  flag
Share on Twitter
Published on February 18, 2025 23:00

February 13, 2025

23 Things I Learned in 2024.

Reflection is one of the best tools that taught me to stay still, think and write.

Here are Some Things I Learned in 2024:

1. Be involved in doing hard stuff, grand stuff, for an extended period of time. Do a hard thing every day. Do the hard things first thing in the morning. I feel good every day I do that.

2. Be known for doing hard things. Write about them and chase invalidation (Popper’s fallibilism).

3. Focus on one thing at a time, then go full throttle on that one thing. Do this daily for at least 4 hours.

4. I should always mark my own path. Don’t rely on anyone. Be self-sufficient all the time.

5. Am I less or more libre? I should always be more free with time, a libre. I should always own my own destiny.

6. Apprenticeship: Always put myself in places where I can learn from a group of people way better than myself. Be where the Pros are.

7. Be stubborn as much as I like, but self-critique and self-reflect. I should always look for truth (with Popperian fallibilism and Talebian P (Probability) vs. E (Payoff) understanding. More on this in another post).

8. Be strongly founded, with strong views backed by strong diligent work that are weakly held. I can be proven wrong. Most people have weakly founded, wrong views that are strongly held. Debunk anyone doing this. Demand that from others, especially in business.

9. Observe myself from a third-person POV, reflect, and say sorry when I should. “Don’t fool yourself, and you’re the easiest man to fool.”

10. I’m the master of my mind. Do what I think is right. I planned to run a marathon in 2024 when I was running 0 KM in January with a problematic knee. I knew I couldn’t and shouldn’t do it. Doctors told me not to run. I ran 17 km in November. I could never have imagined doing this in January with the knee I had.

11. Don’t waste my time on tatters and the small stuff. Avoid the negatives, and the positives grow by themselves (via-negativa). If I ditch social media and my phone, I naturally read more, have deeper and longer conversations with people, and enjoy dinner with family, etc.

12. Produce > Consume. Keep this in mind all the time. Excessive reading without reflection and action causes atrophy in the brain. Think, retrospect, future-gaze, dream big, and then act. Don’t do one side without the other.

13. Don’t try to milk every inch of everything. Some things should and must NOT be efficient (e.g., time with family, holidays, etc.).

14. Mind the incentives of people. Doctors give us medicine even if we are well without it. That’s what they are paid to do.

15. Minimize risk for downsides: Knowing what I should avoid is as important as knowing what I should chase (NNT).

16. Maximize risk for unbounded upsides: Know that good things happen when I keep my mind open and free. “You’ve got to be very careful if you don’t know where you’re going because you might not get there.” — Yogi Berra.

17. Follow the Lindy: Things that have proven their fitness. In books, these are the classics (e.g., works of Aquinas, Marx, Russell, Popper, Galileo, Darwin, Imam Ali, Montaigne, etc.).

18. Go wide with specific deeps (T or V Shape). Read from multiple disciplines but go deep in some. Be encyclopedic. Learn and read from adjacent domains at the same time. And read multiple of them together. Reading Russell, Popper, Hayek, Taleb (for a 5th time), and Wittgenstein at the same time actually changed my mind.

19. Days for time off (really off—without a phone or notifications, just a pen and paper) every 2-3 months actually change my perspective.

20. I can actually read while I walk. (I don’t enjoy Audible that much since I can’t highlight. I replaced that with the Spoken Content feature on iPhone to read any iBook for me.)

21. Motion creates emotions. That’s absolutely true. I feel amazing after every run (-1 run in 2024). If I’m blocked or down, I move, and I’ll feel good. Creativity spurs in motion. My best technical or product solutions came after a 20+ min walk.

22. Spending time with loved family and close friends is a bliss.

23. Globalism as a way of thinking is for the average. Most people are being molded into a global way of thinking. This is a rut I should always fight.

Salam, peace.

 •  0 comments  •  flag
Share on Twitter
Published on February 13, 2025 07:44

February 5, 2025

I’m a Libre. I Hate Dependencies.

All misery comes from not being a libre; from dependencies. Both, in private life and in business.

The word “Free” comes for the French: “Libre”, which in turn is a Latin term.

Libre has a different meaning and a different connotation to the translated Free. For example, libre software is free to use and free of restrictions, but not for free. Libre represents the idea of liberty, not the idea of price. It’s sad that we conflate them.

Libre it is. And no dependency, a libre, is what we want.

A Misery

If I am dependent on an income, other people, specific technology, specific provider, or specific company, I would never, ever be truly free. I will never be libre.

The only way to be deeply free, owning one’s destiny, is to break all dependencies.

Applied it is:

On a personal level, you may be able to have 0 dependancies. But you’ll never be happy. You can’t have optionality. Choice of partners as a continuous endeavor? Do you want my wife to see this?In a business context, you should strive to have 0 dependancies (employees, tech, customers) You need optionality.On a country level, you must have 0 dependancies. You’re as strong as a country as your optionality.

A Liberty

If we are saying that being libre means having no dependancies, then we are saying that optionality means being libre. Optionality plays a key role in breaking all dependencies, and therefore, being libre. I should be free to choose (ala Milton Friedman.)

What to do about this if I’m …?I’m an Individual Contributor, IC? Keeping my skillset as wide as possible, with depth in some topics I have real interest (a T-Shape employee) in can help me survive regardless of the market conditions.I’m a manager? Make sure that the team is not reliant on any 1 single person. No dependency on a specific tech, archaic unsupported tech, ultra-rare skillset, etc. Hire fullstackers, no DevOps, FE or BE unless you have a bigger team and you can afford it. Strive for redundancy in skillset and in people whenever you can afford it. You need optionality. Same idea as fault-tolerance, risk-mitigation, resiliency (recover from disruptions while maintaining functionality), redundancy (e.g. RAID storage systems), graceful degradation (e.g. cashing and old-vs-new data retrieval), modular (in components, and in RESTful API design.) Injecting some confusion stabilizes the system: try and mix different people together to make sure things are stable if people switch teams, if people leave, if you pivot, etc.I’m a company/startup? Hire people for agility (fill in different roles), revenue shouldn’t be 80/20 (no single 1 customer can ruin the company if they decide to breakup), variety in product offerings (optionality), no dependency on a single VP/director. Mind the tail.

Salam, peace.

Recommended Followups

Following are resources I learned a lot from on being a libre:

Fooled by Randomness, Nassim Nicholas TalebThe Black Swan, Nassim Nicholas TalebThe Open Society and its Enemies, PopperThe Law, BastiatOn Liberty, J. S. MillsSafe Haven, SpitznagelA Human Action, Von MisesAny book from F. A. Hayek
1 like ·   •  0 comments  •  flag
Share on Twitter
Published on February 05, 2025 01:33

January 21, 2025

For the Love of Old Books

Old book are normally called the timeless – what marketers call nowadays: the evergreen.

Like in Natural Selection, old books are books that proved their fitness. They proved their ability to survive.

For me, and in no particular order, nor exhaustive, these books are:

It would be the The Mythical Man-Month or Cormen’s Algorithms or anything from Paul Strassmann.It would be Bruno Munari’s books.It would be the 60 pages book of Vignelli’s Cannon or his *Design is One. (*Vignelli taught me how to look at any space, whether its a paper, an app or a building and know how to play with it.)It would be any book from **Edward Tufte (I can’t thank Tufte enough to release me from all the dogma of vulgar designs, anywhere.)The great Edward TufteIt would be The Minard System or Brockmann’s Grid Systems.It would be Cicero or Cato on politics, humanity, and virtues.It would be anything from Bastiat, Hayek, Von Mises and Hazlitt in economics.It would be Russel and Wittgenstein in thinking, philosophy and history.It would be Howard Zinn’s books, Marx and Adam Smith.It would be Karl Popper for falsification and questioning myself in every belief.It would be anything from Imam Ali or Nassim Nicholas Taleb. They both taught me on being righteous, to always look for truth, to think for myself, to be unwavering on what I stand for.It would be ..

I should read a timeless everyday.

Salam, peace.

 •  0 comments  •  flag
Share on Twitter
Published on January 21, 2025 03:55

September 26, 2024

Week 44: I Lose, Reality Wins.

The meaning of success in school and university is the antithesis of reality. If we compare what success means in school or university VS real life at work, it’s completely wrong.

In school and universities:

Effort == Success

This doesn’t translate well at all to business (especially startups) where:

Effort != Success.

Effort doesn’t correlate one-to-one to success. You may work for a year. And no one buys your product or you are net negative or anything but success. Viola, Effort = 100%. Success = 0.

Real life punches you in the face. Customers punch you in the face. Reality wins, you lose. Reality won, I lost – 2 times before.

Metrics don’t move because we spent 30 days and 30K of employees salaries on an experiment. Metrics move because we provided a service people want. Until we find that formula, reality will always win.

 •  0 comments  •  flag
Share on Twitter
Published on September 26, 2024 13:42

August 14, 2024

Week 43: You can’t be surprised twice.

Hanging Gardens of Babylon

This is part 4 of answering a list of question. Part 1 is here. Part 2 is here. Part 3 is here.

You can find the full list of questions here.

why did the japanese keep debating whether to surrender even after two nuclear bombings?Because it matters.whose advice has been so correct in the past that you now just go and act on it?My grandfather. Never work for anyone.Nassim Taleb. Employment salary is the new age slavery.why not ask them for a piece of advice?I should. And I always do.is the failure condition clear?There’s this notion of always define your failure condition before getting into something. Like defining when you’ll close a business before starting a business and by when.when was the last time you talked to someone you really admire?Last week. My sister, Noora and my other sister, Nuha. My 3rd sister is someone I admire but we didn’t talk last week.what are you going to regret in a year?I’ve just made a decision today so that I won’t regret it in a year.A better questions: What are you NOT doing today, that you’ll regret in a year?have you spent 1 minute today on your biggest goal?Yes.have you spent 1 hour today on your biggest goal?Yes.have you spent 10 hours today on your biggest goal?No.how to prepare for the times of change?Antifragile.Stoicism and Seneca.what’s the most common advice you give to people?Learn by mistakes. Learn anything by having a skin in the game. If you want to start a startup, do it with your money, develop it yourself first, etc.do you follow it yourself?Yes I did. I bootstrapped two startups myself.does the world need to be saved?If we don’t fight for our freedom, no one would give it. The world need to be saved from the greedy of us. Again. What matters, matters.what can you do in the next 60 seconds that will make you feel proud of yourself?Air squat for 30 times.what are you wrong about?Many things – as I should be. Unless I try things out, I won’t be wrong about anything. It’s wrong not be wrong.who’s consistently ahead of you?My sister, Noora.why don’t you catch up?Each of us have his own path in life that he should walk. She’s ahead in her path. I hope am on track on mine.how to overcome the second law of thermodynamics?NAwho should you report to?Who said I want to report to anyone. I’m a cofounder of SpatialX with my sister, Noor. And that makes me extremely happy – doing what I’m good at, for the good of the people, with good people.how did zuck make a comeback?From the back.what do you wish you could do but you’re absolutely confident you can’t?The question is stating something as a fact which I don’t agree with. That’s a self-destructing belief that I won’t ever have myself. There’s always hope. And Hope (Amal in Arabic) is my mother name.how do you know?I’ve seen it happening before. I’ve seen it in real life. In practice, not in theory. Read Popper.when was the last time you closed your eyes for a minute and asked yourself if you’re doing the right thing?Every week in the last 12 months.what can you do all day long and feel great going to bed?Exercise.Read.Building something.do you like yourself when you look in the mirror?I’m good. Alhamdullilah.does anyone believe they’re evil?Everyone does.what do other people tell you about you that you are always surprised to hear?I can’t be surprised about one thing more than once, right? That’s an illogical question.

That’s it. Questions are answered.

Salam, peace.

 •  0 comments  •  flag
Share on Twitter
Published on August 14, 2024 23:14