Things I learned.
Tags: programming, lessons, journey, life
Published: 2022-05-02 16:25:00

Last night, I was chatting with my wife about pursuing our passions and how we get jobs in fields we really love. The conversation ended up with me sharing about a [video](https://www.youtube.com/watch?v=DFjTD8v7xuw) summarizing Cal Newport's book "So good they can't ignore you". This video made me realize that I never really liked coding, It was never a passion, but having been - in a way - forced to work hard and improve my skills, it somehow became one. I experienced first hand what Cal talked about in his book. It's being skillful that makes you passionate, not the other way around.

Anyways, here're some lessons I learned (and still learning) from my journey of becoming a programmer: 
- If you're starting university or a coding bootcamp, don't worry too much about grades and results. Instead, focus on learning, and don't be limited to what they required from you to graduate. Coding is a world by itself. 
- The journey will be difficult, and you will probably feel lost and confused most of the time. That's okay, we've all been there. 
- Take it one step at a time, be present and don't rush, learning takes time, and you need to give your brain the space needed to learn this craft. 
- Coding is hard, and no one really knows all the things. 
- Imposter syndrome is a real thing, it's rooted in pride, so be humble and at peace with the idea that you're not a super human, unless you were born in Asgard and your father has one eye. 
- Learn tools and frameworks, they make you productive, they can get you a job. It's not true that you need to master a language before learning a tool. Kids don't learn correct grammar before learning how to say a complete sentence. 
- Focus on just few things, maybe one or two languages & tools, become really good at them and then look for more stuff. If you're a developer, "A learner" is probably one of your top strengths, try not to shove every piece of knowledge found on the face of earth into your brain. Your brain is supposed to be a processor (M1 Max), not a storage system (Floppy Disk). Spend the time to learn how to recognize patterns, how to process information, and how to think. 
- It's Okay to say: "I don't know". Even on a job interview. 
- Don't compete with other developers. We're all in this jungle trying to find our next meal. 
- Share your knowledge. Again, the point is not to look wise and knowledgable. The point is to grow yourself and the people around you. It's all about adding value to the world around you. (this is the point -> .)
- Don't buy 1000 courses if you're not going to watch them.
- Don't follow the trends, at least not fully.
- Be brave, try new things every now and then. A new framework? 
- It's okay to be super excited about tech. It's what we do, we all geek out all day long on things like Rust and Go. Most people don't gets it, but that's okay. We're special.
- Do other things outside of coding. This one is hard, but you need to stare at a tree every now and then.  
- Coffee won't make you a better programmer, even if you take really good photos of your mug.
- Be patient.
- Be kind to yourself. 
- Don't rush. 
- Be present. 
- A therapist is really helpful. 
- Follow me on Twitter, so I can sell you courses and books, get rich, and then sell you how you can do it yourself as well. Seriously thought, follow me :) https://twitter.com/Adib_Hanna/ it feels good to have a great community on Twitter.