The foundation of enginerity is to seek the truth.
The beauty of computer science is always 0 and 1.
If you find an issue, dig in, always find the root cause.
Never let the truth go.
A lot of things you are not aware so you need to learn!
Recently I asked a senior engineer what makes a good software engineer, and here is what I got as a reply:
- Someone with the hunger to learn (continues learning)
- Someone who can think (a good problem solver)
- Someone who can do more than just talk (not afraid/unfamiliar with coding hands-on)
- Someone who envisions perfection, even when that might be impossible
- Someone not afraid to take leaps
- A good leader (a leader does not have to be a manager, and a manager does not mean to be a good leader)
I would also like to share a summary of the article I recently read that has inspired me. Read more
- Learn constantly, not just when life is forcing you. Understanding architecture is the key to deploying and troubleshooting any complex system.
- Don’t be good at one thing — be amazing at a few things, and good at the rest. Keep your skills up so that you can pinch-hit when needed.
- Admit your mistakes. The only thing worse than making a mistake is trying to cover it up.
- Get a grip. Learn how to relax so you can get back to business.
- Never surrender. Keep learning, keep practicing, keep refreshing, keep growing. Keep a journal of “I don’t know” topics, and then revisit it weekly to see what you’ve learned.
- Figure out what makes you remember long-term. A memory technique that works for you and practice it religiously.
- Be able to repro anything. Study and memory are powered by experience.
- Know your dependencies. If you learn the common building blocks of one component, you become good at many other components.
- Understand network captures. Your lab is the key.
- Learn at least one scripting language. Fundamental computer science and logic that applies to all languages
- Learn how to search and more importantly, how to judge the results. You can’t know everything, and that means looking for help, you must figure out how to filter them.
- Learn how to converse. Be both interesting and interested
- Get comfortable teaching. teaching forces you to learn
- Learn to like an audience. get out in front of people often, it’s easier with practice
- Project positive. confidence is highly contagious
- Be dominant without domineering (leadership). if you sound decisive and have a plan, everyone will get out of the way.
- Share everything. Share what you learn with your people.
- Did you ever exist? Invent something. Create documentation, construct training, write scripts, and design new distributed systems. Don’t just consume and maintain — build.
Jobs end at quitting time. A career is something that wakes you up at midnight with a solution.