Historically developers have been specialist. In web development you were either front end or back end. You build your portion of an app and didn’t worry about the other areas.
“A T-shaped developer has one or more deep skill-sets of knowledge complemented with broad generalist knowledge across an entire solution.” ~ David Walker
The idea behind being a T shaped developer is to have a broad base of knowledge and then dive deep into a few areas.
15:51 Defining a T shaped developer
“Think of the shape of the capital letter T”
The top horizontal portion of the T represents your knowledge base, this should be broad enough to cover several areas of programming. The vertical stem of the T represents your depth of knowledge in a specialty or focussed area of programming.
“The breadth … keeps you stable and depth is what gets you the money”
20:13 Breadth of Knowledge vs Depth of Knowledge
The developer with a wide knowledge base is a jack of all trades. They do not need to be an expert at everything just have a working knowledge. To be able to build a functioning if not perfect app and the ability to work outside of your core area
Diving deep a developer becomes a master or expert in one area. This allows Focus of training and effort. Be a resource in this area where you prefer to work or are at your best.
25:15 Why Be T-Shaped
It is a more agile way of working. Increasing the flexibility of the team and avoiding the trap of too much work for one specialist. It allows for Frankenstein applications built from many different tools and frameworks, each tool requires skill and training.
Keep up with rapid changes. Area of depth may become outdated and a broad knowledge base means a starting point for depth in another area.
33:18 Becoming T-Shaped
With traditional schooling or learning it is easier to teach a specialty but hard to know which skills are important outside of a specific context.
Find areas at your company you can learn and add value. Plan to develop your knowledge in a T shape. Start with a strong core knowledge in an area that allows effective production. Build out from there.
39:28 Pitfalls to Avoid
Being a Jack of All Trades Master of None. Being able to write ‘Hello world’ in 20 languages is not a useful skill. Never delve deep into any area and move on when it gets challenging.
Trying to be master of all trades. It can be difficult to switch contexts and lead to burn-out quickly.
One way is the only way. Lack of breadth. This is an 1 or I shaped developer.
“Hackaday.io is the world’s largest collaborative hardware development community”
This is a community for sharing and discussing IoT projects and ideas. Just like any community it has lots of abandoned projects but there are plenty of active or completed projects to look into. They have contests, discussion boards, and project logs.
Tricks of the Trade
Unlike developers that want to be T-Shaped and able to do multiple different tasks in your code you want to structure your architecture to where each component only does one thing and does it well. This reduces complexity when writing and editing the code and allows for easier transitions to updated patterns.