Planet Odoo

How to Onboard New Devs - Part 2

June 04, 2024 Odoo Season 2 Episode 19
How to Onboard New Devs - Part 2
Planet Odoo
More Info
Planet Odoo
How to Onboard New Devs - Part 2 <Odoo Unplugged>
Jun 04, 2024 Season 2 Episode 19
Odoo

Today's episode is a special one. We're excited to share the re-broadcast of the fifth session of our Twitch series, Odoo Unplugged.

Join us as we delve into a captivating topic: How to Onboard New Developers. Olivier engages in a discussion with some of our most talented R&D professionals here at Odoo! Together, they discuss how Odoo onboard its new developers.

READY? LET'S GO!

Don't miss next week's episode for the Q&A part. If you'd like to participate in our next live Twitch session, remember to follow us there: https://www.twitch.tv/odoo.

______________________________________________________

Don’t forget to support us by clicking the subscribe button, leaving a review, and sharing your favorite episode!

- See Odoo in action by trying it here.
- Watch the full video of this episode here.

Concept and realization: Ludvig Auvens, Arthur Cariat
Recording and mixing: Lèna Noiset, Judith Moriset, Régis André
Host: Olivier Colson

Show Notes Transcript

Today's episode is a special one. We're excited to share the re-broadcast of the fifth session of our Twitch series, Odoo Unplugged.

Join us as we delve into a captivating topic: How to Onboard New Developers. Olivier engages in a discussion with some of our most talented R&D professionals here at Odoo! Together, they discuss how Odoo onboard its new developers.

READY? LET'S GO!

Don't miss next week's episode for the Q&A part. If you'd like to participate in our next live Twitch session, remember to follow us there: https://www.twitch.tv/odoo.

______________________________________________________

Don’t forget to support us by clicking the subscribe button, leaving a review, and sharing your favorite episode!

- See Odoo in action by trying it here.
- Watch the full video of this episode here.

Concept and realization: Ludvig Auvens, Arthur Cariat
Recording and mixing: Lèna Noiset, Judith Moriset, Régis André
Host: Olivier Colson

MAIRA:

So in the beginning, I think the the something in the view or the message in a banner or implementing a new banner. That's something that, with the training, we already quite know how to do quite well. But it's good to start with those because then I could understand, for example, the pipeline. Like how do things change? When do I have to wait for a review? What do I need to change something?

MAXIMILIEN:

Most of the time, with new tasks, uh, reviews are mostly nitpicking or on how the indentation must be. But it's good because it's it's like it's putting them.

OLIVIER:

In the right direction and not they will do something that is not okay, and just ask them to rewrite everything. And so I think you learn things more step by step like that, which is way less frustrating because there is nothing worse than having a review of 100 commentaries where the guy asks you to change everything. Hi, everyone, and welcome to this new episode of Planet Odoo. Today we share with you the second part of the discussion we had on Twitch. If you didn't listen to last week's episode, I highly recommend you do first. And if you already did, stay with us because we'll jump into the conversation right now. Ready? Let's go. Welcome back for the next steps of your onboarding. Why not? Uh, so we were just discussing about, uh, well, developers choosing their, their, the teams they would like to, to go into. So then we pick one, uh, hopefully the one they preferred, uh. Then what happens? So they entered the team. And now that's the part you take care of.

MAXIMILIEN:

That's the part of the onboarding in So you have to know that it's in each team. It will be different. So some teams have an onboarding and some don't. Um, I know that some team has like fake, uh, fake task or fake ticket to do and like, uh, to really learn about the process and train yourself. Yeah. To train. Of course. Uh, here in accounting, it's, uh, it's a bit different. Uh, so we have an onboarding that lasts more or less six months. Uh, it will really depend on the people. Some people, uh, like, are totally autonomous after three months. And so we let them fly with their own wings because for us, it's good. Uh, so it really depends on the people and, uh, and, uh, and the task they are doing and everything. Um, but we have tasks that, uh, we. So in the process of the task we have, I don't know if you already mentioned in maybe in other episode how it works. Uh, but it works kind of with a project app. Uh, that's kind of a Trello, if you know the application.

OLIVIER:

Yeah. So it's it's scrum, agile

