If you’re curious what a day on the Panaseer frontend team looks like read on.
Panaseer is hiring! If you are a frontend developer looking for an exciting opportunity to work with a great, supportive team on an impacting cyber security product head over to our job listings or drop us an email!
8am — Good Morning
It’s one of those cold and crisp London mornings. After an icy cycle, I get to the Panaseer office where mellow tunes from the office’s converted radiogram (a hobby of Nik, our CEO) greet me. I settle in at my desk on the cosy mezzanine level of our industrial style office with a cup of tea and reflect on my approach for the day while watching the trains go past.
Panaseer is a B2B start-up in the rapidly growing cybersecurity sector and we work at the intersection of data science, technology and security. One of our key areas is allowing our customers to explore their security data intuitively, so features like filtering are incredibly important. I’ve been working on progressing our filter interfaces this sprint and have a couple of areas I want to particularly focus on today.
- Review meeting notes from the last filter interface user testing session
- Figure out the next steps for a performance limitation on the API
- Create the initial filter component structure
As stand-up time approaches the rest of the team filter in, sometimes with a coffee in hand, but always with a “good morning” for everyone. As a team, we are all behind the vision of bringing lasting changes to the way cyber security is done in big enterprises and I’m lucky to drive that forward with an awesome group of Engineers and Data Scientists, who all share a passion for cyber, running and tasty food. There are usually a couple of people on client site, but we like to call them in via Slack to make sure everybody feels connected and stays in sync. I take part in 2 stand-ups today.
With everybody from the front-end team arrived, we huddle together for a brief catch-up next to the bank of desks where the whole tech team works side-by-side. It’s important we bring up any anticipated blockers during this session so we can prioritise our work to prevent them and avoid frustrating surprises.
Filter Team Stand-up
After the functional stand-up, the initiative stand-up is kicking off on time. Going around the group we give a quick update on the current progress:
- I update on my plan to start breaking down the component architecture for the filter interface
- My colleague Javi, who’s looking into the API performance bottle neck, updates that we’ll likely need to find an interim solution — he seems slightly worried
- Last but not least news from the user testing session — generally good feedback and none of the requested changes will influence the overall architecture of the feature — I am glad we can go ahead as planned
9.30am — Will Performance Problems Derail Us?
As highlighted during stand-up there is a performance bottleneck on the API that limits how many potential filter values we can suggest to a user. I get together with Javi, Charaka our CTO and Charlotte from the client team to discuss.
For our immediate needs, we don’t have the time to build an advanced solution. Instead we are trying to come up with a tactical fix that doesn’t block us from getting the MVP to clients for hands on feedback.
Combining our technical knowledge with Charlotte’s in-depth customer understanding, allows us to design an acceptable solution. It’s turning out to be a productive morning already!
When I joined Panaseer 1.5 years ago, I was attracted by the fact that as a young, fast growing company, I thought I would have the opportunity to have real impact on FTSE100 & Fortune 500 customers and the way they work. It’s moments like these when I realise I’m achieving that goal.
10.30am — Paper Sketching and Architecture
With the performance risk averted, I turn my attention to the initial filter component structure.
Tool of choice for initial architecture ideas is definitely pen and paper. Paper sketching saves me tons of time. I also have to admit that some of the joy comes from sketching being the one time on the job where messy trumps attention to detail.
Once the Angular component structure has more resemblance to a tree than a spider web of dependencies, I create a digital snapshot of it and add it to our project Confluence page.
11.45am — Slackbots Taking Over
Its’ time to check up on what’s happened on Slack.
A GitHub bot catches my eye, letting me know that Julian has released a new frontend pull request. I jump on the opportunity to review as he’s been working on some exciting changes to our Webpack configuration.
As it looks, our continuous integration tool, Circle Ci, hasn’t finished running the tests yet — no reviewing or merging until those are done.
12pm — Green and Healthy — Karma Cans
Good timing, our Karma Cans delivery has arrived. We try to have lunch together most days on the long wooden table and benches on the lower level of the office. This is a great opportunity to connect, talk through our latest Netflix obsessions and share weekend stories. Wednesdays have the added bonus of free office lunch. We usually order Karma Cans (= delicious and healthy lunch boxes) and I am going with a vegetarian option this week. Wouldn’t want to miss out on stuffed sweet potatoes with harissa sauce.
1pm — Moment of Truth for the Pull Request
When everyone is done with lunch stories and eating, I take a minute to make coffee. Leila, one of our Data Scientists, brought back some great beans from Zanzibar and I have been waiting to give them a try. Big cafetiere for all the coffee lovers. It’s ideal fuel for an afternoon for checking on pull requests, coding up filter component designs and working in actions from our monthly architecture chat.
Back at my desk, I check on the pull requests. The tests passed — it’s time for the review.
The pull requests itself seems to deal with a Webpack version upgrade. A good opportunity to get familiar with the latest features introduced. After reading through some of the documentation for the new Webpack version it’s clear the changes are good to go. Thumbs up, but not just for the pull request — the coffee exceeded expectations with a delicious almond and dark chocolate flavour.
2pm — Let’s Get Coding
With the pull request out of the way, I am ready to start coding up my filter component designs. As no one wants to review thousand line changes with the risk of complicated merges 😱, we try to split our tasks up as granularly as possible.
In this case I begin with writing a few key unit tests based on the designs created earlier. Regarding the eternal debate over the best code editor — we are major IntelliJ fans in the office. In combination with Typescript it makes the implementation and debugging process so much faster and encourages good unit test coverage for the whole project.
Once my component code is passing the tests, I raise the pull request.
5pm — Another Pull Request Going Out
Having a bit of time while the PR is being reviewed I look into addressing one of the actions raised in last week’s Monthly Architecture Chat. This session is an opportunity to discuss how we can improved the quality of our code and make our developer experience better.
Our current key focus is migrating the project’s promise structures to rx.js observables.
I choose a small class that could be simplified by the use of observables and start refactoring. I had a few experiences with major bugs introduced during refactors like this, so I am keeping a close eye on our unit tests to safeguard myself against regressions.
It all goes well — another pull request is ready to go out 🚀.
6pm — Upside Down on the Climbing Wall
Today is climbing club! Me and a few others from the team head straight from the office to the nearby Arch Climbing Wall. The next few hours are spent cheering each other on, testing our balance and generally releasing after the day. I started climbing before joining Panaseer and it has been one of my passions since, especially since it’s a great way to balance sitting during the day with some activity.
I get home with sore climbing hands, but happy with the results of the day. We averted a problem that was putting our initiative timeline at risk and I made good progress with the filter components. There’ll be plenty to toast at “Panabeers” (our weekly post-work social) come Friday.
Come and Join Us!
If you feel like we are a company and team that you’d like to join, take a look at our open positions or join us at our weekly Friday beers for a chat! We are always looking for talented frontend engineers to join the team.