I think it's really important to have a healthy self-understanding. Knowing your strengths and weaknesses, not just in technical arenas, but in psychological/sociological aspects, can be immensely beneficial.
For example, understanding the things that:
- drive you actions
- impact your outlook
- influence your decision framework
Now, I'm no psychologist, but the Myers-Briggs test has been a good gauge for me and there's a great site called 16personalities that provides free evaluations. It's incredibly accurate - or at least for me it was - and it has been super helpful in introspection; basically, it put into words a lot of what I'd thought about and understood of myself previously.
I was profiled as an INFJ, "the Advocate", which means a couple things:
- I'm highly driven by my personal philosophies and that I look for projects that work towards realizing those ideals
- I enjoy identifying and working on core problems that address the issue, not the symptoms, and building long-lasting solutions
- Working with teams of equals in a collaborative environment where ideas are shared, challenged, improved, and implemented is stimulating and rewarding
- I'm introverted with extroverted tendencies and sometimes need to seal myself away to recharge and think
Having this helps me know what I want to be working on, how I want to be work on it, and who I want to be working on it with.
Overall, I feel like it's really important for other devs to get a more concrete image of their personalities to understand how they best fit into their jobs and their workplaces. I'd love to hear what your types are!