MAXIMILIEN:

Uh, and so there is different columns all the, the, the tasks that are ready to, to be developed, uh, and so on those tasks, we put a tag that is newbie, uh, and that's for, uh, for example, tasks that are more simple, uh, and that will, uh, give the developer an insight of, uh, how the code works. Um, usually it will be like, for example, uh, changing something in the view or changing something like in the, in the logic of, of a, of a functionality or some stuff like that. Um, it's uh, really to learn about the code and how it works. Um, and so all the newbies will start with that for the, I think, first month, first two months, they will start with newbie task. Um, and when I think they're ready, uh, they can go to more difficult tasks or normal tasks. I would say, uh, I think it's.

OLIVIER:

Interesting because they start with a And what they do. So it's not just exercises. No, uh, anymore. Uh, it's real stuff, for example. Tasks. Uh, more simple, of course. But, hey, uh, you don't want to put them on some big refactoring that will imply them to rewrite everything after after a few weeks. Uh, uh, it's not good for them. No.

MAXIMILIEN:

And we had the case before the people, uh, did a lot of, uh, big task after like 4 or 5 months of, uh, like being in the team. And it's not okay to do that, uh, because they're not ready. Um, so we really tried with the onboarding process to improve, uh, because accounting team became a really huge, uh, team in a few months. Uh, it like, nearly doubled the number of people in the team. So.

OLIVIER:

Yeah, I remember approximately when Suddenly we doubled the team. Uh, and that was. Very challenging and very scary for us because we were like, you know. Discovering suddenly you have a lot of new newbies coming and suddenly you have more responsibilities. You have people to follow. You try to do your job, your usual job, former job, I should say next to next to it. And then and then it has to work. So eventually it worked really well. But I think indeed it's good that we have a more strict process, and that's the reason why we put that in place. Uh, actually, maybe to go back on the kind of tasks we give to newbies. Do you have a examples of tasks that you you got like that and that you implemented in the last month? Yeah.

MAIRA:

So in the beginning, I think the, the something in the view or the message in a banner or implementing a new banner. That's something that with the training we already quite know how to do quite well. But it's good to start with those because then I could understand, for example, the pipeline. Like how do things change? When do I have to wait for review, what to do if I need to change something like.

OLIVIER:

Sure, because that's something we but just the process around the code review. And then you ask a review, you, you, you wait for someone to do it and all that is also something you need to learn. Yeah.

MAIRA:

What if I what do I do if I need to Like who do I talk to? Who do I wait for feedback? These kind of things. Having a simple task is good because you can understand the process around it. Um, and then yeah, progressively it gets a bit harder with time, like a localization, which is it's not necessarily hard programming, it's just hard understanding. Um, it's.

MAXIMILIEN:

A lot of accounting, new concepts. So exactly.

OLIVIER:

Yeah. So and, and it's interesting localization, at least the things we give to newbies are often about like basic concepts or basic concepts that there are a lot of them, and you need to understand how they interact. So it's anyway paramount that you get them at some point in your career in the accounting team. Uh, and so that's, I think, a good way to discover it because, yeah, indeed, you're just using it. Uh, so you need it, you learn it, which has like always been like the motto for, for, for, for for R&D, even if we, we work like the old way, even at the very, very, very beginning, when they were before I entered Odoo in ancient times, uh, where there were only a few people in the company, you know, they had to learn on the spot how to do the thing. And we it's good. I think it's interesting that we kept this way of working, but just make sure that they learn on the spot on something that they that will not make them crazy, I don't know, lose their mind. Uh uh. So yeah.

MAXIMILIEN:

Yeah. Because when I joined the team onboarding process and it was really difficult, uh, even, uh, for, for me, uh, because when I took a task, it was the first time that I'd done it. This was a big localization for, uh, Croatia, for example. Um, and hopefully I was, um, I was able to do it, but it was really difficult at first. Um, and I had a friend in the team, so it was, uh, Ruben, uh, and he helped me a lot with the, with the task. But if I didn't had him, it would like it would be even more difficult. Um, so I think it's really important that now that we, uh, we are a lot, uh, we have this onboarding process, and.

EMY:

Uh, I had a question for you, but, uh, to onboard new people? Because you are really new in the company as well.

