Contradictions for new programmers
Programming is more about ideas than it is typing
AND typing a lot and fast will let you try new things and make you a better programmer
Software is brand new to humans and a constantly evolving dynamic medium. No one has it figured out
AND humans have a deep capacity for getting good so learn from the past
Being puzzled on an error means there is wrong or missing knowledge. Stop slow down, read the error and question your assumptions
AND it needs to be done to be good, just hack it till it works.
Software is about breaking a big problem into small problems you do know how to solve
AND becoming friendly with uncertainty
If you’re stuck, explain it to someone else (or no one at all). Doesn’t matter if they understand, saying something verbally makes us check our assumptions.
AND about digging and retracing your steps until you’re unstuck.
There’s a wealth of knowledge, learn from others. See what solutions already exist. Leverage them.
AND software is so new that you’re likely to be the first to encounter problems.
When you don’t know, take a break. Use your background mind.
AND don’t stop hacking because of roadblocks. It’s always solvable.
Technical disciplines can draw those who underestimate others not like themselves. Ignore the haters, trust yourself.
AND develop empathy earlier. Teams only work when trust is formed.