Lab Days at Geckoboard

Dale Pearson
Geckoboard: Under The Hood
5 min readJun 6, 2022

Dan Bahrami tells us about “lab days” — including what they are and how they form part of our culture here at Geckoboard.

Hi Dan, what’s your role at Geckoboard?

I’ve been at Geckoboard for nearly six years. I started as a Front End Engineer and now I’m the Engineering Lead for Team Data, which is one of our product and engineering teams.

We wanted to talk to you about lab days at Geckoboard. What exactly is a lab day?

A lab day is a day we can all set aside about once a fortnight, where we stop working on our day-to-day feature work and focus on other things. Those ‘other things’ might include anything from working on a personal project to writing code. It could be reading a book, it could be taking part in an online training course. Or it could be collaborating on a project with another engineer.

The point is: it’s a day dedicated to learning and development, with a really open brief.

Sometimes, people use their lab days to build cool tools that help their colleagues and have an impact on the rest of the company. These aren’t projects where you need to get permission from your manager, or buy-in from other people around the company. If you think it’s a good idea, you’re free to pursue it.

Could you give us an example? What’s been one of your favorite lab day projects?

A little while ago now, I used some of my lab days to build a tool called ‘Keeper’.

What’s Keeper?

So, the background to this is, at Geckoboard, we use a Work Management System called Shortcut. (‘Shortcut’ was ‘Clubhouse’ up until very recently)

Every item on our to-do list gets posted in Shortcut as a ‘card’. And by looking the cards, you can track what work everyone is doing and what’s been completed so far.

However, I don’t think Shortcut has a particularly good way to set overall goals for your sprint; and to let you know, at any one point, how far through those goals you are.

I built a tool called Keeper, (as in, “Goalkeeper”) which integrates with Shortcut. Keeper allows you to set goals for the week then drag cards into those goals. So as the week progresses, and those cards get done, you can see the ticks start to appear in Keeper. It’s much easier to track how far through your weekly goals you are.

Now we use Keeper every morning in our team standup meeting. We can see if things are taking longer than expected, and celebrate when we get to the end of a sprint.

Keeper makes it much easier to track weekly goals.

It must be pretty cool to see everyone using something you built?

It is — I wasn’t expecting it to be so popular. It started out simple, I just wanted to build something my own team would use — but now, most of the Engineering team are using it.

How has it helped your learning and development?

It’s been a really good project for me because it’s been a sort of playground for trying out new ideas, and new technologies I’m interested in.

For example, I spent my last lab day trying to convert the backend side of Keeper into Typescript. Typescript is a coding language I’m keen to learn and get better with, and this project has helped me do that.

I also used it as a playground to add the new version of React Router when it came out, which has a very different API to the old version.

As well as that, it’s been a good opportunity for me to focus on real-time updates using webhooks API. Real-time updates are an important part of our product here at Geckoboard, so there are definitely things from this project I’ve been able to bring back into my work.

What’s it like working at Geckoboard more generally?

I think my favorite part about working at Geckoboard is all the sense of collaboration. I get to collaborate with Front End Engineers, Backend Engineers, Product Managers, Designers. Occasionally CS and Marketing too. I love being in those conversations, with all those different minds, sharing ideas.

I think in general, we strike a good balance of keeping up momentum (which comes from shipping new features) and engineering excellence (which comes from long term planning around the product). It’s exciting because you’re usually working on something new; but it’s rewarding too, because you’re always proud of what you’re putting out there.

The other thing I love about Geckoboard is that, yes, we care about engineering and yes, we care about the product, but everyone is treated as a human first, with lives outside of work. For example, you’ll never be referred to as a (*inverted commas*) “resource”. I think lots of companies talk about healthy work-life balance and mental wellbeing, but at Geckoboard it’s genuinely part of the culture.

Your role has changed quite a lot in six years, hasn’t it?

Yes, I joined as a mid-level engineer so I was working full time writing JavaScript/React. Now, as a team lead, I’m still hands-on with the code but I have extra responsibilities. I help my team to be effective by making sure the right conversations are happening, planning individual projects and shaping our project roadmap so that we’re working towards engineering-wide goals.

What advice would you give to other engineers who are thinking about how to develop in their careers?

It’s really easy to think that to get to the next stage of your career you need to tick a load of boxes. But instead, I’d just focus on the things that you’re good at and the things that you’re not so good at. Then decide which of your strengths you want to pursue and which of your weaknesses you want to work on. I think that, in itself, is a good engine for growth.

Interested in joining Geckoboard? Learn more at www.geckoboard.com/careers

--

--