MAXIMILIEN:

So, uh, so first, uh, it was, uh, process. Uh, it's really him that, uh, talked to contain and try to make it, uh, more official. Instructor. Um, but at the time he had like eight newbies at the same time. And so it was impossible to follow. Um, and, uh, I talked to Ruben at the time saying I'm interested in doing it, uh, because I wanted to have more responsibility. And I was interested in, uh, managing people and everything. Um, because that's something that I like. Uh, and so I proposed myself and content proposed to me after that. And so I accepted directly and. Yeah, I think it's been 6 or 8 months that I've been doing it, so it's going fine from the feedback that I have.

OLIVIER:

It's going fine. It's, it's.

EMY:

It's a really nice story. This is you can evolve very quickly if you want to. It's amazing. I mean, after a few months you can onboard people, do some people management if you want to. It's possible that's that's crazy, but it's really good for you. I mean, it's, uh. Yeah, I'm learning a.

MAXIMILIEN:

Lot of stuff and I'm, I'm doing, for and I'm learning a lot. So I really like it. Nice.

OLIVIER:

Yeah. And I think it's, it's, it's the Uh, because, as you say, why not? Yeah, exactly. If it works, if the guy is good, why would he. Why not what? Why?

EMY:

Waiting five.

OLIVIER:

Years. So. Indeed. Um. Um. Yeah, I would say just the, the, the follow up of the newbie. So like that's something we do in accounting as you mentioned it. Uh, it's it's not like that in every team. Do we have information of what the other teams are doing? Because we have a lot of people of accounting here.

MAXIMILIEN:

Not really. Uh.

EMY:

ost of them now have an onboarding in than before. So it's it's important. I know that we still have some really small teams. I think they still work like when you started at Odoo like you, you learn from scratch and you ask questions to the few people around you. But when you are in a team of more than 15 people.

OLIVIER:

Yeah. And I think it's important to for that because accounting is like 35, 40 people now. Yeah. It's more it's.

MAXIMILIEN:

40 people now.

OLIVIER:

Yeah. That's huge. Uh, and of course it's not the same in, in, in every other team. And it's like that in accounting because, because we have a lot of different apps that we need to take care of localizations and so on. And we didn't split the team, which is usually what we do to keep smaller teams and have like more local management each time, just because we feel like if we do that, it will also split the knowledge, and if it splits the knowledge, we will do less good work. That's just it. Uh, so indeed, uh, if you're in a smaller team, I think it's less necessary to do, uh, what what we do, which is very structured because just. Yeah, uh, there were two people, there were too many people. And we felt like, uh, just before doing that, we decided to do that because we felt like we were, like, losing a bit of control. And that was, no, that's not okay. You want to know and to be able to follow people properly because, yeah, in the end, if something fails for one of them and if you end up firing someone, it might be just your fault because you were not able to onboard this person properly. And so you don't want that you want to give the full chance to everyone, and it's scary for newcomers.

MAXIMILIEN:

Uh, like coming in a team with 40 Sure. Uh, you don't know. You don't know anyone. Uh, you have to ask questions to unknown people. And so having the coach, uh, it's really helpful for that. Yeah.

OLIVIER:

Do you know everyone's name?

MAIRA:

No. Not yet. Not yet. That's a tricky question. A lot of people.

EMY:

And it's also about the experience we try to give the best recruitment experience for the candidate. But it's also important that the experience when you start in the company, uh, is very good as well. And the first few weeks are really, really important because they will give you the first idea that you have about how it is to work at Odoo.

OLIVIER:

So I think it's also something that, that is indeed the autonomy that each team has because the fact that the guru like is responsible of basically everything that happens in his team and what kind of process they follow, as long as well the job is done. Um, it's very important as well, because that's part of this freedom and this very comfortable, uh, side, because if the guru is really comfortable with his way of working within his team, he's going to be, I think, more friendly with the team. The, the every relationship they will have will be more will be easier, uh, actually, and more comfortable for everyone at the end. And, uh, and so having that flexibility is, is important, uh, as well, I think. Um, so we have a few questions in the chat. Let's just ask them now. Uh, I think I feel like it's, it's the right time just before moving on to the, to the, to the next step. Um, so. Okay. Let's go about let's go with this one. Uh, it's a bit off. So we will answer it in a very specific way. But I think it's interesting because we can emphasize a bit of the process with it. Um, so it's there. Haha. Is there a method adopted by Odoo developers to make customization code framework agnostic as in clean architecture methodology? So that's for you guys.

