How to Run Meetings Effectively as a Software Engineer | by Noran Azmy | Feb, 2022

The leadership skill that is crucial to getting to the more senior levels of the job ladder

Noran Azmy
Photo by Campaign Creators on Unsplash

One of the most important skills you need to develop on your path to becoming a senior software engineer, or, eventually, a people manager, is the skill of running smooth and productive meetings.

In my personal opinion, a good meeting:

  1. Has a clear purpose — whether that’s discussing the latest project updates, or resolving a specific list of open questions.
  2. Is necessary — ie the topic at hand warrants a face-to-face discussion, rather than an email thread or chat room.
  3. Includes the right people.
  4. Stays on point and makes good use of time.
  5. Ends with clear conclusions and action items.

Here are my best tips for running good meetings.

Depending on your workplace, you may be expected to run an engineering project meeting if you are the lead engineer on that project. This is certainly the case in the places where I’ve worked. If you’re unsure, speak to your manager and understand whether or not you’re expected to be running the meeting.

If this is your meeting, own it. Running engineering project meetings can be intimidating, because they often involve participants across different disciplines, from engineering to the UX team, to product owners. It’s also not uncommon for managers, including your direct manager, to be regular attendee in those meetings.

Regardless of who the participants are, don’t be afraid to take ownership. Running a meeting isn’t about superiority, or even seniority. By taking the lead, you’re not offending anyone, but rather facilitating the conversation. You are making sure the discussion is fruitful, and ends with everyone on the same page.

As the owner of the meeting, it’s your responsibility to decide if it is necessary in the first place.

This is especially true for recurring meetings. If you run a meeting that happens, say, every week, then take the time beforehand to assess whether there is enough to discuss for the current week, or whether you should cancel. Reach out to other participants via chat or email and see what they think.

“Hi everyone, do we have anything to discuss this Tuesday? On my side, I’m still working on [such and such], so I don’t have anything particularly interesting to share. I expect to be done with that on [such and such a date].
If no one has anything to discuss, shall we cancel this Tuesday and meet next week instead?”

Before the meeting takes place, make sure there is a clear agenda that’s available for all participants to read and contribute to.

For example, you could attach a document to the meeting invite, containing any items you can think of for the agenda. Send an email or group chat at least a few hours before the meeting reminding participants to review the agenda and add any more items they’d like to raise. The agenda may end up looking something like this.

  • Noran: Some updates on launch timelines
  • John: Suggested improvements to the language used in the action buttons
  • Amaya: Could we deprioritize [such and such feature] to meet the launch deadline?

For recurring meetings, you can even automate this reminder email, and it will remind you as well to review the agenda.

Hi everyone,

Ahead of today’s meeting, please review the agenda for today and add anything you’d like to share or discuss.

See you all there!

For project-based meetings where the main goal is for members of the team to share their updates, then it could be a good idea to go over your project management tool of choice and let everyone speak to their assigned tasks.

Otherwise, use the agenda in the meeting notes document as guidance. You can go over the agenda points in order, but you should feel free to prioritize some points ahead of others as you see fit.

“Javier, I see you have an item here about [such and such]but if it’s okay with you let’s first discuss [such and such] and get that out of the way so we can unblock the engineering work.”

During the meeting, someone should be updating the agenda items as they’re being discussed, adding thoughts, decisions, or action items.

If you’re not going to be able to do that during the meeting, then ask another participant if they’d be willing to volunteer.

If you feel like the conversation is getting sidetracked, or if the discussion is getting too heated, or taking up too much time, you should interject to diffuse the situation and get things back on track.

“Okay, I think that was very fruitful. I’m aware we’re running out of time so let’s think about it some more and revisit the topic some other time. In the meantime, let’s move on to the next point.”

Part of running a good meeting is making sure there aren’t any loose ends. Pay attention to the time. If you’ve managed to cover all agenda points with time left on your hands, make sure to ask everyone if they have any other spontaneous points to discuss that was not on the agenda. If, on the other hand, you’ve run out of time and you still have important issues to discuss, then offer to schedule a follow-up meeting.

After the meeting, make sure to do any of the following that applies. Polish the meeting notes that were written in haste during the meeting. Assign action items as necessary. Send out an email with the notes or a summary of the discussion, as well as the next steps.

Hi everyone,

Here are today’s meeting notes. As discussed, we’ll set up a meeting with the UX team later this week to go over the questions regarding the latest mocks. I’ll make sure to update everyone with the results next week.

Leave a Comment