Designing deployment methods for a growing startup tech team

eLeague.gg is rapidly growing behind the scenes, and this is especially true in regards to the tech development team behind the scenes.

devSpace.jpg

Our current development team consists entirely of one person (yours truly) and my duties involve:

Not to mention all the maintenance involved…! So the obvious solution, is to bring on board more people! The exceptionally talented1 :

So…. What’s the problem? #

Well, since I started out running LAN parties, and doing gaming events - all my sites have always been bespoke, from the ground up creations. All involving myself as the sole designer, and sole developer. I’ve never had to answer to anyone and in fact, never had to consider that someone else might come in and develop on my sites/projects. Again, this is certainly horrible practice and not something any developer should really do.

And so again, as eLeague.gg started up - guess what I did? Haha…

And now? What is the solution? #

Git branches. I already develop everything and store it through a personal Git repository system (I use Phabricator for my Git repo management needs).

As it currently stands, I keep:

While this stops me from accidentally implementing broken features (sort of) it’s still not ideal for three developers working all at once on eLeague.gg’s core code. So we’ve developed a way to organise ourselves in such a way that each developer is independent, but bases their code off a singular source of truth.

This looks like (click to enlarge):

Development Git Flow.png

What’s more important is the flow of code as signified by the arrowheads in the diagram above. Developers should in theory, only ever be pulling and pushing features in both directions from the Dev(elopment) Branch. And all features should be internally vetted within the Tech Team before being pushed to the Pre(flight) Branch, and then onto the Production Branch if all goes well with the rest of the team.

Some caveats:

I suppose it’s a great little situation to be in that I can start working on eLeague.gg in earnest with a team, and now I should hopefully be able to focus more on not just the technical development of eLeague.gg, but the rest of it too!


1: This list of people does not use names they uses their drivers’ licenses. Our team has many people with the same given names so to help differentiate, we refer to each other by our gamer nicknames.

 
1
Kudos
 
1
Kudos

Now read this

You get a Dashboard! You get a Dashboard! Everybody gets a Dashboard!

Designing something suitable for eLeague.gg has been a real challenge. In no small part thanks to the fact that whilst we are starting as a LAN party, we aren’t exactly a LAN party, too. We’ve got plans to involve all sorts of data... Continue →