Hack Week Feb. 2021

Karl
In the weeds
Published in
6 min readMay 19, 2021

Greenhouse hosted two hack days last year. They were such a success that we decided to do a full hack week this year!

We formed teams and spent a full week in February to work on small projects. Some were silly, some were useful. Friday was spent finishing the project and creating video presentations to showcase the results to the rest of the company.

I’ve asked some people who participated to share their experiences below. You can also read our first post and second post for the first hack day back in February 2020.

And without further adieu…

Round Robin V2

Hi my name is…

Stav Milstein

Who was on your team, and how was your team dynamic?

On my team was Becca Kroll, Javier Dominguez, Kevin Bruccoleri, Odunayo Kusoro and myself. We started off working together to talk through the idea and walkthrough the existing codebase. After that we split up the work and worked mostly individually, updating the team once we pushed changes or picked up a new feature to work on.

What was your project? Why did you pick that?

Our project was called “Round Robin V2” and it was to take the existing slackbot we were using to manage rotations in Greenhouse, and upgrade it to have a user interface using slack’s UI components instead of the existing text commands.

I picked this project because it was a great opportunity to make a useful tool that was widely used in the organization more user friendly.

What did you think of your team’s end result?

The end result ended up looking great! We managed to support and incorporate all of the existing functionality into the new UI and also add a couple new features in the time that we had. The new bot was ready to be used by the end of the week and was deployed to production.

What were you proud of?

I’m really proud of the way our team worked together. It was the perfect balance between working together and parallelizing the work. Working individually while also jumping on calls to help each other out when someone needed another pair of eyes.

How was a hack week different from a hack day? Which did you like better?

Doing a full hack week meant that we had a lot more time to form a plan and put in the time to execute it fully. If we hadn’t had a full week we wouldn’t have been able to implement and support all of the existing features of the bot and roll out the new version in the time that we did. Having a full week also made it easier to put in the time to work on our project while also having the time to handle day to day requirements if we needed to.

What was the most difficult part of your project?

I found that the most difficult part of the project was managing the different modal states and features we wanted to incorporate with the limited slack UI components that are available. There are different sets of actions that can be done as a result of an input being interacted with vs the modal’s submit buttons being clicked.

We had a few different modals interacting with each other that needed to be open/closed/updated which wasn’t always trivial based on the user’s interaction. We solved this in two ways, one was passing metadata between the different modals to have more control of the state. The second was updating our initial design to better suit the limitations of the different UI components.

In Conclusion…

Hack week was a lot of fun! It was a great opportunity to work on something different with people we don’t necessarily have the chance to work with on a regular basis.

Cloud Native Buildpacks

Hey, I’m Adam Barcan from TOPS, aka our DevOps team. For my hack week project, I spiked an idea we’ve been kicking around for a while … replacing our custom buildpacks code with open-source upstream Cloud Native Buildpacks from the Paketo registry.

This project is a good example of how valuable a hack week is. Our current buildpacks work — they’re used multiple times a day to build images for GH apps in languages such as Ruby, NodeJs, or Golang—but maintaining them or adding new language buildpacks is an unnecessary pain that does not scale well.

That said, totally redoing their implementation was hard to justify outside a hack week. But it was awesome to take the week to just dive into a single use case — replacing our homegrown NodeJS buildpack with the Paketo equivalent. By the end, I made enough progress to prove that the project is viable — we now plan to use upstream buildpacks for most of our GH app languages.

Remote Roundup

Hi my name is…

Eric Stolten and Evan Duncan

What was your project? Why did you pick that?

Our project was to create a Remote Roundup application to integrate with our product suite.

What did you think of your team’s end result?

We were very pleased with our result.

What were you proud of?

We wrote the whole thing without a single line of JS.

How was a hack week different from a hack day? Which did you like better?

I (Eric) really liked having a week. We were able to have a project plan, divvy up the work and have something which came together as a product.

What were you most surprised by when working on the project?

How easy it was to be productive with Phoenix and Elixir.

What was the most difficult part of your project?

Setting our scope and defining the vision we wanted to achieve.

What was your favorite moment during the hack week?

Probably the 3rd to 4th day when we really started having an interactive app.

Who was on your team, and how was your team dynamic?

Myself and Evan. The dynamic was great. We had some long pairing sessions and then other sessions where we broke off and did separate tasks.

What will you do differently next time?

Spend less time working on items that wouldn’t have been part of the main experience.

In Conclusion…

Hack week was a ton of fun and I would pick Elixir again as a language to use.

Greenhouse Onboarding Dependent Tasks

Hi my name is…

Sandra, Nora, Steph and Yonji

What was your project? Why did you pick that?

We worked on a proof of concept to add dependent tasks to Greenhouse Onboarding and support using employee tokens like location, department, etc. in task names.

We knew these were long-time pain points for customers and we wanted to try to solve them! We started with a list of ideas in Asana and Greenhouse Onboarding engineers, product manager/designer, customer success managers and customer support specialists upvoted their favorite ideas.

What did you think of your team’s end result?

It was an effective proof of concept that works and sparked conversation about how we can optimize the features for the final release! We’re working on cleaning up the code and designs so we can release it to customers.

What were you proud of?

  • Being able to complete a lot in a small amount of time given this feature is pretty complex
  • Being able to work on something that bring value to our customers, knowing that this wouldn’t have gotten prioritized any time soon because we have other important features that have priority over this
  • Cross team participation!
  • Nora hadn’t worked in the Greenhouse Onboarding codebase before and she jumped right in!

How was a hack week different from a hack day? Which did you like better?

Definitely hack week!! We have a lot more time to think, to work and have time to actually pair instead of just rushing to get things done. Sleeping on things also helped us come back with a fresh brain each morning and made us more productive.

What was your favorite moment during the hack week?

For me — it was when the feature came along, especially when the UI happened. It was so exciting to see the feature working!

Who was on your team, and how was your team dynamic?

  • Sandra — Greenhouse Onboarding engineer
  • Nora — Tools and Operations engineer
  • Steph — Greenhouse Onboarding PM
  • Yonji — Greenhouse Onboarding designer

The team dynamic was awesome. Sandra and Nora paired all week and found it super productive. Yonji and Steph helped with brainstorming, designs and put together the final video demoing the work we did!

--

--