Modern Organizations of the 21st Century

In his book the “The Alliance” , Reid Hoffman advises employers to stop thinking of employees as family and free agents, and instead think of them as partners, allies, on a time bounded journey, a tour of duty as he calls it. This insightful view of the relation between employer and employee successfully captures the dynamics of organizations in the age of the unicorn and camel, and no where are those dynamics more clear than the tech industry; a market where the demand for talent is extremely high and the supply of talent is quite the opposite, extremely limited.

The Art and Science of Software Estimation - Part 4: Estimating Software

This is a four part article; I’ve divided this article into smaller ~4 min posts to make easier to read and follow up: Part 1: Anthropology of Time Estimates Part 2: The Nature of Software Part 3: Yin & Yang Part 4: Estimating Software Previously in Part 3: Yin & Yang we’ve stared deadlines in the eyes, examined the relation between projects and the passage of time, and we put some scientific labels on various phenomena affecting deadlines and projects.

The Art and Science of Software Estimation - Part 3: Yin & Yang

This is a four part article; I’ve divided this article into smaller ~4 min posts to make easier to read and follow up: Part 1: Anthropology of Time Estimates Part 2: The Nature of Software Part 3: Yin & Yang Part 4: Estimating Software In Part 2: The Nature of Software we dove into the nature of software to identify the reasons behind the inherent difficulty in estimating software development.

The Art and Science of Software Estimation - Part 2: The Nature of Software

This is a four part article; I’ve divided this article into smaller ~4 min posts to make easier to read and follow up: Part 1: Anthropology of Time Estimates Part 2: The Nature of Software Part 3: Yin & Yang Part 4: Estimating Software In Part 1: Anthropology of Time Estimates we examined how we humans measure values, assess our own competence and experience time. In this post we have a look at why software estimation is hard and why most of our anthropological observations apply to software estimations.

The Art and Science of Software Estimation - Part 1: Anthropology of time estimates

This is a four part article; I’ve divided this article into smaller ~4 min posts to make easier to read and follow up: Part 1: Anthropology of Time Estimates Part 2: The Nature of Software Part 3: Yin & Yang Part 4: Estimating Software Estimating software development is one of the most underrated skills in the Software Engineering industry; we are often more focused on technical competency that we fail to train our estimation muscle causing us to tip the scale to the side of gut feeling and intuition over logical analysis and sound scientific method.

Alice Down the Value Stream

Disclaimer This blog is not neutral; its the reflection of a software engineer on years of software projects as a developer, project manager and sometimes sales person. Its my attempt to project Lewis Carroll’s Alice’s Adventures in Wonderland on my daily experiences dealing with different software projects. In doing so, I’ve borrowed lines, scenes and characters from the novel, and I do not claim any ownership or copyright to those.

Staying Productive in a Noisy World

The world is becoming more and more noisy, loud and less productive; that’s the cost of progress, and in the midst of all that noise, its becoming harder and harder to focus and be productive. I consider my self a creative person; I do my best work when I’m inspired, excited and focused, so it should be no surprise that I rarely have the chance to be productive with all the daily distractions around us.

On Engineering Learning

I’ve been blessed to be part of the learning journey of several software engineers; throughout my career I’ve been on both sides of the equation, a student to great engineers who taught me a lot, and a teacher to bright engineers who also taught me a lot. Given I’m a fulltime mentor at my current position, I get the same question by every engineer in our team, regardless of their seniority or experience, the one recurring question is always “What should I learn next?

You Are Not a Senior

Lets set things straight the software engineering landscape in Egypt has been suffering for the past few years; since 2014 we’ve been losing more and more talents to Europe for a number of reasons (that we won’t go over now), this so called brain drain has created a new phenomena, and please bare with me, a huge number of unqualified “seniors”. I usually don’t like to write about the local field; I often feel its futile to talk and prefer tangible actions, however, I’ve been provoked by the number of uninformed posts and job descriptions circulating social networks, so here goes 😰.

Aaaand We're back!

Hey there! it’s been 3 years since I last wrote anything here, it’s also been a year since I even had a site! I initially wanted to try and salvage my older posts which got deleted after I failed to pay my due server bills (procrastnation much 😇), but afte rgoing back in time (check the gif above ☝️), specifically to September 24th, 2015, I decided not to import anything and to just start fresh.