I'm still teen, but I'm sure I want to make my career in the software industry...but I'm still confused between the differences between different related job titles...could you explain me in as much detail as possible the differences between the following (or refer someone who could) : Software engineer, Software developer, Software designer, Software Architect, and Programmer.