What is a senior software engineer? The difference between junior and senior engineers.