One of the best pieces of engineering advice my dad ever gave me was: "𝐅𝐨𝐜𝐮𝐬 𝐨𝐧 𝐭𝐡𝐞 𝐜𝐨𝐧𝐜𝐞𝐩𝐭𝐬 𝐚𝐧𝐝 𝐛𝐞𝐜𝐨𝐦𝐞 𝐚 𝐜𝐨𝐧𝐜𝐞𝐩𝐭 𝐜𝐨𝐥𝐥𝐞𝐜𝐭𝐨𝐫. 𝐈𝐟 𝐲𝐨𝐮 𝐥𝐞𝐚𝐫𝐧 𝐡𝐨𝐰 𝐭𝐨 𝐫𝐞𝐚𝐝 𝐚 𝐦𝐚𝐩, 𝐞𝐯𝐞𝐧 𝐰𝐡𝐞𝐧 𝐭𝐡𝐞 𝐜𝐢𝐭𝐢𝐞𝐬 𝐜𝐡𝐚𝐧𝐠𝐞 𝐲𝐨𝐮 𝐜𝐚𝐧 𝐬𝐭𝐢𝐥𝐥 𝐟𝐢𝐧𝐝 𝐲𝐨𝐮𝐫 𝐰𝐚𝐲".
I love this so much because it's easy to get overwhelmed in tech with all the coding languages and tools available to us. But when you think of yourself as a concept-collector you can start to identify patterns in the things you're learning.
For example, I noticed that no matter what framework I use, web development is essentially made up of these building blocks:
🌄 Views -> What's being displayed to the user
🎢 Events -> The different things that a user 'causes to happen'
🚨 Event Handling -> What we do after the user causes things to happen
🗳 Storage -> Data/information needs to be stored and retrieved
🚏 Routing and Controllers -> Allows us to create conceptual locations for where data/information should live
⚒ Optimization -> Making things run as smoothly as possible
In other words:
- The user needs to see something
- The user needs to interact with what they see and make things happen
- When they cause something to happen I need to decide what occurs next
- My data needs to be stored somewhere, and I need to be able to access it
- I use routes to allow the user to access data kept in different locations
- I optimize to make things run smoother
When you learn something new, try to grasp the deeper meaning of what's being done. 𝘊𝘰𝘥𝘪𝘯𝘨 𝘭𝘢𝘯𝘨𝘶𝘢𝘨𝘦𝘴 𝘢𝘯𝘥 𝘴𝘺𝘯𝘵𝘢𝘹𝘦𝘴 𝘢𝘳𝘦 𝘰𝘯𝘭𝘺 𝘢 𝘮𝘦𝘢𝘯𝘴 𝘵𝘰 𝘢𝘯 𝘦𝘯𝘥, 𝘢 𝘸𝘢𝘺 𝘵𝘰 𝘢𝘤𝘤𝘰𝘮𝘱𝘭𝘪𝘴𝘩 𝘢 𝘱𝘶𝘳𝘱𝘰𝘴𝘦. If you notice these patterns you'll be able to switch between frameworks and languages much more easily and confidently!