I am a software engineer. What are the skills I need to practice, and resources I need to read in order to take up the responsibilities of an architect?