I have hired a lot of freelancers in the last 10 years and the one thing that never ceases to amaze me is the number of “Web Developers & Coders” who don’t use some form of software version control.
The Freelance world is rife with this, given they are primarily sole operators working for sole founders or small businesses with no idea about version control most of them don’t bother.
Without a version control system what happens is that two developers will be working on File A and Developer 1 saves their version and then Developer 2 saves theirs overwriting the changes made by Developer 1.
Developer 1 then uploads this code to the live server but didn’t realise Developer 2 has a whole bunch of errors in their code and doesn’t have the changes Developer 1 was trying to implement.
Happens every time there is more than one developer in the project and the code base degrades into anarchy, no one knows what code is ready for deployment and what is buggy.
You can imagine the chaos, add to this that they are probably saving to either a local server drive or FTPing the files to a remote server drive and its just a complete shitfight in a short period of time.
One of the more popular version control systems is called Git.
Git is an open-source version control system that was created by Linus Torvalds the creator of Linux as a means to keep track of their code. It is similar to other version control systems – Subversion, CVS, and Mercurial to name a few.
Git is different to Github. Git is the version control system, Github is a commercial hosting service that allows you to host your code using Git (plus a whole bunch of other features).
Git allows you to track changes you make to your software and store versions of the changes in both local and central repositories.
This allows you to keep a separate version for every change you make (bug fixes, features etc) so that you can track them individually and at a later date roll back or find where errors have been introduced.
It’s important to do this when you are working on your own but the big payoffs come when you have more than one developer working on your code.
Git provides a number of methods to manage two or more programmers making changes to the same code and then allows the system to merge these changes together so that they don’t overwrite each others work.
It allows someone to work on a separate “Branch” of the code without the risk of overwriting or introducing errors into an existing working live Master version.
So while you are still a one person startup, you have to get a development tempo/flow going. Regular commits act as milestones in your development process.
It is especially beneficial when your programmers are working remotely, daily or regular commits are a good way of ensuring they are delivering.
You might decide to implement continuous integration (where each code commit is tested automatically and then uploaded to the live server) or in two week sprints (where you aim to ship a set of features all at once and upload this to the server when you have tested the release) but you absolutely should establish a development flow before you bring in another team member.
It’s essential to get your new developers into your flow from day one, no flow means they will just do whatever they are used to and thats probably not good for you.
Github provides
There is a lot of work to get this running but its less work to get it working when there is only one or two developers than it is to try to implement after you have a team in place.
Git Guides – Understanding Git work Flows
The simplest guide to Git including all the commands you need
Startup Name: AI Agent Store Tagline: AI Agent Store is your marketplace for discovering AI…
Startup Name: WhatPulse Professional Tagline: Gain insights into your organizations' productivity and computing habits by…
Startup Name: China Parcels Tagline: Parcel Tracker & Manager Elevator Pitch: A universal system for…
Startup Name: Capital Companion Tagline: Adding an AI Edge to Trading and Investing Elevator Pitch:…
Startup Name: T-shirt Designs Tagline: Unlock 5,000+ unique t-shirt vector designs with lifetime access, ideal…
Startup Name: EmbeddedJobs Tagline: Elite jobs from the best High Tech companies in the World…