Mooooooom, what’s for dinner?
As we grow older, food and its purpose change. Where once we ate solely to sustain ourselves, many of us now use our meals as a way to spend time with friends, and as a venue to converse and connect with others.
Here at clypd, food plays an integral role in how we operate. From the snacks scattered around the office (some healthy, others…not so much) to having extra bushels of bananas to the delicious desserts delivered for a birthday celebration, food brings us together.
Similar to other companies, at clypd, your lunch break is your personal own time. Unlike other companies, we opt to spend it with each other. We do so not out of pressure from “management” or unspoken tribal knowledge, but because we possess a genuine desire to connect with those around us. We call each other not just coworker, but friend. It’s my personal belief that the extra hour we spend with each other has enabled us to become as effective as we are today.
Located in the heart of Davis Square, our office is fortunate enough to be surrounded with a wealth of delicious restaurants. With great power comes great responsibility, and with great food options comes, well, a lot of indecision.
Every day brings with it a fresh new wave of discussion regarding where to venture for lunch, with people weighing in. Battles are fought, alliances forged, decisions made and deals are struck in the hour leading up to “lunch time.” Yet, when the clock strikes 12, chaos reigns as people attempt to locate their fellow adventurers.
Okay, okay, the truth is a little (read: lot) less dramatic, but the fact remains that it’s at least somewhat confusing to figure out not only who wants to go where, but when they are leaving and who with.
Interested in exercising some of what I’d learned on co-op so far, I put together a webserver in Go. It interacts with our chat client’s API to build upon our tradition of suggesting a lunch destination as starting a “train” to that location. As it stands, managing a train station is pretty simple, there are only a few things you need to know.
At its core, the train is comprised of five main commands:
- /train help brings up the above menu if you’re curious what commands you have available /
- train start <Destination> <Number> schedules a train to your destination that leaves in N minutes
- /train join <Destination> will put you on the train to that destination (if one is available!)
- /train active lists all currently active trains
- /train passengers <Destination> will only give you the information for a specific train.
Having a defined organizational structure has facilitated how easy it is to find and suggest places to go and has even managed (somehow) to become fun, game-ifying the process. The timer lends a sense of urgency and come lunch-time every day, our chat room comes alive with discussion about who’s going where.
You can find the implementation here and don’t hesitate to reach out with any questions you may have at firstname.lastname@example.org!