background

February 13, 2024

A teacher is not a lead developer (and vice versa)

Yireo Blog Post

Aka: Why does a teacher not need to have the experience of a lead developer? I write this, while being biased and running the risk of being too offensive. But I have been blamed for not having practical knowledge so often that I find myself defending this: A teacher is not a lead developer and a lead developer is not a teacher.

My line of business (aka: giving training) is the cause of this

I have been training developers for years now - in different systems and applications, but for most of the time with a focus on Magento (and Shopware). And I've become quite good at it: Newcomers are taught the essentials of development, juniors are grown to become mediors by getting tricks from me. And seniors polish their existing knowledge.

That last part is interesting, because that's where the hassle starts: I have trained many senior developers and received from them the feedback that thanks to my training, they have learned new ways. Many of those senior developers are actually lead developers.

I must be doing something good.

The problem: Our senior developers already know everything

The problem lies in this: Frequently, I encounter agencies (agency owners, lead developers, managers, etc) that respond to my questions "Would you be interested in training?" with a straight answer "No, we don't need training". Not needing training is fine. If I go to the supermarket to get groceries and I get home, I don't need to get groceries twice (unless I forget something).

The problem is the reasoning. Often, I hear the answer "No, we don't need training" from senior developers, but then hear from others about their work actually lacking: Not being aware of coding standards, not being up-to-date on new technologies, not properly thinking about better or best practices, not having tests. The fact that you are lacking is ok, we can't be good at everything. However, stating bluntly that you don't need any additional learning is dangerous.

To put it differently: I consider myself a senior developer. However, I also know that I have so much more to learn - my want-to-read list is huge, my Imposter Syndrom is huge, my eagerness to learn new stuff is therefore in constant battle with other parts of my life (family, work, health). And I look up to senior developers that experience the same. The more you know, the less you know.

Up to the moment that I would almost say that a senior developer, you must and should be in a constant mode of learning.

"If you think you know everything; you know nothing"

"If you think you know everything; you know nothing" - a quote from Jayce O'Neal - I don't know him and after having researched him for 5 minutes on the web, I still don't know him. So let's go for another quote from Plato - "I know that I know nothing". I'm going to buy a tile (tegeltje) with this one.

The point is clear: If you are saying that you know everything - especially with Magento - it is either that you are overlooking parts of Magento, or that you're lying, or that you're just being ignorant, or stupid. Ok, ok, this sounds a bit too harsh. But it is simply not a very good sign for an agency to have senior developers that know everything - it either means that they're bored to death and about to walk away, or that the statement is dead-wrong.

The sales perspective

It could also be that this is simply not something that the senior developers themselves are saying, but some manager or sales representative. If you would point out to anybody that your senior developers are lacking in knowledge, this would affect your position in the market, right? Perhaps. And every time I get this answer, I try to take in this argument as well. However, I'm not a client, I'm not trying to sell you anything else than knowledge enhancement which helps you to get a better position in the market after all.

So if this argument is put down because of a positive-image strategy, then you're selling to the wrong person. It is my job to lift senior developers up to an even higher level. But we can't work together if the door is shut to begin with.

Nuff said.

A teacher lacks the experience

If we close down the argument "Our devs don't need training", there is another argument that comes pretty close: "A teacher lacks the field experience". There lies a truth in this: If you are a developer and you're working on projects within an agency, the practical knowledge of how to run that project lies with the agency itself - there is a culture, a way of dealing with things, practical tips and tricks within that project. Any external person would be fitting less than simply your collegea. You need to learn from your peers.

But if a developer is looking for a SCRUM training, does that teacher need to be a developer working with SCRUM? No, a developer its focus is to develop and SCRUM is just a toolbox to do so. A SCRUM teacher is assigned the task to transfer the knowledge on SCRUM as efficient as possible so that the developer is able to go back to developing things.

Back to school, does your math teacher need to be a mathematical theorist? No, a math teacher needs to be good at transferring knowledge to the students, to explain things (unless we're talking about math at Harvard). At children daycare, a teacher doesn't need to be a mom or dad to take care of the children.

A teacher needs to be good at transferring knowledge

So, a teacher its job is not to develop code, but to transfer knowledge on developing code to developers. That's a huge difference. Obviously, the teacher needs to have a fair understanding of the technology at hand. If the techer his/her own knowledge is lacking, then the transfer of knowledge is going to be flawed. But being up-to-date on the knowledge is something very different from being constantly involved in projects to put that knowledge in practice.

A teacher does not need to be a lead developer. Perhaps some teachers can be lead developer as well. I can't. I have to admit that if I would be facing developers every day with all kinds of issues and problems, it would get to my nerve. At the same moment, lead developers can be good teachers as well - but it might be that they're getting tired of explaining the same thing over and over again. Well, that's what I try to perfect in my career as a teacher.

The wrong reasons for not wanting a training

To me, the statement that a trainer is not a lead developer and therefore not experienced enough in the field to actually provide a good training, is flawed. It overlooks the entire fact that education is a different thing than development. To me, when somebody comes up to me with this statement, I get the feeling that the actual statement reads something like "I believe that you're not good enough because you're just a teacher" aka "I'm better than you".

The interesting thing there is that it almost seems as if there is a fear that somebody else is better than you. A good senior developer knows it for a fact that others are better - hence he/she is trying to learn as much as possible to keep up-to-date. A bad senior developer senses as well that others are better - but instead of adapting to this, he/she feels threatened. And the simplest response to this threat is to ignore it: There is no threat, no one is better than me.

This is where not having training leads to stubborness and to legacy.

A good reason to say no to training

If you have stayed with me this long, I think it is fair to say that there might be very good reasons not to do training. Here's a couple: "There is no training budget because we already have had many trainings". Can't fight that, it's your money.

Another one: "We have assigned one employee to be our internal trainer". This is a good strategy, especially if the agency grows in size. Still, one person can't know everything. Perhaps developers are learning from each other during pizza sessions. I can't be more enthousiastic when an agency creates its own learning circle. That being said, it's a circle - so bringing in external knowledge might be healthy at times.

Last one: "We use video training instead of live training". Well, what a coincidence, Yireo has over 100 hours of video material, so we can definitely help each other out :) On the other hand, some people can indeed learn from watching videos and then playing with the code. Other people, however, are better off by learning in groups - and that's where live training is a benefit.

Conclusion

There are good reasons to not to do training (or hire an external trainer). And there are bad reasons: If all developers in an agency are the best developers in the world, you either need to tell me so I start soliciting, or something else is at play.

Posted on February 13, 2024

About the author

Author Jisse Reitsma

Jisse Reitsma is the founder of Yireo, extension developer, developer trainer and 3x Magento Master. His passion is for technology and open source. And he loves talking as well.

Sponsor Yireo

Looking for a training in-house?

Let's get to it!

We schrijven niet te commerciële dingen, we richten ons op de technologie (waar we dol op zijn) en we komen regelmatig met innovatieve oplossingen. Via onze nieuwsbrief kun je op de hoogte blijven van al deze coolness. Inschrijven kost maar een paar seconden.

Do not miss out on what we say

This will be the most interesting spam you have ever read

We schrijven niet te commerciële dingen, we richten ons op de technologie (waar we dol op zijn) en we komen regelmatig met innovatieve oplossingen. Via onze nieuwsbrief kun je op de hoogte blijven van al deze coolness. Inschrijven kost maar een paar seconden.