Skip to main content

4 posts tagged with "collaboration"

View All Tags

Mentoring a new junior teammate from day 1 to

· 7 min read
Reda Jaifar
Lead Developer

author Photo by Ian Schneider

I always love my parents' job, I grew up in a family of two teachers, later my dad became a school principal. They were sharing every day their experiences, funny situations with students, and emotions. In addition to all this information about teaching, I retain one thing that I feel it

Teaching others is such a satisfying feeling, especially if you can observe their progression along the time

these concepts were carved in my subconscious mind since then. I remember in mid-high school I went to ask about a course in a private school, After introducing my self the principal proposed to me teaching Adobe Photoshop and web concepts, Without diving into the details of this journey, I do appreciate it.

Time passes and I find myself several times in the shoes of a teacher, the story I share in the next paragraph is quite different from teaching, but has many similarities I wanted to write down.

Mentoring someone, who decided?

In a company, this approach may be part of its culture, So the HR team once they hire a new joiner, they ask a senior who wants to play the role of mentor, certainly this is a voluntary decision and not a hierarchical one, as mentoring requires first of all the initiative and passion to do it. This is not a work task to complete, this is a mindset to share with love.

Regardless of having this culture or not, in many cases, a spontaneous relationship between a senior and a new team -member took place, mainly due to their personalities rapprochement. Then we begin to talk about mentoring as the senior introduces his new team-mate to other teams, lets him discover departments, work methods, and any knowledge that may help him be well integrated.

What should we have to succeed in a mentoring program?

In my opinion, we need to behave like coach and trainee, or like teacher and student. As a mentor, Having this passion for knowledge sharing, feeling so satisfied while seeing others growing up, Being generous when it comes to advising and guiding are all "must-have" values we believe in. Regarding skills, we need to be good in communication, the capacity of thought, and patience.

On the other side, the trainee needs some skills, or call them behaviors like being good listener, a hungry man who wants to enrich his knowledge by asking for details, but certainly without disturbing the mentor, Because this one is meanwhile an employee with tasks and missions to complete, So as a trainee we keep calm and patient when we don't have some information or answers immediately. For the trainee the mentoring should represent an opportunity to know more, have different points of view, but in any case should impact our analysis capabilities, and influence our decision-making, we have to protect our autonomous which is the most valuable goal we target.

Day 1

I've been delighted to welcome with my team our new colleague who has just graduated and he is today starting his first job as a software engineer. I took him for a short tour to discover the office, the facilities, and our beautiful kitchen corner where often we share coffee time. I think the first impression is very important the reason why my team and I gave it all our intention to make it at the same time funny and useful for our team-mate. We wanted to help him feel very comfortable. For today apart from receiving his laptop and tools no code or pull request.

Day 2

A short introduction to explain the project views, our work methods, and collaboration best practices we believe in within our entity. As a software engineer focusing on technical staff, I suggested putting our junior colleague in touch with our scrum master for the purpose to learn about agility, how we use SCRUM as a reference with all its rituals from daily stand up to sprint retrospective.

Now it's coffee time, a good moment to show him an important value within our company, generosity especially when it comes to knowledge, we believe that sharing is such a powerful value that helps all of up to grow up together and progress whatever our field of expertise. Although everyone has a clear and well-defined role within the team, being aware of what others are doing is crucial cope with any absence or unavailability.

Day 3

Our new colleague is very motivated and curious, his questions are dept and constructive, but unfortunately, I could not answer all of them immediately, I let him know that he can also email me and I'll answer him later once I finish a prioritized task. The lesson here is very simple, a question may be answered later but should never end up without any response. To avoid any confusion or lack of trust that may affect my relationship with my junior colleague.

Day 4

Collaboration over delegation is what happens when we have less time to explain or teach someone else how to complete a task or do a job, but this approach is too bad. As a mentor, I prefer to collaborate with trainees walking together side by side armed with passion and patience with one goal: helping him being autonomous instead of completing tasks for him quickly no matter how much time will take, training others is always a pleasure and a must-have for a mentor. A mentor should walk side by side with a trainee helping being autonomous instead of completing tasks for him quickly

A mentor should walk side by side with a trainee helping being autonomous instead of completing tasks for him quickly

Day 5

Are you a good listener? I was convinced as a mentor I need to listen a lot to my trainee, give him all the time to explain his point of view or vision even though I'm not okay with or I'm not sure he is not on the right way, keep calm and let him finish, I see many colleagues when a junior comes with a new idea, or an initiative, they quickly try to crop believing that is it a wast time, Unfortunately, this behavior may dramatically degrade a junior’s self-confidence and his motivation for future initiatives.

