Pend(ay f)o(ur)

snacks-1 Here’s the snack section on my floor of the building

In all honesty, today was quite uneventful compared to the other days — but that doesn’t mean that nothing was worked on. Today I actually started to work on a new Slack bot from the one I had been debugging — Statusbot. Because Statusbot is a completely new project, I had to spend some time setting up the codebase by implementing some of the required boilerplate code. For the most part I just reused a lot of the code from Pankbot, which I don’t think I’ve fully explained yet. Basically at Pendo there’s a tradition where people will give people “Panks” if they live up to one of the company’s core values. Originally the Panking system was implemented in a physical manner, as people had jars and custom poker chips so that all someone had to do was put a poker chip into someone else’s jar. However, probably because Pendo’s full of programmers, someone decided to reimplement the system as a Slack bot — and thus Pankbot was created. More recently during a hackathon, Stav decided to improve the existing bot so that it was more interactive and user friendly. So what I’ve been working with Pankbot has basically just been debugging the existing code and making sure that it performs up to specs properly.

dino-rawr Rawr — here’s a dinosaur to help fight product extinction!

Statusbot’s intended goal is to make it easier for people to understand where various build pipelines stand — there’s obviously a pretty big difference between the two in intended function. However, because they are both Slack bots, there’s a lot of code that can be reused between the two, such as functions allowing for it to send a receive messages. Basically the code that makes both bots do those basic features but still requires some kind of implementation is considered to be “boilerplate” code, and what I’ve been doing with Statusbot is implementing that code. I also spent some time writing what are called unit tests, which basically are ways to test and ensure that the “units” that make up a codebase are working properly. Another important thing that had to be reimplemented was the way in which the bot interacts with Google App Engine (GAE) — the platform it’s hosted on. I’m sparing some of the details here but Slack bots hosted on GAE are basically a type of web service that receives HTTP POST requests, process them internally, and then respond to the request over HTTP again. The data sent in the case of the bot I’m working on is encoded using JSON, which is a pretty simple format for storing and labeling data. I also worked on this with one of my aforementioned coworkers from Israel who is now in New York, Stav — today she worked on setting up the GAE test platform so that it would be easier to isolate the prod and testing environments.

snacks-2 Here’s part of one of the mini food prep areas that Pendo has.

Honestly I really enjoy working on this product, and I’ll probably continue to work on it through the weekend. In retrospect, I’ve learned a lot about a lot of things in the first week — I’ve learned about technologies like GAE and gotten experience with some APIs, I’ve learned more about project management, and I’ve learned a lot more about Pendo. But most importantly, I’ve learned that Go is definitely one of the best programming languages, and that I need to find a way to get one of those gophers. Until next time, when I might have an actual plan to get a gopher

~John

gopher

Leave a Reply

Your email address will not be published. Required fields are marked *

Skip to toolbar