Daily Life: What is the most valuable skill a person can have for their entire life?Persistence
Persistence is everything. Always plow your way through every problem you face, and you will always continue to get stronger. Even if something scares the crap out of you, do it anyway. Even if the risk is enormous, do it anyway. Just be sure to appropriately manage your risks. If there's a lot to gain, perhaps the risk is worth it.
If you fail 1,000 times, do you give up? Why would you? You're now 1,000 times stronger than when you first started as long as you've paid attention to what caused you to fail so you can fix it. Each time you work to solve the issue, you'll get a bit further.
Let me tell you a story. I was going to Cuyahoga Community College, and I was presented with the opportunity to select a self-study project. I chose to learn HTML, and I fell in love! I loved that I could write anything into existence... except eventually I learned that I couldn't write everything into existence; I needed to learn a dynamic programming language, and so I chose PHP.
Well, I learned PHP by writing even better stuff into existence, and I was excited about how much I could do! I could write a page that includes another page, so I no longer had to write the same code twice or maintain code in multiple locations. Again, I was excited about the prospect that I could surely write anything into existence. Except... I couldn't create a membership system. So, I learned MySQL. [A database program]
Yay! Now I can store user data in the database, and I can even start storing products in it, too. So, I built some websites using MySQL, my new database program, and *WHAM!* I got hacked. Nooooo! What when wrong? How did that happen? I had to write a program to track which URLs people were visiting. it was just a simple logging program so I could find out how people were breaking my website. So, I plugged the hole. One of them...
Alright, so then I knew some basic security, and I knew how to build a dynamic website with a database for content. Surely I can write anything into existence now? Oh, the countless times I've written extra HTML attributes [extra text] when I didn't need to... Surely there has to be another way? So, I learned CSS.
Surely now that I've accomplished so much, I can write anything into existence? What about desktop or mobile applications? *DOH!* Time to learn Electron and Meteor. After I learn those can I write everything into existence? Nope! I'll need to know machine learning, and I'd like to learn C++ to use a faster language to make everything as fast as possible.
So, you see, persistence made me stronger over the course of 13 years and counting. I'm surely an accomplished Software Engineer now, though I know that I'll never be able to write every possible program into existence. That's not the purpose of Software Engineering; its purpose is to continually learn and grow so I can help grow the ever changing technology industry. There's no limit to how much the world can achieve, and persistence helps to keep you growing even when there's no way to actually reach your goal.
I want to leave you with these words. Facebook only considers itself to be 1% finished. The message is such that Facebook will never be finished; no software project is ever 100% finished unless it's abandoned, or deprecated and abandoned. The point is not to finish the project; the point is to keep it in constant growth, always evolving, always improving.