I’ve had the fortune of speaking with some very accomplished individuals who are in the field today. One thing I made sure to take away from the conversations were bits of advice / words of wisdom.
Most seemed to be based on the person’s experiences, although it wasn’t required. I resonated with every single one. Note that I paraphrased these peices of advice from the person’s perspective.
“Work locally, think globally.”
Remembering the problem that was being solved helped me to understand what the solution was. There were many times in my career where I spent great efforts on a small part of a solution. This led me to realize two things:
1) Nobody gave a shit about the work that I did / it wasn’t useful. The resulting work either didn’t solve the problem or already existed.
2) The other parts around it were of lesser quality. This ultimately diluted the overall output of the solution.
Always be mindful of the work that you’re doing and how it fits into the bigger picture. Ensure that every part of a solution, no matter how small the component is, matches the quality of the output desired.
“While it is important to expand your knowledge of different technologies, being able to show mastery in at least one is valuable.”
“Learn as much as you can, and more importantly, take everyone else’s advice with a grain of salt.”
“The tools used to get things done should be just that - tools.”
Time should be invested into the foundations of any skill rather than the tools that may emphasize them. Tools should be used to save time, minimize manual labor, facilitate learning, or solve hard problems. Always make sure that dependencies on a tool does not hinder learning but ultimately saves you from doing work.
Strive to understand what works under the covers so that the dependency of being able to solve a problem relies moreso on your knowledge and foundations rather than the tool itself.
“When learning something, don’t just explore how it works. Try to break it.”
There are many different technologies that are used today which are pushed to the limits. In an ideal world, nothing breaks. In the real world, everything can.
With that said, detection, triage, self healing, mitigation, security, scalability, and redundancy are just a few of the things that are important in the health of a system.
Building any kind of system is relatively cheap these days, so try building one that can be made to break. Induce situations that would require a focus on the above points, then make changes and monitor the behavior to discover performance tweaks.
“The number of the different kinds of tools and technologies that exist today is vast - there’s no time to learn them all. Explore those different kinds from learning through peoples’ backgrounds.”
Discovering technologies that I don’t know I don’t know about is obviously difficult. The best way to learn new things are from people. They’ve gained experiences through their own unique journey, and being able to reap the benefits of those experiences without the investment is enriching.