The past two days I've visited the Codemotion conference in Amsterdam. In this post I'll share some ideas that I found to be noteworthy and my thoughts on them. Noteworthy talks on day one were:

Controlling Drones with JavaScript

An interesting presentation by Jasper Schulte in which he showed how he made numerous little drones (DJI Tello) fly in all sorts of patterns. He also made a game in which drones would chase each other based on commands given by the players. Most of his effort went into calibration of the drones, in the sense that these drones would be given coordinates to fly to, but they wouldn’t really exactly reach those coordinates. By repeating the target coordinates and (probably) some other code he’d make them more reliable.

The downsides of the drones he used was that their system was proprietary. The code of the drones wasn’t changeable and in order for the drones to understand the space in which they were flying “target pads” were used that were also custom to this manufacturer.

The code will at some point be available on GitHub. When it is I’ll link to it from here.

Taking Back “Software Engineering”

Dave Farley is best known for the book Continuous Delivery. He gave an interesting presentation on “software engineering”. Showing that the term can be applied to our profession somewhat, and that we definitely should employ engineering techniques to aim for achieving higher reproducibility and quality, by for example doing more measurements, applying the scientific method more often, and various other practices. He believes engineers in other fields are right when they say software developers are not true engineers, but that it is only the case at this moment and doesn’t have to be so towards the future. We should not act like engineers, we should be engineers.

Welcome to the world of micro-apps. How to get the most of front-end microservices

Sander Hoogendoorn’s presentation on front-end microservices gave more questions than answers. I believe that it was difficult to fit his presentation within the 40 minutes allotted. He nicely described some of the basic ideas behind microservices and the usage of bounded contexts as per domain driven design and afterwards told the audience to apply the same ideas to the front-end. He specifically stated that being able to use multiple front-end technologies (e.g. SPA frameworks) is a great benefit. However, a lot of questions and thoughts on this remained unanswered, such as: if we use micro-frontends for the perceived benefit of easily changing front-end technology, how do we ensure the size of our application as a user navigates doesn’t get to big; and how will we combine various routing mechanisms?

All in all, creating front-end applications that are clearly separated between bounded contexts is a proper idea which I also used during my time at Independer where teams work on limited number of bounded contexts at a time. But I’m reluctant in believing that combining many different front-end frameworks is a good idea for the user’s experience. It simply adds to the complexity of your application.

If you believe we should be engineers then hopping from whatever JS framework that is hip to another one all the time is something we should be more reluctant to do.

Invest your Social Capital for Change!

Many organisations mention their flat hierarchies (oxymoron intentional) in their job ads, but usually their hierarchies are more bloated than advertised. In this talk Stefanie Grewenig who works at ThoughtWorks presented the idea of social capital as being something that you gain through your actions within a company or ecosystem and as something you can use to help others in achieving their goals.

Acquiring social capital is harder for some than it is for others and thus being more mindful about it can go a long way. An example talked about was that of the "company event". If attending company events which often occur outside of work hours is considered valuable, then you need to think of those that have a harder time to be at those events. This includes thinking of care-takers by not having all events happen in the evening; being mindful about people with disabilities and the fact that they can't join certain sports events; or even something as simple as not always having your events happen on the same day to make sure part-time employees can also join.

Another example is using your social capital to give someone access. Stefanie mentioned a colleague who was in direct contact with Martin Fowler, using his direct access to help another colleague to get an article cross-posted on Fowler's blog. As Fowler is well known within the software development community. This was a way to give a lot of visibility to someone who otherwise would have had an interesting idea, but would have reached far less people.

This talk definitely was one that started some reflection on the ways I have or have not used my social capital in the past and how I will do better in the future. I invite you to also reflect on this.