Sam Simmons joined Koordinates as a Front-End Developer at the end of 2017. Since then, he has been working a series of major projects, including the rewrite of our backend administration app and our new component library.
I sat down with Sam earlier in the week to hear more about building component libraries, working as a chef, and learning QGIS via Game of Thrones.
How did you get started Front-End Developing?
I actually started out studying English, but in my third year I realised that I didn’t actually want any of the jobs I could get with that degree. So prior to learning how to code, I dropped out to become a chef, a job I held for a few years.
While I was working as a pastry chef, I wrote some code on the percentage of water to use when making bread, and I was using it to adjust my sourdough recipes. After a while, I realised that I was enjoying the code more than the bread-making.
So how’d you make the move from being a chef to developing?
At the beginning, I taught myself. That went pretty well, but I thought there might be gaps in my knowledge, so I enrolled in the coding bootcamp at Enspiral Development Academy.
That went really well, and from there I managed to land a job at CricHQ, a platform for managing cricket games and competitions. I'm really into cricket, so I was pretty happy that my first job out of Enspiral Development Academy was with CricHQ. I worked there for a few years, before coming to Koordinates.
So you’ve been at Koordinates about six months. What are some of the projects you’ve been working on?
At the moment, I’m helping with the rebuild of the ‘admin’ side of the Koordinates application. When I started, we were just launching a feature called Exports—which, as the name suggests, gives publishers a simple way to view and manage the data exports from their site.
From there I jumped into Sources. This feature helps publishers connect their site to a data source, like Amazon S3, PostgreSQL, or WFS, which they can then scan. Koordinates has always done this, but now we’ve made it much easier to self-service.
After Sources, I moved into Users and Groups, which is about helping with user management and permissions. And I’m now working on Manage Data, which is the biggest chunk of work so far. This is a feature that our customers will be using everyday—it’s basically the place where they’ll get a central admin view of the data in their site.
You’ve also been working on a front-end component library. Can you explain what that is?
Yeah, we’ve been working on a component library—code-named Moss. The basic idea is that we’re breaking up the application into little bits we can reuse again and again. This isn’t a perfect metaphor, but I like to think of it as clicking together pieces of lego. You can take chunks that you’ve already built and piece them together.
The benefits of using a library is that every time we use a component in the product, it will look and act the same. So, if you open a menu in location A, it will be the same experience as when you open a menu in location B. This will make it a more consistent user experience.
So we've been component-ising the product, and making sure that everything is consistent across the board. I’ve been working hard with Brent Neave, our Head of Design, to do that.
What would you do without the library?
Basically, you’d need to build everything again. We already had a CSS library, but underneath, we were having to build things from scratch. This meant that everything looked the same, but it didn’t always act the same.
So the component library will save a lot of time as we build the product, and will also make it easier to spot and fix issues as they crop up.
I hear you had some QGIS training with our resident expert, Anne Harper?
This whole geospatial world is pretty new to me — it’s a bit of a black box—so I’ve been trying to pick up bits and pieces where I can. It’s been really fun to learn all that. Anne’s training was great, and I’ve been doing some additional QGIS training using maps from Game of Thrones. So I’m learning a lot about GIS, but it just happens to be on a map of Westeros.