It was an amazing experience to see Apollo 11 through the eyes of my father who worked on the mission this past weekend, so I thought I'd share some takeaways with the rest of the dev community.
For some it may not seem obvious how such a momentous event that happened 50 years ago relates to our work as web engineers. It was a very different time, when engineers in America didn't work in agile teams. There wasn't the internet. There weren't even computers as we know them. There are however many things that can be learned from the success of Apollo 11.
If the project you're working on doesn't have clear objectives, it could be doomed for failure. There needs to be a mission that everyone rallies behind. Setting clear goals means everyone is on the same page. Having a project roadmap is extremely helpful as well when architecting portions of an application. You can anticipate challenges coming down the pipe and avoid technical debt. Establishing a mission people can believe in and execute in a timely fashion is critical.
Even in the contracted companies that surrounded NASA where my father worked there was a sense that you were part of the mission, you were part of the "overall team". It is important for most people to feel like they are part of something, to make a meaningful contribution to the project. Managers need to empower single contributors to make decisions. Single contributors should add as much value as possible to the team. Huge egos can get in the way in most circumstances. Teamwork is crucial to success.
Many engineers who worked on Apollo 11 felt they were performing "a hard task in the national interest that was very visible". In my experience even the most banal tasks can become extremely rewarding when the project has millions of users. Engineering is mostly about problem solving and for some people it can be just a rewarding to work on a hard task. When both are combined it can be a winning combination. Moving the needle is extremely difficult, but extremely rewarding. Don't settle for the mundane and always set out to challenge yourself as an engineer.
Looking back, landing on the moon wasn’t just our job, it was a historic opportunity to prove to the world America’s can-do spirit. I’m proud to serve the country that gave me this historic opportunity. Today belongs to you. We must hold the memory of #Apollo11 close. #Apollo50th— Buzz Aldrin (@TheRealBuzz) July 20, 2019
There are many in the older generations who lament the loss of a "can do it" attitude in America. I emphasize after working with so many engineers who can't start a single task without a mock up, who stall working on the frontend when the backend isn't ready, or blame process for hindering their progress. In order for a web development to be successful, you need members of the team who will just do it. No excuses. If this means bootstrapping a node middleware for the frontend to make mock requests until the backend is ready. Just do it. If this means working closely with a designer to come up with stable CSS styling for a design system. Just do it. Do whatever it takes to get the job done. This is the mark of someone with a can do it attitude.
On Jan. 27, 1967, three astronauts (Edward H. White II, Virgil I. "Gus" Grissom, and Roger B. Chaffe) participating in a training simulation for the Apollo 1 mission launch perished in a horrific fire accident. The problem that caused the fire could have been prevented. This catastrophe subsequently prompted substantial design changes to the Apollo command module that would play a huge role in the success of Apollo 11.
Sometimes we can't foresee problems that will arise from code we write. We can do everything in our power to prevent the same mistake from happening twice. Learning from our mistakes is how we develop as people and engineers. We only get better by taking the next step. If you're lucky that next step will be another leap for mankind.