Kody Wildfeuer's blog

kodyw.com

Category: Uncategorized

Child starting the climb up the stairs

Essential Skills for My Career in Technology So Far

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.

Enjoy their use!

9 Tips to Make Learning Suck Less

Education does not stop when school is out. The best way to get ahead of the competition is to outlearn them everyday. In the words of Steve Martin, you have to “become so good that they cannot ignore you.” Learning will always be apart of the recipe for growth and advancement throughout life. Listed are a few points of wisdom gained when journeying out to learn in new and unknown areas. Hopefully this guidance can help out along the way when starting out!

“The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn. ”

Alvin Toffler

1. Finish One Task

The mind weeps when there are too many choices on where to decide to put effort, make the decision easy by focusing on a single book or course. Make it your sole goal to finish that project of learning before you start on some else. When I start to struggle with one topic, I feel myself wanting to pull away and find else, leading to quick hopping between material that leads to basic levels of comprehension. I want to avoid the jack-of-all-trades-master-of-none conundrum, so avoid this slumping habit. Focus on a concentrated progress.

2. Invest in yourself

There are weird motivating factors that drive the process – and strangely when funds are invested into the learning process it is more difficult to give up. Wasting the money spent is hard to do – especially compared to simply walking away from something that was found for free – you have no skin in the learning game! This does not need to be a large sum – for example look for Udemy courses that are on sale or have coupons searchable on google – they typically drop the price from hundreds of dollars to around 5-15! TeamTreehouse also has a student discount if you share with them your email address from that institution.

3. Use a curated course – FreeCodeCamp Udemy, Treehouse, Udacity

 

Some people are more disciplined than others – if the idea of finding material seems daunting enough – reach out to a highly rated online course. These options are increasingly daily – and they allow for built in structure and guidance.

4. Use a book

 
The book is with you in this struggle, it is harder to put off. It will show you the effects of your struggle, the book will tear, smear, and show life where a PDF or online document stays boringly static. The marks on the book tells the story of your journey.
You can file away that PDF, but the book is harder to ignore. It reminds you when you see it sitting on your desk that you should keep going with your progress. I love looking at the book and see how far I am by looking at my dog-eared pages tucked away inside, it makes me feel like I am moving forward like nothing else.
If a book will be used – I recommend going straight to Amazon and typing in certain keywords for the topic. Try to find the book that is up-to-date, has a decent amount of reviews, and is the highest rated. Read the reviews to ensure the book is right for you. This process will help ensure you are not going to be soured by the purchase of the text.

5.Take the time you need for progress

Trying to hurry up the learning process is like expecting a tree to grow in a few days. Learning is a marathon, not a sprint.

6.You will get overwhelmed – Do not stress

Set a timer for 20 mins and fall asleep when tired from learning. It is always surprising how this little cat nap can reinvigorate the mind.

7. Learn everyday – even if it is 5 minutes – it counts.

This helps establish the habit of learning – which is more effective than cramming information in huge sessions periodically. Five minutes is all that is needed to establish the act of learning when downtime arises.

8. Publish your journey online

Work that is not online means little to nothing to the outside world.
If a tree falls in a forest with no one around does it make a sound?
Set up a twitter account to post progress.
I started doing this because I theorized that an ongoing record would be more substantive than simply saying I completed some learning. But, this twitter account became a motivating factor when I got down in the dumps and frustrated. When I looked back at what I had done, I could show myself real strides. This reinforcement helps when you need it most. A surprising and unexpected outcome that makes me highly recommend you do the same.
Make a personal blog
Set up a blog to put updates on what you are working on, basic information about yourself, and possibly your resume and a link to your twitter account were you are posting more granular progress reports.
When making a blog – start small – even a single page with a few sentences, name, and bio is better than nothing!

9. Do not stop

There will be points when you would rather watch television or browse the internet instead of using your time for learning. Your mind will think hard and fast for excuses why you do not want to do it anymore. In these situations, I have found that if I tell myself I will accomplish one chapter or at least one exercise, then I will be okay for that day. This way I will not feel guilty for doing other things, if one keeps a habit, progress will be made. Do not force yourself to do too much right away, pacing is key to establishing a learning trend.

Hello World!

“I think that it’s extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don’t think we are. I think we’re responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don’t become missionaries. Don’t feel as if you’re Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don’t feel as if the key to successful computing is only in your hands. What’s in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.”

Alan J. Perlis (April 1, 1922-February 7, 1990)

–Structure and Interpretation
of Computer Programs

Page 3 of 3

Powered by WordPress & Theme by Anders Norén