Growing Engineers is not easy here are some tips that have helped my career
Keep a Programming Log
Having a good place where you can document some of the main problems you've encountered during your career, as well as a place where you put the solutions, is a great practice. It will make you a great engineer and your future self will always be grateful whenever you encounter that CSS trick you did once to adjust the height of the viewport 3 years ago.
# Things to Journal: 🍍 Date and signature (In notion I type @today) 🍓 Problems encountered 🍇 Solutions explored and what worked 🫐 Log successes 🥝 Things to keep in mind and re-visit later 🍒 Goals and lessons learned (even down to communicating with a technical team)
Here is an example entry from my Journal:
# Infinite loop on `useEffect` react hook 🪝 ## Feb 18, 2020 - React, Hooks ### Problem: You can easily create an infinite loop by the mis-use of the `useEffect` hook. This can happen if you’re doing data fetching in an effect without the second dependencies argument. Without it, effects run after every render — and setting the state will trigger a re-render which also triggers the effects again. Hence.. an infinite loop. An infinite loop may also happen if you specify a value that always changes in the dependency array.