More and more startups are instituting a policy to have newly hired software developers push a piece of code (feature or bug fix), albeit small, to the product’s production servers on their first day. The idea is that with web-based apps and software-as-a-service programs the act of making an update should be a simple process unlike the days of shipping a new product release once every year or two on disk hoping that everything was perfect (which never happened). Here are some benefits of having new engineers push code to production on day one:
- Sets the tone for a fast release process (potentially many times a day with continuous deployment), which often results in greater developer satisfaction due to receiving input from users as fast as possible (developers love to get positive feedback on a regular basis)
- Reiterates the fact that smaller changes lead to smaller issues and bigger changes lead to bigger issues (bite size chunks are best)
- Provides a sense of satisfaction to the software developer on their first day that, yes, they will make an impact
- Makes the process of write coding and seeing it live the product no longer daunting
My recommendation is to consider having new developers push code to the production servers on their first day on the job.
What else? What other benefits are there of pushing code to production the first day on the job?