T-Shape Engineer, An Introduction
Who are the T-Shape engineers? Is this a new word for full-stack, or maybe something more than that? We will try to answer those questions in this introduction.
Join the DZone community and get the full member experience.
Join For FreeHello, and welcome to the T-Shape engineer journey!
It will be a long, and I hope, interesting ride because we’re going to talk about a lot of things. This won’t be just dry theory about programming languages, databases, etc. We’re gonna create a full-stack web application from scratch. From the very beginning, step by step, we’ll build that application and will try to become a T-Shape engineer.
So, let’s get started!
“Stay hungry, stay foolish” — Steve Jobs, Founder of Apple
First, let’s find out what it means to be a T-Shape engineer.
Well, someone can say: “This is just a full-stack thing. Nothing special about it." The others say: “It’s when you know all about the computer languages, frameworks, etc., but in the end, you know nothing.” Kind of a paradox, right?
There are a lot of thoughts and opinions about the T-Shape, and they all could be right. But let me show you what I see, what it means for me to be a T-Shape engineer.
As you can see from the picture above, there are two big parts: core knowledge and specific knowledge.
The core knowledge is the most important part. It’s the base of the whole system of T-Shape engineering. So, what could be in the core knowledge? There could be computer science: algorithms, OOP, design patterns, data structures, security, data storage, and so on and so far.
For me, as a Java developer (I should have mentioned it at the beginning), the core knowledge also includes — Java Core.
Strong core knowledge helps us with specific ones: concrete programming languages, concrete databases, frameworks, etc. All those two components are building our T.
If you are looking for an analogy of the letter T in T-Shape engineering, you can think about a tree. For our tree core knowledge — it’s the roots and the stem of this tree and specific knowledge of the branches. A strong and big tree must have tremendous roots! Look at the picture below.
So, what does it mean to be a T-Shape engineer? It means that you are an expert in computer science, know one, two, or maybe three computer languages tops, be able to adopt new technologies quickly, and keep knowledge up to date. This is my point of view, but in the end, it’s your tree, and no one will know how big and strong it will become. Just let me give you a couple of suggestions:
- Narrow your technology stack down — learn the most important technologies from your business perspective. There is no need to know everything. That’s impossible.
- Keep your tree in good shape — always learn something new about your favorite technologies and programming languages. If something is out of the market, just cut the branch and try to grow a new one. I think you understand that analogy.
We finished with the first part of this introduction, and it’s time to switch to the second part.
What is the T-Shape course all about? It’s a course (mostly for Java developers), and it includes two big parts — T-Shape Engineer articles and the T-Shape Engineer project.
In the first part, I would like to share my knowledge with you about the back-end and front-end. As I am a Java developer, the main programming language will be Java. We will talk about Java itself, computer science, network programming, patterns, microservices, security, and so on. As for the front end, there will be JavaScript native, some libraries such as Vue.js and React, some PWA(Progressive Web Apps), and so on. I will try to organize all this stuff in an understandable and accessible form.
The second part is more like a physical representation of the first part. We will create a project called "Mister Keeper." The whole process of creation of this project is based on knowledge shared in the first part, so step by step, article by article, "Mister Keeper" will be created from scratch.
"Mister Keeper" is a web application where you can keep information about books, music, movies, and games. You can search, rate, review, and share information with your friends. So, it's kind of a social network, but all in one place. The web application has two parts: the back-end part (the source code will be here) and the front-end part (the source code will be here).
Last but not least — I created a small web page that you can use as a navigation tool to get through the course. You can consider it as a starting point of your journey.
I hope it will help you go through the articles and see the whole picture of the course. You can find the page here.
On that page, you can start with the small description about T-Shape, then take a look at the T-Shape Engineer schema — it's a diagram that depicts all topics that will be covered. Maybe I will extend it in the near future with new interesting topics. The last thing it's the T-Shape Engineer articles — also a diagram with links to the specific article on the DZone portal. This diagram will be growing with every new article published on Dzone.
In the next article, we will start our journey from the system design of our application.
That's all my friends. I wish you all the best, and take care!
Opinions expressed by DZone contributors are their own.
Comments