The T-shaped employee is a management and hiring concept regarding the skills of an employee. The vertical of the T represents skills with which the employee has deep expertise and the horizontal bar represents skills that exhibit less expertise, but are good enough to collaborate with other people. This concept applies in software development as well.
Successful developers have some expertise, even if it’s just from working in a certain domain or being in charge of a particular aspect of the system (e.g. the database). But, every successful developer also has to work with other people–under source control, testing, read and write design documents, etc. As far as career planning goes, you want to think seriously about your expertise. If you’re not careful you may find yourself a master of skills that nobody requires anymore. For example, early in my career I worked on a great tool called PowerBuilder. It was state-of-the-art back then and it still exists to this day, but I would be very surprised if more than a handful of you have ever heard about it. If I had defined myself as a PowerBuilder expert back then, and pursued a career path that focused on PowerBuilder, I would have limited my options significantly (maybe all the way to unemployment). Instead, I chose to focus on more general skills such as object-oriented design and architecture.
Programming language choice is also very important. Visual Basic was the most popular programming language when I started my career. It did evolve into VB.NET eventually, but I haven’t heard much about any excitement in this area for quite some time. The same goes for operating systems. Windows was all the rage back then. Today, it’s mostly Linux on the backend (along with Windows, of course) and either Web development or mobile apps on the frontend.
Consider the future of your area of current expertise carefully and be ready to switch if necessary. It’s fine to develop several separate fields of expertise. If you’re dedicated and have a strong software engineering foundation, you can be an expert on any topic within several months or a couple of years. All it takes is to read a little and do a couple of non-trivial projects. I have often delved into a new domain and within three months I could answer, or find out the answer to, most questions people asked on various public forums. My advice is to invest in timeless skills and core computer science and software engineering first, and then follow your passion and specialize in something about which you care deeply.