Next Day

The days go by one after the other and I’m getting so happy to see our team growing up and how our new junior colleague is taking over subjects and becoming autonomous, This trusted and honest relationship we built together is bringing what is expected to be. I do believe that mentoring someone else is nothing other than giving him the right and the necessary tools to dive alone with confidence into any subject. This friendly relationship helps us learn from each other, I do appreciate supporting my colleague during his first days within our team and in the company. His questions, exchanges, and remarks let me learn how to communicate and explain my ideas and point of view at a low level using simple and easy expressions to understand when talking to a debutant person or someone outside of my field of expertise.

It's been a constructive journey

Along the way, I learned a lot of things and values I would like to summarize below:

  • Stay humble when you talk to junior or debutant people.
  • There is always something to learn from others whatever their expertise level.
  • Share and publish your knowledge to help serve and improve yourself and others.
  • Gain respect and recognition

publish, share, exchange to help serve, shape and improve the world

A 2 months remote work experience

· 4 min read
Reda Jaifar
Lead Developer

author

March 2020 marked by many measures taken by the majority of countries in the five continents following covid-19. My company who already allowed their employees to work from home occasionally, Now they are obliged to continue working remotely for an undetermined time.

Despite many advantages remote work bring, there are some inconveniences to manage for good productivity and effective work.

Setup my home desk

As I'm working from home, I've never though about setting up any similar environment like the one at the office, I've just being lying on the couch the whole workday or sometime I change my position a trifle. Two weeks later I observed that my concentration and productivity is going down more and more, I tough having some tiredness, After exchanging with a colleague, He reveal its secret for keeping energy and effectiveness, I was surprised while hearing that setting up a similar work desk at home may highly help. I decided to take into consideration this point, Now I confirm how this changed my home working routine.

I'am 100% convinced that setting up a convenient desk at home can considerably help with commitment, concentration and effectiveness while working from home ☺️

We don't all have an isolated room!

Unfortunately living in Paris or any big city around the world has its disadvantage when it comes to spacious lodgement. For the parents with their children at home, for the friends sharing the same room, dealing with this limitation is a key point for relaxed home working without impacting our collaboration and performance. From my point of view, we can manage this issue by rotating our work hours and companies should tolerate this option letting parents working while their children are sleeping. Overall having a private room stay the best option for enhancing what has been mentioned about setting a home desk.

Effective communication

In the field of software engineering, Often discussing new technologies, good practice or some technical decision brainstorming may be held while we are sharing a coffee with team-mates in the cafeteria, or around a table in a meeting room, that means we have a face to face communication, In my case, I do love this way as it brings to me a smooth and flexible tools using my body language to explain and talk about a topic. Unfortunately while working from home this manner is no longer afford the same way we do at the office. But thanks to recent video-conference platforms we can continue relying on our communication habits taking into consideration some rules for en effective exchanging, follow the ones I’m using:

  • Turning my camera on during the meetings.
  • Wearing my usual clothes like in the office.
  • Using a virtual whiteboard instead of the real one to explain, share and design my ideas.
  • Turning my micro off when I'm not the speaker.
  • Summarizing your notes and sharing them with colleagues.
  • Video calls or chat over emails
  • Most important is to setup the rules with your team and colleagues to avoid disturbing each other.

Do not forget ourselves!

I noticed during the first weeks of my home working that I did not take rest and breaks regularly. So I used to schedule meeting right away, sometimes at lunch time, sometimes I chain them without any pause. Few time later I recognize a lack of concentration and it becomes very disturbing to see calls and meetings notification showing up. The conclusion is working remotely does not mean working continuously and do it so may substantially impact our physical and mental health, the reason why I decided to schedule my rest and breaks during the work day and stay away from work during these time slots.

While working from home, never forget to take rest and breaks during a workday as it protects us from health risks and mental disturbance.

So far so good

Being armed with the right tools and techniques helped me keeping a good mood with my team-mates, enhancing my productivity and enjoying my workday from home.

Wherever we are, let's do our job with love and passion.

A 4 weeks mob programming

· 3 min read
Reda Jaifar
Lead Developer

author

It's sound strange at first, difficult to manage, and certainly understanding the reasons behind and how can we take advantage of this practice introduced a couple of years ago.

Mob programming is an approach introduced to the agile world in the purpose of helping the teams establish a common development mindset, sharing the same principles to design and code.

A few months ago my team and I started a new project aiming at providing a digital platform for developers to help them accelerate their time to market. The platform offers a multiple
services such as creating web application scaffold, source code repositories, build pipeline with all high-quality stages like security check, team management and deployment environment.

