1. Good tests are the best documentation

    Reading time: 4 minutes

    Why do you test? Is is because you want to prevent errors on a deployment affecting the visitor? Is it because you simply want to know that the software does what it needs to do? Or maybe you want to get to know the software a bit better?

    Hopefully, in this day and age, your main software tests are automated. Running before a commit, running in the deployment pipeline and running on a testing environment. Repetitive jobs need automation and testing fits that mantra very well. This article is relevant for automated testing, although for certain topics you could use a manual testing perspective as well. If you like.

  2. Why the Developer eXperience (DX) matters for business

    Reading time: 4 minutes

    So. You’re a small, medium sized or even large scale company. IT is an integral part of your business, whether it is a small scale application or an enterprise grade platform. Let me repeat that for you: IT is an integral part of business. You know this, because you’ve been doing IT for a long time, right? But. Are you doing it right?

    Yes, you tick the SEO boxes and yes, off course you’re in the cloud (whatever the heck that is). You have backups 🤞. Nice! You even have a couple of scrum teams working together on your product. Extra nice!

  3. Getting rid of Monoliths

    Reading time: 6 minutes

    I am working for Jumbo Supermarkten, which is a large grocery chain in the Netherlands. This family owned business started to venture into e-commerce at about 10 years ago with a very small team of developers. Currently, we've grown into an IT department that consists of over 450 developers working on all digital solutions. We've made some changes over time on how we manage our software. I gave a talk together with my colleague on this topic, so let's share the write up here.

    So, if we rewind the clock the the founding of the Jumbo Tech Campus (JTC), where in the beginning the main purpose was to get started with e-commerce. What happened was that the team at the time did the thing that is most obvious with limited resources and a generic goal: they grabbed an off the shelf solution and started to implement it. This meant connecting to the existing brick and mortar stores, the delivery and storage APIs and whatnot.

  4. Conference with confidence

    Reading time: 6 minutes

    Last week I had the opportunity to speak at VueJS Amsterdam ❤️ together with a colleague of mine. It was my first time doing a talk at such a big event and thought to share my journey, and give you considerations for when you will be giving a first talk!

    Small disclaimer: I am by no means an expert in speaking, but that’s exactly why I think this post gives you insights for starting out. Also, the talk we gave was about a certain technology, but I think this article is generic enough to apply for any topic.

  5. Broken windows

    Reading time: 3 minutes

    In software engineering, we can apply a lot of the psychology findings to their digital counter part. If we consider the broken window theory, it doesn't apply to the operating system, but to the state of code.

    Let's go back to the source. From an article originating from 1982 ("Broken Windows") in The Atlantic by James Wilson and George Kelling.

  6. Interviews done right

    Reading time: 3 minutes

    Tech job interviews. They are a very important part of the continuity of an organisation and the trajectory can wildly vary per company. I want to highlight a couple of tips for both interviewer as interviewee, from my perspective as having done both on several occasions.

    Let's take a look at the companies' perspective. I think this perspective hold most value for both parties. Usually we can break down the interview process in a couple of steps, which boils down to the following phases:

  7. Challenge yourself with a Coding Challenge

    Reading time: 2 minutes

    As a mentor via CodingCoach.io I'm currently working my way through the 21 Days of Code coding challenge by Lighthouse Labs with my mentees. I thought to share our findings and resolutions here, as well as offer some perspective on these events.

    Firstly, I kind of like this iteration (we've previously did a similar coding challenge side by side). We're following a storyline involving the Mayor of Codeville and face different kinds of challenges. It's nice to have some context and not simply solving problems. I think this is a really engaging way of keeping interest and motivation.

  8. Optimised team work

    Reading time: 4 minutes

    With the right processes and tooling, it becomes a lot easier to share code between developers. With the right amount of documentation in the right place, you also flatten the learning curve for onboarding developers to get up to speed. This reduces the risk that responsibility lies with a single developer (read: a single point of failure) and encourages developers to share, contribute, review and refactor code. Just make sure you have ample coverage so that you confidently can refactor, with minimal impact on existing features.

    Any software project tends to grow in complexity over time. Without a good development strategy, sooner of later the quality of projects can erode.

  9. Educate yourself in a fast paced environment

    Reading time: 4 minutes

    Software development has such a high velocity compared to other industries because ideas and concepts can be shared so efficiently. I think the best description is the expression: “Standing on the shoulders of giants”: Make smart use of the work of your predecessors and colleagues. Use that also when acquiring knowledge: you don't have to do everything yourself. The development community is very large and helpful and a lot of information is easily accessible.

    If anything was indicative of the frontend community in 2016, it was the term JavaScript Fatigue. What does it mean? The number of JavaScript frameworks has exploded over the past period. Indeed, it is an overwhelming number of new methods, tools and techniques available to us as developers. What can you do to keep your head above water or even take advantage of these rapid developments?

  10. The faceless interfaces

    Reading time: 3 minutes

    Siri, Cortana, Google Home, SlackBot, the Star Trek computer and in lesser extent K.I.T.T. These are all interfaces without an actual ‘face’. The Internet of Things connecting personal assistants such as Echo, Jibo or Zenbo with your home. I tend to call them assistants and not bots. I believe there is a nuance, where bots are more suited to perform the same repetitive task over and over again and assistants are more orientated towards user interaction with changing context and tasks.

    Everything is connected: machine to machine, human to machine and vice versa.