2024 Update
I had a realisation that it's been over a year since I posted anything on this blog and I've been wanting to rectify that for a while. I don't know if it's just getting older, or that I have genuinely been busy with 'other' things that I have struggled to string anything meaningful together. Ultimately I feel like having a technical blog is tough, because you need a perfect storm of a good topic, a deep enough knowledge and also the willpower and time to actually write it down and refine it.
So, I am going to try something I haven't really done historically, which is share a bit of an update on things that have been going on this year that maybe might be of interest.
Promotion to Staff Engineer #
This has been an interesting experience - at the beginning of the year I was promoted to Staff Engineer at Nearform. In some ways a lot of the 'expectations' of this role I had already been doing, so my day to day hasn't changed dramatically. I might write about the staff role in a bit more detail another time, but I think if I had to make a (perhaps obvious) observation about the change it would that as you go up seniority chain as a developer, the things you get concerned with become wider and the time-frames longer.
That is to say, as a junior developer I was tightly focused on completing my sprint tickets, ensuring that a component is built and works as expected, learning lots on the way. As a mid-level developer I was starting to think about delivering a feature end-to-end, which might span a few weeks. As a senior, you move to thinking beyond just the tangible delivery of the feature, to also thinking about the none functional requirements (NFRs) of the feature (the security, performance, accessibility etc) and how this feature might impact other features that already exist or could exist in the future. For me the Staff role has taken that even further, to thinking about how a feature will work end to end, where does it fit into the current road map, what will it enable or prevent in the future, how does it impact what else we're building at the moment, what technical debt might we take on by doing this, and so forth. The time scale is now in that of months and even years.
Terra Draw #
I have been working on Terra Draw for about two and half years now, and it's taking up a decent chunk of my personal time at the moment. For those of you who don't know Terra Draw is an open source library for drawing on web maps, and supports a lot of mapping libraries out the box, such as open source favourites Leaflet, OpenLayers, MapLibre. A couple of exciting things that have happened is getting to speak at FOSS4G EU in Tartu, Estonia, about the project and giving an update on the project with attendees. The second thing is that Terra Draw is also now officially an OS Geo Community Project (for those of you who don't know, Open Source Geospatial Foundation is a non-profit, non-governmental organization dedicated to supporting and promoting the collaborative development of open-source geospatial software).
I am also speaking at FOSS4G UK in Bristol in November to talk a bit about what it has been like trying to draw Terra Draw. To give a summary of what I plan on saying, running and trying to grow an Open Source project has been a really interesting experience - in some ways an emotional rollercoaster of 'why would anyone care about what I'm trying to build?' to 'It's crazy that people are actually using this software in production'. There's an acknowledgement that if you want to build something with some level of lasting impact, you need to be in it for the long-haul. It takes a while to build something up and it's rare 'success' (whatever you want to measure that by) comes over night.
Winding Down as a Google Developer Expert #
I made the conscious decision this year to wind down being a Google Developer Expert. Essentially I just decided that I wanted focus more energy on other aspects of my life such as open source and my personal hobbies. It's been a fun experience over the last 6 years or so, with some personal highlights being speaking at KharkivJS in Ukraine and DevFest Tbilisi in 2019, and also really enjoying myself last year at the DevFest in Glasgow. I hope that I can continue to speak at international conferences, when I can figure out some good topics for to share with others.
Something I Want to Build #
I had another idea for a library which maybe I'll get to at Christmas, but it would basically be another JavaScript library that allowed you to take a GeoJSON Polygon (Polygon A) and the pass a given other polygon (Polygon B) and try and to pack Polygon B as many times as possible into Polygon A as possible. This is basically a 'packing problem', extended to the geospatial realm. It could start with basic regular polygons, packed at a given orientation, looking letting the algorithm pick and optimal orientation, or even allowing them to be freeform and packed an any orientation. Later on you could accept an arbitrary number of irregular polygons and try to pack them - there's many permutations of the problem that could be handled. Maybe I'd be biting off more than I could chew, but it could be fun.
Final words #
There we go, a bit of an update on things that have been going on. I hope to start getting back to blogging more regularly, but we'll see how that goes!
Published