Obviously the project size is enormous and requires a high quality architecture design, distributed systems best practices and synchronous coding styles so during the scoping and framing phases we decided to adopt the mob programming approach to share and communicate architecture decisions, lean our performances with the goal to promote our autonomy when it comes to developing user stories independently or separately.

our mob programming sessions are scheduled for the whole workday for 4 weeks consecutive, we team up in the same room having only one keyboard and one big screen. Each developer takes control of the keyboard and code for 10 minutes. I believe that respecting the mob programming rules is a key to success in this experience which is full of learning for developers but also for the quality of the product as we build together the skeleton.

I would like to share with you all the rules we followed during our sessions:

  • having a comfortable and spacious room with all the necessary tools like big screen and a mechanic keyboard
  • defining roles before each session, we've had the Driver who types in code and Navigator who discuss the idea and guide the Driver.
  • respecting timing is a key, it's better to hand the keyboard over with a broken test than overtaking.
  • we've been driven by basic user stories at the beginning in order to focus on technical architecture.
  • we discuss, debate and argue our ideas when we think they are right, no one or idea should be discarded.
  • Believing that there no strict model or perfect one to follow, a retrospective is held weekly to evaluate our mob programming enrollment.

Before experiencing the mob programming I was asking my self how can will be productive by letting 8 developers to work on the same thing for weeks, I confess how was am I surprised by what we were able to deliver, a full feature bringing a real added value to our customers. If you ask me for the secret the only answer I have is we were doing the work the most perfect way it could, avoiding broking the build, hard merges, and enduring exchanges by emails or pull requests to agree on a design, interoperability, components communication, and best practice adoption. In addition discussing ideas and approaches helped us a lot to select the best ones.

During these sessions, we build a wonderful team spirit, communication protocols, and a homogeneous mindset. without omitting the impact on our motivation and commitment. I was really happy with this journey and the results harvested at the end.

I highly recommend giving this approach a try even though for a short time, I consider practicing is the best way to understand, evaluate and conclude if it could bring the right expectations for your team.

A 5 years journey of software engineering

· 4 min read
Reda Jaifar
Lead Developer

author

Just another story of a software developer that has been started 5 years ago officially by getting my first job within the 3D Modeling Software leader provider worldwide as a junior software developer with a lot of passion and energy to write lines of code and make an impact but for sure at this stage, I can't see it because it wasn't about creating my mobile application that millions of people around the world are using or my web application with many active users a day, but a few years later it is and the product I worked on is making a great success and despite my modest contribution I do proud of this work no matter I left the company looking forward new challenges in a completely different sector.

Meanwhile, I was working with a group of friends on a platform, dreaming of reinventing the food making and delivery, we started developing "otchi" a web and mobile application for sharing meals and creating recipes but 7 months later we give on the project up and decided to stop investing our free time on this wonderful project, I confess this failure was very disappointing but I told my self "Hey! how can you ignore all the stuff you learned, it's just another try why not to repeat". late 2017 I joined a medical equipment manufacturer to develop software that runs on these different machines from Scanners to MRI and you can imagine that excitation I'm experiencing to start such mission with this sentence in my head

I'm going to develop software that runs on medical equipment helping in saving lives and bring smiles to those who are suffering from some diseases.

During this experience, I learned a lot about software development, first time to use the agile methods "SCRUM", go on production quickly and communicating with users directly, their feedbacks and comments were useful, I realized that a software developer should never be like staying at the corner of your open space implementing user stories, and whether you are developer, tester or product owner this human interaction is mandatory to well understand the needs and bring the right added value instead of delivering features.

Yes! I'm leaving this job, this company, this role, I'm leaving my manager because even within the best technical environment a developer can work in and enjoy his collaboration we cannot avoid the conflicts when it reaches a closed door. This time the lesson is simple as "human first and I'm leaving for the interest of everybody not to run away from the confrontation"

I do appreciate all the conflict discussions I've had with my manager because we debated ideas and visions, not personas and behaviors.

Hopefully, a few months ago from writing these lines, I landed in the right place I was always looking for, Here we believe that culture and values are very important and working with people with who share the same insights and attitudes is not just titles that we put on company's website but that is part of everybody's mindset.

Here at my current job, we develop MVPs and squads are completely autonomous for their stack and architecture choices meanwhile we all teams within this happy community are using agile methods convinced that these methods not only increases productivity but also facilitates project management, improves the quality of work and makes flexible change possible.

It was about sharing my career path until now in a short story, I do like to call it a journey with the faith that our job is part of our overall life, not an only professional one, this is why I'll always trying to do it with passion , and surrounded with analogous and complementary people.

#learning is a never-ending story