I worked in retail for a stint a long time ago, so here&#x27;s my attempt...<p>Everything I Needed to Know About Writing Software I Learned While Working in Retail<p>1. The user does not always know why they are there and what they want to achieve.<p>2. The user cannot guess what something does, so they rely on the visual clues, such as reading the box.<p>3. Users will need to undo something at some point (sorry, no refunds).<p>4. Two customers wanting the last stock item on the shelf causes a concurrency issue.<p>5. Under staffed and too many customers helps you learn about queuing systems and load balancing.<p>6. Getting access to stock from the main warehouse on a weekend reminds you of the importance of correctly configured user roles.<p>7. Disparity of prices from the mail order catalogue and in store prices tells you the importance of data propagation delay.<p>8. Not all users understand the concept of an automatic door and which direction they need to enter and exit.  Receiving an error in this instance causes the user to experience huge embarrassment.<p>9. Users will attempt to steal something that isn&#x27;t properly secured.