I like to consider myself as a T-Shaped developer. An you may ask: "But Ricardo, what's a t-shaped developer?" and I would say "Well, that's a awesome question, and I can't thank you enough for bringing that question into the discussion. I'm going to explain, or at least try to right away."
I was first introduced to that concept while watching a (MVA) Microsoft Virtual Academy course, if you don't know what MVA is, I would encourage you to take a peek, an awesome resource brought to us by awesome people with a lot of good courses given by awesome people with the intent of making you an awesome professional, so, "awesome"! So, back to the T-Shaped, in this course "Fundamentals of Lean Software Delivery Jump Start", Steven Borg and Andrew Clear, talked about resource allocation (you probably should watch this course), and they talked about this individual that has on his core, development skills yet, can look to the right and to the left and write some SQL queries, write some testing, go through a meeting to set the requirements with the customer and then, I realized that, I'm one of this individuals.
I'm also very customer focused so, the customer is my boss, and either it is a internal or external customer, my mission is not only to deliver good solutions, but to help him find the best solution even when he/her don't have a clue what they need, and that's the fun part, they don't need to know. The customer only needs to expose the problem to solve, I guess that's the fun part, to go through the process with the customer and find the solution, make the customer feel like I'm part of the team and not the "developer" the nerdy guy that stand on the corner table all day typing and who knows what else.
I know, or at least I try to understand a bit of every "gear", "nuts" and "bolts" on the company that makes it work and I love to make part of it. So some times, I'm asked about what's my specialty... thinking about it, my specialty is to not having specialty, to be able to easily adapt to every situation that I'm faced with and finding the better solution. I can do anything that I put my mind into, I can easily learn new things, since I'm always looking for new trends, new ways to solve problems, and since I'm a developer in way or the other things don't change much.
Usually I'm on the .NET world, doing some C#, more on the web side of the "force" but I've also worked for some time on desktop development. I also do Javascript like JQuery, Angular, Node, Express, MEAN Stack... I've learned about Android Development, Python.. and I'm a tech savvy and curious guy, so, sometimes I just feel like learning something new.
While I was preparing to write this post, I've ran a search about "t-shape developer" and I got a few results to get you some more information about it if you're interested.
The "hello world" of the definitions : Wikipedia T-Shaped Skills and this great post that I totally subscribe that I just found now 'T-shaped' developers are the new normal and also T-shaped Skills and Swarming Make for Flexible Scrum and Agile Teams
I usually say when I hear someone whining about "the requirements and specifications are always changing, the customer don't know what he wants" - "The only constant in Software Development is change" and, in a world that's changing in such a velocity, I often think that, maybe It's better to embrace the change and bounce between all the full stack than rather do one thing only, but hey, I'm not the owner of the reason, so let's hear your opinions and thoughts about this. Are you a Specialist or a T-Shaped Developer?
Cheers,
Ricardo Melo Joia
Image credits from:
http://www.scrumexpert.com/knowledge/t-shaped-skills-and-swarming-make-for-flexible-scrum-and-agile-teams/