You just got hired to work for a top tier tech company in Silicon Valley. You're making an annual salary of $90,000. You just started your first week. Your company dishes out roughly $1875 per week for your salary. You create a branch off of the company's main branch that your team is working on in order to implement your user story. You’ve implemented 70% of the user story after ten days of work but all of your work is only accessible in your local repository. You end up losing your hard drive without pushing anything to the Github repository.
$1875 / 5 days a week = $375 per day
10 days of the sprint * $375 per day = $3750
Unless you've memorized each and every single line of code you've written, you’ve just cost your employer $3750! This is one of the many reasons why constantly committing and pushing code that is functional to Github is essential. In order for juniors to get into this habit from an early stage in their career, senior engineers should require that their new employees download the github extensions into there IDE’s before getting on site or even logging into their first Zoom call if all extensions are not already available. Not all juniors are comfortable with the terminal’s GUI or git commands, so this will make it easier for them to adapt to the process. Next, before allowing junior developers to even listen in on a pair programming session, senior engineers should explain the github workflow. The importance of branching, how and when to merge, and how to avoid conflicts. Seniors should let developers know that once a crucial piece of functionality is implemented, a push should follow immediately. Pushes should also be made right before a developer makes the decision to implement something they are not entirely familiar with, such as a new library or new algorithm. This way, when they run into bugs, its not a game-changer if they end up creating more headaches than solutions.
Once user stories have been completed, sprints have been wrapped up, and the site has undergone all the QA testing, deploying the site would be the next big step. Sites such as Netlify use Github’s API in order to connect to repositories the company has and deploys them to the cloud. Netlify is a nice open-source tool in order to host and maintain front-end websites. However, Depending on the company size and budget, the company can also make use of Azure or Heroku in order to host full-stack applications that feature complex backend architecture and Database management. The principles learned from CICD practices and Github source control are one of the primary reasons why the Tech industry has been able to hold the line during this pandemic. Juniors unfamiliar with these concepts should take notice early in order to avoid conflicts in the future.
Top comments (0)