| I learned the most actually from discussing with others. Also I learned a lot from doing a lot. I.e. ideation, sales, putting in production, maintaining, upgrading, documentation, and sunsetting. This removes one from a tunnel vision that I used to be in, seeing things in broader scope. In regards to learning itself. - Trying to be open to any language, stack or technology concept or paradigm. And be devoid of fanboyism. Pick no favourites but trying really to look at the broad spectrum of software development. See what different paradigms bring to the table. - Be good at discussing technology with people and listening to them. Learn to communicate in an open manner, ask 'Why', 'How would you solve X' instead of 'That won't work' when you are unsure of the ideas of others. - Try not to search for affirmation but try to find honest discussions. - Leave your ego behind - Become good at selecting which whom you discuss with, and divide your energy and attention accordingly. I.e I usually have more meaningful discussions with people that tried a lot of different paradigms, technologies and finally settled at some stack. - Understand that sometimes you choose a lesser technical thing or solution, because the team can't work with it yet.
- Become good at dissecting hype, but be open minded and not bitter. - If you want to grow hang out with people that are better then you and learn a lot from them. - Learn how to learn. - Keep a learning log/diary for yourself. For reference and to see how far you've become. - Find the right attitude and motivation for learning. Try not
to think I can't do this. But think. In 3 years I'll be able to do X y z. I can still suck a little for 2 years hurray! |