- **Epistemic status:** #seedlings
In the information age, one of the most important assets is knowledge. This asset will depreciate over time with the emergence of new skills and technologies. You will need to manage your knowledge portfolio responsibly to succeed. The process of learning is to expand your thinking and perspective to new possibilities. It doesn't matter if you don't use them in your current project, since that cross-pollination of ideas can help you apply lessons to your existing project.
## Guidelines
- **Invest** regularly a small fraction of time to learning a new skill or keeping up to date with emergent technologies in your field
- **Diversify** your understanding by deep diving into other components of the system you focus on to give you a better perspective of the big picture. By learning across disciplines, you'll be able to find better solutions.
- **Manage risk** between learning skills or technologies that are brand new and not hot in the market and those that are. The pay-off of learning something before is popular can yield a high pay-off when it becomes high in demand, but it can also affect you just as much.
- **Rebalance** your understanding by checking what skills or technologies you need to review to then decide if you need to pursue new ones, abandon old ones, or invest more time on existing ones.
## Suggestions
The following activities are a few examples of what you can do to manage your knowledge portfolio. Don't get overwhelmed if you can't do every single one. Make small improvements into your current learning workflow and as time goes on you will see the fruits of your labor.
- **Learn a new programming language each year -** Each programming language solves problems in their own way. By seeing the different approaches that a problem can be solved, it can broaden your understanding.
- **Read a technical books -** Technical books can heavily deepen your understanding on a topic because of its long format. Make sure to prioritize those that relate to your current project.
- **Read non-technical books -** It is important to dedicate some time to understanding the human element of the equation, not just the technical. These are called soft-skills.
- **Take classes -** Take courses locally or online about a topic that interest you.
- **Attend conferences -** Conferences often showcase emerging trends and technologies that can give a huge impact on your career.
- **Participate in local groups and meetups -** Actively participate, sharing knowledge with other people by finding out what they are working on outside your workplace.
- **Experiment with different environments -** If you only have experience using Windows, try Linux for a chance. Try a new IDE or a different set of build tools.
- **Stay current -** Read news and posts online on topics related to your field keeping you on the loop of new developments.
---
## References
- Thomas, David, and Andrew Hunt. _The Pragmatic Programmer, 20th Anniversary Edition: Journey to Mastery_. Second edition. Boston: Addison-Wesley, 2019.