What is the role & responsibilities of different levels of software engineers in Amazon? What difference does a staff software engineer and software engineer have in terms of roles and responsibilities at IBM?