Through the stack / 01-11 (Week 17)
This is "Through the Stack", a weekly list of links relating to topics relevant to Lead developers (actual or aspiring) working with an internet related product.
Many lead developers, tech lead and staff engineers have their hands in many projects and influence many layers in their organizations. This publication is aimed at sharing thoughts and content that are relevant to such profiles.
If you have comments or content to suggest please reach out to us by email email@example.com .
The T Shaped engineers
This week we are going to dig into the concept of T Shaped engineers : what it is, how to become one, how to help others become one and how to find them.
Usually professionals are focused on one narrow set of skills. It's often reflected by the terminology of our jobs : "front end engineer", "backend engineer", "designer", etc ... In the last few years we have all seen the elusive "full stack engineer" but this one usually means "frontend + backend engineer". That's nice but that's still pretty narrow. They are still very much specialists.
As pointed out by Alex Kondov T-Shaped engineers are neither specialists nor generalists. While they have a strong focus in one area (say Backend engineering) they also have a broad working knowledge in a few other areas.
Such engineers are usually senior and can be a great help for teams and companies. Their ability to work in different areas make them key corner stones of any team : they can not only work in those areas but also work much better with specialists of those areas. The main reason for that is that they share the same vocabulary and understanding of the context and constraints of the work in that area.
Getting in shape
I thought for a time that such approach was common among senior talent. Yet, most of the people I have worked with are focused on one area of work. As specialists they tend to have difficulties working with other specialists because of the lack of common vocabulary and understanding of each other contexts.
So, getting from the classic "I" shaped specialist profile to a "T" shaped specialist one is probably a good move for most. At least, even getting some basic understanding and experience of areas of expertise you are regularly working with will get you a huge advantage.
How to do that ? Well. You can pick topics that you are curious about or the ones that are obvious. If you are a backend engineer pick a bit of frontend skills through a couple of online courses. And vice versa for frontend engineers.
Here are just a few resources :
- GoRails Hotwire course : most of it doesn't require a paid account (but the investment is worth it)
- GoRails "Rails for beginners" and "Rails concepts" courses : great starting points for new comers to RubyOnRails
- A quick intro to building a fullstack app with Vue, Vuex and Rails from HoneyBadger's blog
If you are a software engineer in general you might want to dig a bit in the lower layers such as infrastructure.
- Getting familiar with Docker : a very important base bricks nowadays so getting up to speed on what it is and how to use it is a very good investment. Docker.com has some great resources to get started. We also have a quick course on how to use docker-compose for local developer environments.
- Getting familiar with GNU/Linux with Ubuntu server edition. You can do that on any Mac or PC by running a Docker ubuntu container and playing in the console. That will complement the above nicely !
- Getting familiar with one of the big IaaS providers, its services and APIs. I would argue that it's a must for any backend engineer. Create an account (it's free) and go checkout the documentation, play with the web console.
- Getting familiar with Infrastructure as Code tools such as Terraform. A favorite for a lot of engineers out there it's a great tool to manage infrastructure.
Or you might want to go higher and look into things such as Extreme Programming (XP) or Agile in general.
And so on. We have access to a lot of resources through the web so don't hesitate to dig into any topic. Pick one, organize yourself to spend a bit of time on it every week and it will quickly pay off.
Not doing this on your own
But doing this might seem daunting for most. That's why it's key to try to reach out to the community out there. There are many forums, slack and discord servers available for many topics.
- Ruby and RubyOnRails enthusiasts find themselves on the RubyOnRails Link's slack server.
- Devops enthusiasts have a great meeting place on the hangops' slack server.
But you can also look for a mentor to help you come up with a plan and go through it. You can try your luck in the above communities or your local ones. You can also look on sites like mentorcruise.com but that will require to invest some money too. You can find my profile there.
Mentoring and apprenticeship
And this brings us to the last part : how to help others get from being specialists or generalists to T-Shaped engineers ?
Mentoring is a great way to help junior and not junior folks. The idea there is mostly to guide along someone in their quest to learn new skills and improve their work profile. MentorCruise has a good guide on this.
It's a great exercise and will require some investment of time from both parties. Yet for the mentor this could be mostly limited to a few synchronous meetings every months and some asynchronous exchanges. You might not want to this for money and that's entirely up to you.
Apprenticeships are a different approach but they probably work faster. This is akeen to the style of apprenticeship used in many crafts out there : a junior or total new comer joins a team and learn from the team members. Usually a specific mentor is attached to the apprentice from them to learn directly. Thoughbot has such a program and has published regularly on the topic.
- Episode 85 of the Tech lead journal podcast is a great one. Focused less on the technical side for once as the guest is actually more on the HR side of companies. Still, great insights shared and topics discussed.
- Episode 84 of the Tech Lead journal podcast is a good listen (or read) on the topics covered in this newsletter. Henry S. and his host talk about Tech consultancy, its meaning and how to help other level up their skills.
Finding T-Shaped engineers
We (Imfiny) have started a dedicated reverse job board for T-Shaped engineers as the profile is usually absent from most job boards. Focused on contractors but also open to in house roles it's free to sign up for candidates, companies will need to join for a fee to get access to the candidates' contact details.
This episode is coming to an end. I hope it gave you some more insights into the concept of "T-Shaped engineers" and possibly gave you some ideas on how to improve your professional profile one way or another.
If you want to talk about this topic or share some comments on it you can reach out to me (see at the top and bottom of the newsletter for details).
This content is written and published by Imfiny, a consulting company based in France. We do Ruby software engineering and devops in the Cloud (AWS, GCP and others) as well as training and supporting teams in their journeys to grow code, infrastructure and practices (production engineering, incident management, retrospectives, ...).
We are available for 3 to 18 months contracts, contact us.We have courses available on https://learn.imfiny.com/ .
Illustration Photo by Helena Lopes on Unsplash