Hero image

Mastering Software Engineering

9.4

(11 ratings)

·

3 Days

·

Cohort-based Course

Learn insights into software engineering gained from developing large-scale products at companies such as Uber, Airbnb, and Microsoft

Hosted by

Georges El Khoury

Software Engineer. Ex: Uber, Airbnb and Microsoft

Course overview

Learn Practical Software Engineering Insights

In this course, I will share all the (hard-learned) lessons I acquired building and maintaining software used on a daily basis by millions of people.


This course is not theoretical and covers practical topics you go through and can apply in a typical software engineering day to day.


This course will not be about a specific technology but will cover software engineering concepts that are relevant irrespective of the software stack or the computing medium.


Module 1: Code Reviews


This is where we spent most of our times as professional engineers. We will go over how to write pull requests that get quickly approved and how to provide quality code reviews. In the end, we will go over tips on how to write/design elegant code.


Module 2: Outage Management


There is a global outage. Not a single customer can use your product. Your CTO might be texting you and you've never met him/her before. In this module, we will go over what to do during an outage leading to the ultimate goal of turning your service status back to green.


Module 3: Release Management


Great software is deployed software! In this module, we will go over how to safely release software to production and have the right tradeoffs between continuous development/integration and service uptime.


Module 4: Migrations


Work enough as a software engineer and you will need to do a migration. Guaranteed! In this module, we will go over how to safely transition from one system to another and balancing this process with the need to fix bugs and release new features.


Module 5: Project Management


Sprints, Kanban, Backlogs, User Stories, Bugs, etc.. We can spend a whole course just on this but in this module, I will focus over what I found to be a good way to do project management at a software company. I will also share an Asana template you can use with your team.


Module 6: Conducting Technical Interviews


The quality of your team members will ultimately decide how successful your company is. In this module, we will go over how to conduct interviews to get the maximum signals to be able to decide on wether to extend an offer or not to a candidate.


Module 7: Onboarding Team Members


It's your team member first day at work. In this module, we will go over what to do so they ramp up quickly and start contributing in their day to day tasks.


Module 8: Software Engineering Career Ladders


We will end the course by going through the different skills and impact you will need to acquire and do at the different stages of your career. Kind of a roadmap for every stage in your career.

Who is this course for

01

Software engineers who want to level up, gain experience and enhance their knowledge and skills

02

Software engineers who want to learn best practices and apply them in their development team

03

Techies who want to understand practical software development processes and methodologies

What you’ll get out of this course

Apply new skills in your day to day work at your company

You will be able to directly apply lessons related to code reviews, release management, outage management and other course modules back at your company in your day to day work

Learn software engineering best practices

Advance your career and level up on your software engineering skills and gain experience and knowledge that will help you better build and maintain software products.

Meet your instructor

Georges El Khoury

Georges El Khoury

Software Engineer - ex: Uber, Airbnb and Microsoft

I have built, maintained and supported software in production for big companies and early stage startups.


I designed and implemented software that is used on a daily basis by millions of people.


I was the lead engineer on the Uber offer (dispatch) flow - a critical part of an Uber trip - and Uber for Business.


I conducted thousands of code and design reviews, was part of teams that multiplied in size and was the engineer in charge during global outages.


I enjoy writing elegant code and turning ideas into working software.


I write software engineering articles on my newsletter: Software Engineering Tidbits

A pattern of wavy dots
Be the first to know about upcoming cohorts

Mastering Software Engineering

Course syllabus

01

Code Reviews

In this module, we will learn how to approach a code review from both the perspective of an author and a reviewer.

02

Outage Management

In this module, we will learn what to do in a global outage and how to return a service to green. We will also cover how to write a good post mortem document.

03

Release Management

In this module, we will learn best practices to release code changes to production.

04

Migrations

In this module, we will learn how to safely migrate from one system to another.

05

Project Management

In this module, we will learn about top to bottom requirements and vice versa and how to find a middle ground between them. I will also go over an Asana template I use for project management.

06

Conducting Technical Interviews

In this module, we will learn how to conduct a technical interview (as an interviewer).

07

Onboarding Team Members

In this module, we will lean how to onboard new team members and get them successfully ramped up to the team.

08

Software Engineering Career Ladders

In this module, we will go over the different responsibilities at each level of a software engineering career ladders.

Course schedule

3 days - 90 minutes per day
  • Wednesday, March 15, 2023

    9:00 am - 10:30 am US Pacific Time

    Live Session + Q&A

  • Thursday, March 16, 2023

    9:00 am - 10:30 am US Pacific Time

    Live Session + Q&A

  • Friday, March 17, 2023

    9:00 am - 10:30 am US Pacific Time

    Live Session + Q&A

Learning is better with cohorts

Learning is better with cohorts

Active hands-on learning

This course builds on live workshops and Q&A

Interactive and project-based

You’ll be interacting with me and other learners through the course

Learn with a cohort of peers

Join a community of like-minded people who want to learn and grow alongside you

Frequently Asked Questions

How long will I have access to the materials and recordings?
What happens if I can’t make a live session?
I work full-time, what is the expected time commitment?
What’s the refund policy?
Will you issue a completion certificate?
What if I have more questions?
A pattern of wavy dots
Be the first to know about upcoming cohorts

Mastering Software Engineering