SPEAKER5:

Let's, let's, yeah, I'm sorry.

OLIVIER:

That's too much information. That's But uh, let's let's take the meaning of it actually, uh, um, how do we make sure that we don't screw up, uh, when, when writing code and we ensure that customization is easy, that the architecture is clean, and that we have, like, something that is. Not only maintainable, but that is efficient because I think that is also important. And that is like coming back to this thing of having tasks for newbies. It's also in the same idea. So we don't have like, uh, and I think, you know, it's like you can feel it from everything we said before, but we don't have like a fixed methodology, a list of bullet points to follow for everything. An algorithm that each of us follows to, to validate something. That's that's not an Odoo thing. Um, though, uh, we have so the code review, as we mentioned, and it is something we take a lot of care of. And that's why it's important to, to have like the, the newbies task split or at least reviewed very thoroughly by, uh, by more experienced people. Um, we have that review mechanism. So and the goal of the review is really to ensure that the code is clean. So it's not only oh, it's working, it's, it's clean, needs to be clean, and it's doing what we want it to to do. And the customization part and the ability to plug things, uh, everywhere around it, uh, in Odoo is like the most important thing because it's Odoo is. All about that actually are modules that you install together and that will add features on top of each other. So of course, there are sometimes things that we need to arrange a little bit. And, sometimes we screw up, like in every company. But that's the way we, we ensure it. So no strict methodology, but that's something we have in mind all the time. And so the review was the gurus are like pushing for that. Yeah, all the time. And I think you all had reviews where, where, where one of us was like, ah, okay, that's working, but don't do it.

MAXIMILIEN:

Most of the time with newbies task. Uh, because it's simple in logic, uh, the reviews are, uh, mostly nitpicking or on how the indentation must be, but it's good because it's it's like.

OLIVIER:

Putting them, like slowly in the right It's putting them in the right direction. Yeah. Uh, and not directly giving them something where they will do something that is not okay and just ask them to rewrite everything. And so I think you learn things more step by step like that, which is way less frustrating because there is nothing worse than having a review of 100 commentaries, uh, where the guy asked you to change everything. It still happens sometimes, but frankly, I can say that the reviewer feels a bit bad about that because you like. I wouldn't have liked to receive a review like that. So you try to be kind and so on, but you need to do it. Uh, that's the job. So, um, that's that's basically it. Yeah, yeah.

MAIRA:

But I got to say, like about the maybe even more with the comments in the reviews as when I'm, you know, just digging into the code and trying to understand and trying to implement something because I feel like all the comments I'm getting now from the review are things I'm going to use in every single PR in the future, uh, like indentation or making things, um, just less complicated sometimes. So this process is really learning still the the reviews.

OLIVIER:

Mhm. Mhm. Sure. Um maybe let's take the next question. Um. Let's take this one. Uh, is the internal onboarding process publicly published? Uh, can you share links, please? Uh, so. About the two weeks training at the beginning. Is that public?

MAXIMILIEN:

Uh, I think the training is actually.

EMY:

The whole documentation, all the functional one, but technical ones as well. Everything is, is, is in the documentation of Odoo and is open to everyone, of course.

OLIVIER:

So that's great. Uh, and of course, the certification. Well, yeah, you can pass it on your side as well if you want. Uh, yeah. That's, that's that's the original goal of the certification. Okay. And about the technical thing, then it's there, it's more complicated. So again, the technical training from, from the very beginning, I guess it's the same. It's in the it's in the documentation, yeah. Yeah, yeah. Uh uh, but all the things that are more specific to the team. So as we say, as we said, there is no specific program to follow and it depends on the team. And so that is it's not only that it's not it's not just that it's not public, it's just that there is nothing really written. It's just a way of working. And so it will depend on work on actual tasks. So this, this of course, uh, uh, take your own, uh, so, um, so that was for the for the questions. Um. Okay, so maybe now. So that's the full process. I will discuss pretty much every step. Is there any way you can assess it? So that's a question for you. Now that's your part. How do you assess whether this works well? Is there any way to get how do you get feedback on that I suppose you follow the the well I was going to say candidates, but they're not candidates anymore.

