A statistical approach to explaining bad deadlines in engineering projects

Image for post
Image for post

Whether you are a junior, senior, project manager, or a top-level manager with 20 years of experience, software project time estimation never becomes easy. No one no matter how experienced or genius they are can claim to know for sure the exact time a software project would take.

This problem is especially prevalent in software engineering, but other engineering disciplines are also known to suffer from the same downfall. So while this article focuses on software engineering, it also applies to other disciplines, to an extent.


Let’s first have a birds-eye view of the problem, the consequences, and the potential root causes. I will be covering most of these during this series. …

How to write a production-grade project as a one-man team (or a small team)

Developing a software project solo is no easy task. With no one to unstuck you, review your code, or provide guidance, you are completely on your own, venturing into the unknown.

Mostly, inexperienced developers will either:

  1. Take this as an opportunity to disregard code quality standards and pay no attention whatsoever to code convention.
  2. Do the complete opposite and over-engineer everything way beyond what is needed.

However, as I will try to demonstrate in this article, both approaches are equally damaging. …

A Lambda + CloudFront + S3 architecture for SPA blogs, classified listings, job boards, and more!

Image for post
Image for post

Single-page applications (SPAs) are becoming more and more popular every day. There are so many pros that make them look almost superior to traditional websites in every way and very few cons on the other side of the scale.

To name a few:

  • Seamless navigation: The user never has to see a blank page after the website loads for the first time.
  • Client-side caching: No need to call the server for each page visit.
  • Offline accessibility: You have much more control over what happens when the user gets disconnected.
  • Reusable API: Your website, mobile application, and client APIs can all be the same thing! …

Automate your React/Vue/Angular personal page using GitHub Actions

Image for post
Image for post

Automation saves your time, the most valuable non-renewable resource you have. Almost every developer has a personal page that they regularly update. So why not start the automation there?

In this article, I will take you through the detailed steps to automate your personal page. From building to releasing and deploying, all by just committing a change from the convenience of your favorite IDE.

Let’s get to business!

Step 1: Put your codebase on GitHub

If this is your main page on GitHub (i.e. your {User}/{User}.github.io repository), you cannot put your code on master.

Image for post
Image for post
GitHub has a restriction that your user page must be served from the master branch

So in this case, you have to push your code to a different branch (e.g. codebase). Here’s a quick snippet for moving to a different…


Hesham Meneisi

I write to introspect, analyze problems, and find potential solutions. My approach to problem-solving has a highly analytical, no-nonsense style.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store