4 ms·
I can do it too! Everything I Needed to Know About Writing Software I Learned While Working in Restaurants (Kitchens) Sanitize all inputs. If you have a sing
by dikaiosune 11y ago
I can do it too!
Everything I Needed to Know About Writing Software I Learned While Working in Restaurants (Kitchens)
Sanitize all inputs.
If you have a single point of failure, it will only be a problem when it matters most.
Your recipes will need to be constantly tweaked in alignment with the stars.
Users will always do things you don't expect, and will be upset when your system doesn't behave as they'd expect.
Expect many complaints about the lack of insert unadvertised feature here.
Team communication often trumps raw skill.
Snark aside, I do think that many people would be better off doing a tour of "civil service" in retail or food service before going off to fancy jobs. I really did learn a lot both as a line cook and in retail.
- martin-adams 11y agoI worked in retail for a stint a long time ago, so here's my attempt... Everything I Needed to Know About Writing Software I Learned While Working in Retail 1. The user does not always know why they are there and what they want to achieve. 2. The user cannot guess what something does, so they rely on the visual clues, such as reading the box. 3. Users will need to undo something at some point (sorry, no refunds). 4. Two customers wanting the last stock item on the shelf causes a concurrency issue. 5. Under staffed and too many customers helps you learn about queuing systems and load balancing. 6. Getting access to stock from the main warehouse on a weekend reminds you of the importance of correctly configured user roles. 7. Disparity of prices from the mail order catalogue and in store prices tells you the importance of data propagation delay. 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. 9. Users will attempt to steal something that isn't properly secured.
- namelezz 11y agoWhere are your tests?
- js8 11y ago> I do think that many people would be better off doing a tour of "civil service" in retail or food service before going off to fancy jobs I thought that it was a hallmark of American culture that you get to do that in college, before you get a professional job.
- twblalock 11y agoA lot of students don't work during college. They are supported by their parents' money, student loans, or a combination of both.
- dikaiosune 11y agoIn my not-so-humble opinion, they are also usually the ones who need the experience the most (ahem).
- nommm-nommm 11y agoMany people believe they are too good for those types of jobs.
- johnloeber 11y agoEverything I Needed to Know About Writing Software I Learned While Being a Software Engineering Intern and Occasionally Reading Hacker News (1) Write code (2) Follow good software engineering principles (3) Have a public profile (4) Negotiate a higher salary (5) Never forget that dispensing wisdom through perhaps tenuous analogies is an integral aspect of (3), and arguably also of (2).
- vacri 11y ago> I do think that many people would be better off doing a tour of "civil service" in retail or food service before going off to fancy jobs. A thousand times, yes. I've moved into 'devops' from support, and it's just as clear on this side of the divide just how little esteem developers have for support staff. One bit of schadenfreude from the past: I worked in a 2-person support team in a small company, and constantly had requests for improvements (both support- and client-friendly varieties) rebuffed, basically with the 'eh, what would support know about products' attitude[1]. I ended up leaving that place, and the other support guy had already booked a month-long sojourn on the other side of the planet, leaving the developers to now support their own product. The company ground to a halt and no-one could do a thing as the half-dozen strong dev team struggled to do support with the shitty environment they gave us to work with. Apparently on the other guy's return, better support tools shot to the top of the devs' priority list. I also remember hearing about a wine distribution company in Western Australia where every new hire, regardless of position, spends a week half on support calls and half in shipping, so that everyone is exposed to the difficulties of packing and shipping wine, and dealing with customer breakage. I love this idea, and wish it was more widespread. Dealing with the public is hard, but there's not much you can do about that. Dealing with the undeserved contempt of your coworkers is also hard, and it doesn't take much to expose people to the more human aspects of the crappy positions in a company; raising empathy can really help. [1] I've always found this bizarre, that the department that has the most client contact when something goes wrong is so routinely ignored when developing the product further.
- dikaiosune 11y agoAbsolutely. I did a few stints in support (both before and after my harrowing multi-year retail and foodservice adventure), and I can definitely sympathize. Thankfully the most recent support job had enough downtime for me to build tools for us that got me the "on resume" experience to move over to development, but all of those jobs left me with a sensation that there's a really valuable body of knowledge to be gained working at the bottom rung. I especially like your point about raising empathy -- I think that's a really important effect of having to try out being the person at the bottom of the totem pole.