Introduction
When starting out I did not know what skills were needed in a technology career. Is success inventing an iPhone, building the next Linux distro, hacking into the most secure systems (white hat hacking of course), learning everything about the entire stack of the computer from bare metal to the Operating System to eyeballs looking at the screen, or is it solving LeetCode questions on a white board at a FANG company (this is not what real tech work looks like at all).
It is easy to get so intimidated that you give up on the field. You cannot do all those things at once to be the fabled 10X programmer so why even try? It’s too hard. Especially if you do not fit the common mold of the geek that is expected to be the one to succeed in the field.
Focus
Dedicate all your brain power to solving one hard problem at a time. If the problem is too big, cut it up into smaller big problems and solve one at a time. If you solve all the small problems with focus one at a time you also unlocked solving the scary big problem without the overwhelm. Focus is key.
Patience and persistence
Patience and persistence come into play when you will not be great at a new skill. It is unrealistic to think you are going to win the Tour De France the same day you learn how to ride a bike. This type of thinking makes people stagnant because it is uncomfortable not being very good at something when you are an expert and have full confidence in another skill. This needs to be pushed past – out of the comfort zone where the growth lies.
Be an eternal student
Listen to feedback, stay humble, and put personal improvements into action. Use the internet as your bigger, better second brain. Being able to describe the problem faced so that Google/StackOverflow/Bing/DuckDuckGo/Reddit/SomeRandomBlog can help lead you closer to the answer.
Prove stuff out
What works on paper does not always work in the real world. Do quick and cheap experimentation on solutions to make sure the path forward is not a cliff. Taking calculated risks and committing fully to grow and achieve big things. If you fail, then you need to utilize grit and staying power. When you get knocked down always get back up, smile, take a break to rest and regroup, and try again. You only fail when you stop trying.
Ability to cram information very quickly
If there is one skill that I have taken from my formal education, it is the ability to cram my head with information before a fast-approaching deadline. Maybe I procrastinated and waited until the night before the big test, but this is how the real-world works. You might get one night to prep for a big demo you know nothing about, but you need to be the expert by tomorrow morning. In my opinion this is the most important skill in our modern world: to be targeted to a skill at hand and not trying to keep everything in your head all the time. You might forget certain things, but you can go back and cram quickly to catch right back up.
Become the best in the world at one thing
Target your focus to get as good as you can on every aspect of the subject. Consider this your comfort blanket to build confidence and reputation as you rise in your career. Use it as your “beachhead” to learn other content faster. You learned tech stack A, learning tech stack B will have some similarities that can help you take efficient shortcuts in cramming to get good at the new skill. This can be taken too far. One pitfall of specializing is to be pigeonholed into only your useful specialized skill.
Watch out for the dinosaur trap
In tech it is crazy how fast you lose skills if you do not use them every day. Tech skills are like a muscle: use it or lose it. Get hungry for the eternal learning adventure to not get stagnant. If you do not brush up from time to time you will wake up one day and the skill will be gone. This is where good notes and cramming comes in to save you. 99% percent of all technology is unknown to every human. Step up to learn. Step up to do what needs to be done at this moment by facing the unknown even if it is not glamorous or flashy. If the project needs someone to reverse engineer archaic solutions no one knows anything about, then jump on it! It is useful for moving forward.
Teach what you learn
If you cannot explain a topic to someone else, you have not fully grasped the subject.
Richard Feynman
To teach is to learn the subject a second time. Write down the path that you went down to reach a solution. This might seem like a waste to you but when you need to cram again because you haven’t done it in two years this will catapult you back to expert status in a fraction of the time. Use your writings to help others reach the mountaintop you just climbed. They will greatly appreciate your help and you will strengthen bonds. If you cannot teach it, then more cramming is needed to become an expert quickly! Do not let perfect get in the way of good. Fight the ego trap of reinventing and improving the wheel if you can quickly take the wheel off the shelf to use. Find the fastest way to solve the problem and make improvements when they are needed. Do what you can with what you have at this current moment to make a positive impact.
Leveraging the work of others
Keep up with the community. Read blogs by experts in the field. Stand on the shoulders of giants to accelerate your ability to solve a problem. Watching YouTube content on new or old features to get up to speed. Exploring, trying yourself from tutorials, and expanding the tutorials from there to solidify your learning and to add more value to the content out there.
Walk in everyone’s shoes
Empathy is the most underrated skill in the modern world. From the end user to the developers to the business customer to build something that is useful you need to see where the pain exists and help define it in a way that technology can solve. If there is no useful problem that is solved the created technology is nothing but a misguided, expensive toy. Always fall back to the question: what does this solution solve for whom? The answer might not even be technology. If this is not the core behind every action then the whole effort is a massive waste of time, money, and energy. Empathy is the guide to stay on the path to solve the most impactful problems first.
Conclusion
This might seem like a lot of skills to get good at (it is!) but if you at least keep them in mind when something is not going right, or you need some direction because you feel stuck, they are a path forward to progress. They have helped me immensely when I needed a catalyst to get me to grow.