Natalia describes her work experience at Amazon and at the UoM Student Software Company
Throughout history there has always been a time and a place when humanity created something astonishing, such as Mathematics in Antiquity, Painting and Sculpting in the Renaissance, or Poetry in the 19th century. Now it is Computer Science where advances are made.
At 18 I decided I wanted to take part in this. Fast-forward 3 years, I have finished the first 2 years of a Human-Computer Interaction degree and had 2 quite different work experiences in the IT industry – an industrial placement at Amazon and an internship at the Student Software Company.
What do I do at the Student Software Company?
I currently work as a Software Developer with a secondary Technical Solutions Architect role delivering apps for 2 clients – the Manchester Museum and the Great Science Share.
What did I do at Amazon?
I designed and implemented a Machine Learning based anomaly detection tool for Prime Video as a member of the Transactions Life-cycle team over the course of 11 months.
How does the work differ between Amazon and the Student Software Company?
A tech giant and a start-up-like group run by students have very different socioeconomic impacts, which dictate their priorities and workplace dynamic. In practical terms, the differences stem from the companies’ age and size.
Still in its infancy, the Student Software Company doesn’t have answers to the common challenges faced by a tech company, whereas Amazon has mastered these over years as an established leader. Whilst this gives students at the Student Software Company the freedom to define their own tailored standards, it brings some inevitable imperfections. The space to fix our own mistakes ensures a great environment to gradually learn Agile software development in practice, which can later be applied in a fast-paced corporate environment.
How many people are in a team?
At Amazon, there is a rule called the 2 pizza team. As you probably guessed, the rule says you should be able to feed any internal team with only 2 pizzas. The idea behind this is that a smaller team spends less time with management and more time getting things done. The Student Software Company teams are slightly smaller than Amazonian teams, with only 4 people per project in general.
How is the work divided?
At the Student Software Company, developers like myself come up with ideas, write the requirements, implement the features and present them to the client. In addition, Amazon has a number of other roles, including software development managers, product managers, program managers, business analysts, scrum masters and bar raisers. Consequently, many people outside of the core team contribute to the final product before it reaches production.
On the other hand, start-ups cannot afford to spend too much time reviewing because they need to prioritise time to market. Developers must react to the requirements of their clients quickly and build a minimal viable product. The Student Software Company is very much like a start-up from this point of view. It teaches you accountability for your work. Tasks are not atomic and oftentimes a large chunk of functionality is the work of only one individual.
Who does what?
At Amazon, an individual’s work is specialised in a particular area. In contrast, a role at the Student Software Company allows us to tackle more aspects of a software engineering role, such as back-end, front-end, testing, UX and security. This is ideal for those unsure of which area to specialise in.
How is the work planned?
At the Student Software Company my team’s sprints are one week long, whereas at Amazon they were two weeks. I preferred the 2 week sprints to see more progress being made between iterations, but the work here only spanned a couple of months, so I see the value in having shorter sprints.
During my time at Amazon, my team tried both the Scrum and Kanban methodologies. At the Student Software Company, sprint planning meetings were not as structured as they were at Amazon – for example, we never estimated the tasks’ complexity or time and meetings generally didn’t take more than an hour – whereas at Amazon, the sprints were generally structured so that one full day every two weeks was designated for planning.
Who fixes blockers?
At Amazon, managers have a lot of responsibility. Conflicts often come up between teams, and it’s a manager’s job to fix these conflicts and help the team deliver. At the Student Software Company, this was not required as we didn’t work with another team on the same product and were able to unblock ourselves most of the time.
How do we get feedback from customers?
At Amazon, there are millions of customers worldwide with different requirements. When a product was delivered, condensed feedback was on the front page of Hacker News.
At the Student Software Company, the customer is usually a small business so it is much easier to get direct feedback and build exactly what they want. The main customer my team at the Student Software Company had was very responsive providing feedback every week in a show-case style meeting and throughout the development process.
How well documented is the product?
At some point, every Computer Science student must learn that Software Engineering is not just writing code. One of the unique things about Amazon that I enjoyed a lot is writing documents and narratives as an active part of the developing process. Some meetings start with 15-20 minutes of silence while everybody reads the narrative written for that meeting. The remaining time is used to review that document. You can find more about it here.
At the Student Software Company, working software is our priority, so we didn’t spend as much time writing documentation.
What if I don’t know what to do?
In psychology, the Dunning-Kruger effect describes how confidence and skill don’t correlate. Skilled people tend to be less confident in their abilities than less skilled people.
I’m sure most of us have experienced this ourselves. As we get better in a field, we reach a point when we realise how little we knew at the beginning and how much we thought we knew back then. Our confidence decreases as our abilities improve and increases later in our career when we get better at assessing our own knowledge.
At Amazon, I was encouraged to be honest answering questions with “I don’t know” and research the possible solution afterwards. Nobody expected me to know everything and those around me were keen to help. Even the experienced people at Amazon said “I don’t know” on a daily basis, a clear result of the Dunning-Kruger effect.
Students are naturally more reluctant to use these words, especially given that the work style was more autodidact. On the plus side, not having very experienced technical people we could go to for quick answers meant that we were more autonomous and had to learn some things the hard way.
I would encourage everybody to be open about not knowing things, as they may have the opportunity to learn more from those around them. “To know what you know and what you do not know, that is true knowledge.”