DEV Community

Seif Hany
Seif Hany

Posted on

How do I manage the codebase being worked on by a large dev team?

I’m a 4th year Computer Science and Engineering student, and I’m currently working part-time at a startup company, however I’m in a weird, quite rare situation as an entry-level web developer.

I had already worked on a couple of projects on my own, however never really in a company under senior supervision. Even the startup company I’m working for is more like freelance work than it is working for a company since the dev team is basically me and two other friends of mine with basically the same amount of experience. We’re good at we do, which is why we were lucky enough to be working with this startup, however, I feel I’m missing the environment of working with a very large team under senior developers who I can learn more from.

The Problem:
I’m taking this Advanced Computer Lab course at University which is basically not a course but more dividing us into teams of 10 and giving us a website to work on for the entire semester (frontend and backend). Upon submission of the teams, we had to elect one of us as the “Scrum Master” who’d be basically responsible for delegating tasks, and managing the repositories and merging the branches as needed. And I had volunteered to be the Scrum Master.

Now, I was already pretty confident with the MERN stack, since I had been working with it heavily previously, React specifically, at the startup. So Uni’s work was more a walk at the park.

However, I had met an interesting problem and never quite knew how Unicorn companies deal with it — the problem being managing a single codebase shared by many developers. (10 developers including myself in this case)

My Approach:
The way I approached this situation is I would create a branch for every feature/bug that needs working on, and assign each member their corresponding branch on GitHub.

Once every one had finished their work, I went on to start the (boring) work of merging all their branches into one, resolving conflicts of course as I go.

However, I found that highly time consuming and I wondered if this is how it’s done in Unicorn companies (cause I have quite a strong feeling it’s not). Or companies with a more than a couple of developers at least, not necessarily the scale of Unicorn companies.

So how is it actually done?

Top comments (0)