If you going to be a developer on a project with a team of developers there are some things you always need to work out. One of the nice things about ruby on rails it is decides most of this for you (well along with capistrano). For all other languages/frameworks I have used most architects take pride in their "unique" answers to these questions.
- What happens when I check my code into your version control system (you do have one don't you?)? Does it get deployed to the testing environment automatically or do I need to open/associate it with a ticket?
- What do I do if there are database changes associated with this code? How do scripts get run, what if a database needs to be recreated? Who do I tell there is a database change?
- What if there are configuration changes associated with this code? Where are the golden configs for each environment stored? Which do I check in? Who do I tell if there is a configuration change?
- If this is a compiled language, what are the dependencies, are there api changes? Do the defendant component need recompiling?
- Is all the software pushed to each environment, or are partial updates done? If partial updates are done, how do I ensure they will get included?
- What is the schedule for releasing changes to test & production environment? Is it a train cycle, or are they waiting for me?
Most people, including myself seem to learn these when coming to a new environment by messing them up and getting gently (or sometimes not so gently) smacked upside the head. No need anymore, just ask these questions when you start, or better yet during your interview, it will give you a good idea of what you are getting into.
Comments