EMY:

The new employee.

OLIVIER:

Yeah. Thank you. Uh, between every Yeah.

EMY:

So, of course, um, having feedback is you, Odoo is not perfect. We're not doing a perfect job. So, um, actually, um, someone from the recruitment team is doing a follow-up. After four months in the company. For each new employee, we take the time to understand how was their first experience at Odoo, how they experienced the onboarding process, and functional technical ones. What was good was maybe to improve. Um, then after that, we have another follow-up. But after eight months and it's done by, um, someone from the payroll team, so they have another kind of contact with an HR person. Um, and it's really, really important for us, um, because we have improved a lot of stuff thanks to that feedback.

OLIVIER:

What questions do you ask in these?

EMY:

Um, how was your first day at Odoo? Um, um, what do you think about the onboarding process? Is it relevant or not for your job? Um, how was the welcome on your team? Uh, do you feel support enough? Uh, can can you ask your questions to someone? Um, what do you think about the location of the office? Is it okay for you to commute to the office and so on? So it's very wide, actually. We ask a lot of types of questions. It's more like an informal discussion that you would have with a friend starting in a new company, basically.

OLIVIER:

So you're not asking questions one You have your checklist, and you just just like I've been doing since the beginning of this, uh, this episode, actually. Right.

EMY:

Yeah. Yeah. No. And, and actually, we are, uh, under the professional secret. So what the person will tell us is really secret. Of course, we can take action if we believe that it's important because there are, I don't know, some problems in the management, for example, or the person is feeling very bad in the team. But we will always ask the person before doing anything.

OLIVIER:

Sure. And anyway, I guess you never what Maximilien told me that you were.

EMY:

No, no.

OLIVIER:

And yeah, that's that's just

EMY:

Yeah. Yeah, exactly. Yeah.

OLIVIER:

Um, but.

MAXIMILIEN:

We have that kind of process, uh, in it's every like in four, four months after they joined. But in the team, we have a discussion every two weeks. Uh, it can be one week, every week, if we think it's relevant. And I always ask my newbie if we think it's relevant to have a meeting every week. Um, but in that kind of meeting, we talk about stuff related, but also non-work related stuff. Um, and I always ask them, uh, how is it going in the team, how they feel. Um, is there any frustration, uh, that is building?

OLIVIER:

Which again is very important because cannot have your eye on everyone all the time. It's just not possible. We're not even all sitting in the same office. No. Uh, so it's just impossible. Physically impossible. Um, and plus, I think it also prepares them for, uh, uh, what is next because we actually do that with nonnewbies as well. Uh, and it's also a way of following the task and making sure that nothing is really blocking and that no one gets stuck for four weeks without really daring to talk about it, or that something is not being done that goes in a completely wrong direction. And we find we find out about it two months later when it's finished. So this way, we can be more, more reactive, and yeah, it's just. Also for the for the, for the gurus of the team, just keeping in mind what is going on within the team, because just that is is a challenge, uh, per se. Uh uh, so indeed, uh, it's it's very important to do that.

EMY:

Um, it's important to do both because maybe more sensitive stuff, of course, maybe something they will not tell you directly, so.

OLIVIER:

And or say something about you.

EMY:

Uh, you never know. Maybe it can Yeah. Not. But not not, but, uh. Don't worry. So. Yeah.

OLIVIER:

Uh, and indeed, uh, I think indeed uh, the, the, the technical meetings like that, there might be also things that are like more, you know, things that are not serious enough to be, to be said in front of a, of a, of an air. But uh, that you would like the, the, the, the guy to be, to be aware of or that is really technical and purely, you know, something that you need to program to understand what the problem is with that. And so, yeah, you need both uh, essentially, um. Okay. And so when the feedback is really coming often like like recurring. Yeah. Then you take action, I guess. Uh, and so I know if, if, if a lot of people complain about I don't know if it happened, I hope not. Uh, about some, some, some some guru. Uh, that would make, I don't know, uh, weird weird jokes or racist stuff. Whatever. Uh, then you could, uh, you could just come to the guy and be like, okay, guy. Uh, dude, that's not okay. Uh, and that's part of it as well.

