Kari Marttila

On Superorganisms

IntroductionLink to Introduction

A superorganism is a group of synergetically interacting organisms of the same species. (Wikipedia)

I just gave a Clojure full-stack app demonstration of how to visualize IoT data pushed to the AWS IoT platform that I created earlier for our customer (see my previous blog posts: AWS IoT First Reflections and AWS IoT Storage Considerations). It was a pretty hectic couple of days of Clojure programming. I'm not that good frontend developer. But after a couple of days, I was amazed how I managed to create a pretty good frontend app in which the customer can select various IoT devices, various metrics and visualize and compare different IoT devices utilizing multiple graphics. Here you can see the first raw version of the frontend (implemented using Clojurescript, Reagent, re-frame, some React components (React Select), Bulma, and Vega Lite):

First version of the IoT data visualizer

Case StudyLink to Case Study

I'm an old backend developer. And after my backend programmer career (mostly C, C++, Java, and Python), I worked for years as an architect in big projects in one of the largest IT corporations in the Nordics. When I joined Metosin, I had minimal experience related to modern frontend development. Therefore, I was pretty amazed that I could create the demo frontend application connected to the backend application and use the IoT test data from the RDS service in the AWS data center in a couple of days. This would not have been possible without a vibrant and helpful company, precisely like Metosin is. Some 90% of the frontend code is pretty simple. Even a mediocre frontend developer like me can create it being quite productive. But the last 10% involves different magic that could have halted the development altogether if I had been implementing the app myself.

The great thing about Metosin is that it is like a superorganism. There are just about 20 developers, but all those developers are super competent in one or several areas. You don't have to be a super guru in all of those areas. Like in this case: I have been implementing AWS infrastructures using Terraform for many years - I had no issues when implementing the AWS IoT platform for our customer. I have also been implementing Clojure backend applications for some years now and I had no issues there. But frontend development has various aspects which I see quite "magical" (at least until I have learned them.)

So, whenever I had some issues (e.g., why the Vega graphics window does not resize?) I immediately sent a question to the Metosin Slack channel. Usually, someone replied to me in some 15 minutes: "Would you like to have a screen sharing session together? I would like to investigate the issue with you." Wow. Then we spent some time together. I learned amazing things about using the Chrome developer tool to inspect the html element CSS parameters, adding custom CSS classes to paint rectangles around the problematic entity to debug the issue in browser view, etc. After consulting the CSS issue with two of our CSS experts, they both acknowledged: "This is not a CSS issue." Then one of them said to me: "Give me a couple of hours, I create a demo app and study how to solve this issue using React ref" - "What the heck is a React ref?" I was wondering at that moment. Anyway, I just continued implementing other parts of the demonstration, and after some 60 minutes, my colleague pinged me that we could have another screen-sharing session together. In this session, he explained to me what a React ref is and how we will use it to fix the issue. Wow. This not only solved my problem with the demonstration, but I also learned a lot of new things!

SuperorganismLink to Superorganism

It is absolutely fabulous to work at Metosin. There are just some 20 developers, but they all excel in one or more areas. If you have any issues in any area of modern software development (AWS/GCP infra, Terraform, databases, networking, security, backend development, frontend development, React, CSS...), there are at least one or many specialists who are really, really good at it. And they are willing to help. At Metosin, we all understand that together we are strong. Together we form a superorganism in which every developer has all super competencies any individual specialist possesses. This superpower makes Metosin so productive to implement quickly and with extremely high-quality turn-key solutions: modern cloud infrastructures and backends and frontends running in those infrastructures. Contact us; you won't be disappointed!

Kari Marttila