Team — 7 November 2024
Behind the Screen: Frontend Development at Granular Energy
How does frontend development work at Granular Energy? Daniele Gazzelloni talks us through his journey to Granular Energy, some technical challenges, and our tech stack.
What's your developer origin story - how did you find your way into frontend development?
After studying Computer Engineering in 2012, I got my first office job at a consultancy company in Rome. But after just 4 months, I quit because it was so boring - just sitting around chatting by the coffee machine with no real opportunity to grow. At that time, remote work and freelancing were starting to become more common, which really appealed to me. So I took some time off to figure out how I could reinvent my career.
I dabbled in a bit of everything - logo design, frontend projects, backend work. Until I landed a role at a US web marketing company, still doing full stack. But I gradually became more proficient in frontend and really started enjoying working with JavaScript frameworks like Vue JS. That's when I decided to specialise in frontend development. I stayed at that company for 4 years and an half before joining Granular Energy in early 2023.
What's the most interesting technical challenge you've tackled at Granular Energy?
In terms of technical challenges, one that stands out is the implementation of the manual allocation UI. This is a feature that allows our users to link time series data from clean energy production to consumption. It's one of the most complex interfaces in our platform, involving a lot of user interactions and filters that required careful event handling in the code. There was a lot of back-and-forth with the design team, backend, and customer-facing teams to make sure we got the UX right.
Walk us through your typical development process from requirement to deployment
Well, typically when we start working on a new feature, we'll have a draft technical design document from whichever developer is leading the feature as well as some initial design mockups to work from. There’s sometimes a light clickable prototype too. From there, I'll start breaking down the work into manageable tickets, and reaching out to the relevant people like the backend team or designers to refine the requirements.
The development itself is pretty iterative, with ongoing communication as requirements might change. We test as much as we can, especially for core components and utility functions, using unit and integration tests. And we try to do small, frequent releases - sometimes hiding bigger features behind feature flags or deploying incrementally.
Can you sketch out the technologies we use on the frontend?
The foundation is React. We also use Storybook for component development, Biome for linting, and React Testing Library for testing. Other key parts of the stack include Remix, Tailwind for CSS. It’s a data-heavy platform, so we also use charting libraries like High Charts and AG Grid for tables.
How does remote collaboration work in practice for the development team?
I'd say most of the developers here are pretty senior and experienced with remote work, so we're quite adept at organising ourselves. A lot of our day-to-day communication happens asynchronously over Slack, with video stand-ups in the morning and Slack huddles throughout the day when required.
We also have good practices around code reviews and contributing to the shared codebase, regardless of which cross-functional team we're on. And the flexible work hours are great, even though we try to overlap in the mornings.
Do you have any advice for a candidate applying for a job?
Hmm, that's a great question. I'd say the main advice I'd give is to not be scared. It’s a nice place to work, where things are running well. And when things don’t work well, the whole team is involved in making it better. Plus we have good benefits!
Granular Energy is a good place to work if you want to see changes in the world.
Share article