EMY:

Yes, exactly. We we take actions, uh, positive, and, um. Yeah, but to be honest, we don't have that much cases of, like, bad management as well. It happens in the past, but it's I have another example to give you something quite simple, but that had an impact. So as I told you, we have, um, new people starting and every first Monday of each month and, uh, we believe that it was really nice to start the first day of Odoo experience. And we thought, oh, it's really nice you are inside the Odoo experience. So it's the big event that we have during one week. You are in the Odoo spirit and so on. And we had the feedback like it was super stressful for people. They don't know anything about Odoo, they don't know anyone. They were completely lost. So now that we had this feedback, the the new people starting in October will start just right after Odoo experience, but they will be invited to join, but they will not start officially at Odoo experience.

OLIVIER:

Yeah, that's I.

EMY:

Think it's and that's also like that's we can do something wrong. We thought it was really good in our opinion, but then we just do differently and it's okay. We just failed and we do something else now. So, uh.

OLIVIER:

Indeed, because, uh, Odoo experience And, and typically I think there is difference if you, if you tell a guy, you can come if you want or you have to come and it's part of your job, because if he has to come in, it's part of his job. It comes. It has nothing to do. It doesn't know. Of course. He's just his new, uh. And and he could feel bad just because of that, actually, uh, plus the fact that indeed, uh, no one has time to take to to take care of him, actually. And you cannot just tell him when he just enter or go talk with partners or whatever. No, because he doesn't know he he's no experience with that. And and you need to get used to that community. Community, uh, sphere around, uh, around Odoo. Because I think it's not like that at all with every company and all the partners, all that it's it's very specific.

EMY:

And it was so obvious for us that it had the feedback like, like 15 times, like from all single person that started, we were like, oh my God, we were really wrong, actually.

OLIVIER:

But I think. It's a good example been in a company like that, I think it's true everywhere, uh, for long enough, uh, there are things that will just seem normal. Uh, and it's fine. Uh, the thing is that people, newcomers might not feel them. Uh, it might not feel like that for them. Uh, and and indeed, it's good you have, you know, this this, uh, how do you say, um, this, this, this way of of questioning your own choices and, and indeed to have the ability to have feedback on that because you could realize that indeed, you were doing something a bit, maybe not wrong, but there was not taken the way you thought it would be taken. Uh, okay. Uh, and that being said, uh, we are reaching the end of the episode. Would you have or. Would you have that that was that. Was very. Spontaneous. Uh, would you have, like, maybe a. Final word, something you, you you feel like we didn't share about, uh, about the onboarding or or your own experience, maybe. Or did we cover everything perfectly? That would be nice.

EMY:

Um, no. Maybe we are always open to new ideas. So if you do something different in your company, I would be super happy to have, like, ideas for improvement.

OLIVIER:

Yeah, yeah.

EMY:

You can. You have my name so you can

OLIVIER:

All right. So, um, nothing to add. Nothing to add.

MAIRA:

And I can just say that for me, it was structured onboarding. Like I'm a person that likes a bit of a structure. So even within Odoo where things are very flexible and, you know, you can always talk about something and change, having the onboarding in place just makes me so much more confident in my work, you know, more relaxed also. So I'm pretty satisfied. Nice.

OLIVIER:

Works you during the follow-up. All right. Well, thank you all for your answers, for your insights. I think it was super interesting to have all those, those anecdotes and come back on the decisions we made. Uh, uh, thanks to the audience, uh, of course. Feel free to come back for the next episode. Of course. And see you then.

EMY:

Thank you. Olivier. See you. Bye.

MAIRA:

Thank you. Bye.

OLIVIER:

And that's a wrap for today's episode. I hope you enjoyed it as much as I did. If so, don't hesitate to join us on Twitch next time. Having you on the live to interact with us would be awesome! The video of our discussion is also available on YouTube, so it would be nice if you could go there and hit the like button. And if you want to stay with us longer, we have dozens of other podcast episodes available. Until next time. Cheers!