Dr. Janet Siegmund used fMRI to study the brains of computer programmers. She looked the areas the of the brain activated while comprehending short code snippets. For control she had the developers find syntax errors. When the programmers were comprehending the code snippets she found a pattern of activation in five regions of the brain associated with language processing, working memory, and attention. She also found that coding blurs the line between math and language.
It has also been found that the trial and error process of debugging code strengthens mental capabilities. Keeping your mind sharp will help increase motivation and focus, creativity and inspiration, and prevent cognitive decline.
16:10 General Tips
Prioritize Brain Power
Sensory Engagement and Deprivation
Find a Creative Outlet
Supplement Your Memory
27:43 Always Be Coding
“Always be coding: good code, bad code, really doesn’t matter” ~ Marcelo Juchem
Want to learn a new language? Write bad code.
Want to gain a deeper understanding of the language you already know? Write Code.
Code when you don’t have to do so. Good code? Bad code? Keep writing it. Work toward more good code than bad. Write the bad so it can become good code. Become your own critic and reviewer.
30:26 Know Your Algorithms
“Don’t just use them – know them. Implement. Test. Experiment. Push them to the limits.” ~ Marcelo Juchem
Know your data structures. We know what a lot of things do but not how they do it. Knowing not only what things do but how they do it helps to understand where the shortfalls are in them and how to optimize around those shortfalls.
35:35 Don’t Get Addicted to Frameworks
“The good thing about frameworks is that they solve the hard problems so you don’t have to. The bad thing about frameworks is that they solve the hard problems and you can’t learn from them.” ~ Marcelo Juchem
Don’t become over reliant on your framework. Make sure that you understand the underlying workings. Framework features can easily become confused with the functionality of the language. Solve problems on your own to understand the framework you are using.
39:30 Use Code Reviews for Learning
“Always pick someone who you believe to be better than you for your reviews – there’s no point in choosing someone just because they’ll set the accept flag without much back and forth.” Marcelo Juchem
Be picky on who you get to review your code. A good reviewer will help you grow as a developer and teach you better skills and understanding of your code.
Signs of a bad reviewer: Only accepts code that looks like theirs. Doesn’t explain the why of doing something a certain way.
Signs of a good reviewer: Knows what is important and what to ignore. Explains reasoning behind suggestions. Knows the implications of doing things a certain way
“Sometimes you think you know how something works, but then you try to explain and you realize you don’t fully understand it.” ~ Macelo Juchem
Write blog posts and tutorials. Submit to speak at conferences even if you only give a 5-10 minute lightning talk learn the material for the talk thoroughly. Start a podcast, that’s how Beej learned a lot of the concepts he now uses.
We recently had some DDos (distributed denial of service) attacks that left several major websites down but also affected a lot of IoT devices.
“Many of these products from XiongMai and other makers of inexpensive, mass-produced IoT devices are essentially unfixable, and will remain a danger to others unless and until they are completely unplugged from the Internet.” ~ Brian Krebs
Tricks of the Trade
Kaizen is the process of continual improvement. The concept comes from William Edwards Deming’s work in Japanese manufacturing. The idea is to tighten tolerances of what you are working on to produce better quality. Come up with a process to improve the quality of your code as you proceed. Continual improvement will produce more than trying to get it perfect at first.