Creating something from nothing is an idea familiar to developers. Genesis starts by detailing the first time this ever happened. It all started when God spoke. We don’t know what he said, but it probably translates as “File, New Project.”

Day Zero (Initial commit)

All this happened before day one, so it must have occurred on day zero. As a developer, the concept of starting counting from zero is probably familiar to you, so, hopefully this isn’t a stretch.

+Namespace Creation
+{
+  Class TheHeavens
+  {
+    Class TheEarth
+    {
+      Waters [Shallow..Deep]
+    }
+  }
+}

It might seem that not a lot happens at first, but it sets the outline for what’s to come. It’s essential to get a solid structure in place when starting a new project. Don’t just go creating things without a plan. Take time to plan, and it will make things more manageable and avoid rework.

Day One


+Class Light
+{
+  Brightness [Low|High]
+}

+Interface IDay
+{
+  Event Evening
+  Event Morning
+}

+Class Day : IDay
+{
+  Event Evening
+  Event Morning
+}

+Class Night
+{
+}

Some people struggle to comprehend days (with a morning and evening) before the creation of the sun and moon. However, in software development, we do things like this all the time with interfaces (or contracts.) The implementation might not exist yet or may change in the future, as long as the interface doesn’t change.

Day RaiseEvent Evening
Day RaiseEvent Morning

Day Two

Class TheEarth
{
+  Class Sky
}

Another day where it may seem like very little has happened. But, while the addition is small in number, it’s big in importance, and so it was worth taking the time to get it right. The reality of creating an atmosphere from a water-covered planet is no small task and not something to rush.

Day RaiseEvent Evening
Day RaiseEvent Morning

Day Three

Today starts with the abstract notion of “waters” getting divided into a defined collection of “Seas”.

+Class Waters
+{
+  Property Depth
+}

Class TheEarth
{
-  Waters [Shallow..Deep]
+  Collection<Water> Seas
}
@GOD

GOD commented

Good.

Building on the work from previous days, it’s now time to start adding complexity.

Class TheEarth
{
+  Class Land
+  {
+    Interface IBearsSeeds

+    Class Plant : IBearsSeeds

+    Class Fruit : IBearsSeeds

+    Class Trees
+    {
+      Collection<Fruit>
+    }

+    Method ProduceVegetation()
+    {
+      For i = 0 :: Loads
+        Yield return Plant
+        Yield return Tree
+      EndFor
+    }
+  }
}
@GOD

GOD commented

It's Good.

Land Invoke ProduceVegetation()
Day RaiseEvent Evening
Day RaiseEvent Morning

Day Four

Light was created a couple of days previously, but now it’s used.

Class Light
{
+  Optional Role
+  Size
}

Class Sky
{
+  Light GreaterLight { Role = GovernDay, Brightness = High }
+  Light LesserLight { Role = GovernNight, Brightness = Low }
+  Collection<Light> Stars { {Size = Tiny}, CollectionSize = Countless }
}
@GOD

GOD commented

Good.

Day RaiseEvent Evening
Day RaiseEvent Morning

Day Five


+Class LivingCreature
+{
+  Method BeFruitFul()
+  Method Multiply()
+}

+Class SeaCreature : LivingCreature
+{
+  Method Swim()
+}

+Class Bird : LivingCreature
+{
+  Method Fly()
+}

Class Water
{
+  Collection<SeaCreature> Fish * various kinds
}

Class Sky
{
+  Collection<Bird> Birds * various kinds
}
@GOD

GOD commented

Good. Be blessed.

Day RaiseEvent Evening
Day RaiseEvent Morning

Day Six

Launch day! Now creation gets into the hands of real people.

+Class LiveStock : LivingCreature
+Class GroundMovingCreature : LivingCreature
+Class WildAnimal : LivingCreature

There are probably other properties for LivingCreature and the classes that inherit from it. Additionally, some creatures can fly but aren’t birds; some sea creatures aren’t fish; non-sea creatures can swim. The critical detail here is the big picture and not the specific minutiae. It’s not that details don’t matter, they do, but sometimes the big picture matters more. The ability to consider both the details and maintain a broader view helps with both technical challenges and life in general.

@GOD

GOD commented

Good.

+Class HumanBeing : LivingCreature
+{
+  Property Likeness = OurImage
+  Method RuleOver(LivingCreature)
+  Sex [Male|Female]
+  Method Eat(IBearsSeeds)
+}
HumanBeing Invoke RuleOver(Fish)
HumanBeing Invoke RuleOver(Birds)
HumanBeing Invoke RuleOver(Livestock)
HumanBeing Invoke RuleOver(GroundMovingCreatures)
HumanBeing Invoke RuleOver(WildAnimals)

HumanBeing Invoke BeFruitful()
HumanBeing Invoke Multiply()
@GOD

GOD commented

Very Good.

Day RaiseEvent Evening
Day RaiseEvent Morning

Day Seven

no commits

Day[7] Invoke Be(Blessed)
Day[7] Invoke Be(Holy)

A day of rest. Not a day to do nothing, but a day to enjoy and, to a point, engage with creation. Rest is good, necessary, and may even present a time to think about the work. When God finished creation, he didn’t stop engaging with it.


The story of creation isn’t about the details. It’s about the big picture:

  • There was a creator.
  • The creator did things in a deliberate, thought out way.
  • There was a plan. It’s not all chance.