Today on this day five years ago, I published my first entry on this blog. These last five years have been an amazing trip, and the number of visitors has seen a steady growth.
As of today, this blog has now around 300 unique visitors per day. I get up to twenty e-mails every week from visitors, which I really appreciate. Most contain technical questions about TwinCAT (in which case I refer to my new YouTube tutorial, StackOverflow or any other of the available resources). Sometimes it’s a simple “Thank you!” e-mail, and sometimes (though very seldom) it’s an angry e-mail that I’m an idiot putting all this information on the Internet and that I should remove it or put it behind a paywall (like Udemy). The last type of e-mails always makes me more motivated to create new content. During these five years I’ve written over 50 posts, some have barely received any reads, whereas others have gained a lot of attention. The (by amount of views) overwhelmingly most popular post was TwinCAT & Virtualization, which really makes a lot of sense when you come to think about it. It’s simply one of Beckhoff’s biggest strengths that you can create as many virtual machines as you want for your development or testing. It’s just not that fun to have to pay for a lot of expensive hardware when you simply want to write some software and test it out. Anyway…
I like to look back at what has happened these last five years, not so much for the purpose of nostalgia, but rather to know in which direction I should go next, which brings me to the future. I, with a traditional software background, have learned a lot from the automation industry. I think the automation industry has a lot to offer to us that are coming from and maybe still are working with “traditional” software development. But the opposite is true as well. There is so much that has been learned. I know there is a strong resistance to adopting modern software development practices into the automation industry for various reasons that have to be discussed. I consider myself lucky to have a foot in both worlds.
For this reason, my blog will take a slightly different turn and I will focus more of the content on why and how we can adopt modern software development practices in the world of industrial automation. I’ve been writing a little about this before (CI/CD, TDD, etc.). I’ve come to the realization that I need to put more focus and effort on this type of content because I think this is where there is much room for improvement. The discussions about what the best practices are usually end up with personal opinions (at best), or at worst with pitch forks and personal attacks. This is what we must try to stay out of. I believe that the scientific approach is the best tool we as humans have for making progress and improvements. To make improvements we need to be able to do measurements. You cannot improve what you cannot measure. There are big differences between different industries in various aspects, but the fundamentals for good software development are the same whether you write software for a phone produced in the millions, a single-unit packaging machine or a space shuttle. The approach of continuous delivery is the best tool we have as of today for delivery of software, and thus this is what I will be writing more about. Whether the content will be as text here on the blog, or as videos on my YouTube channel I haven’t decided yet.
Currently creating the TwinCAT 3 tutorial is what takes most of my free/spare-time (actually all of my weekends), so my goal is to finish this series. If the demand is there, I might do more free training material for other things than TwinCAT 3 PLC programming. Maybe TwinCAT 3 HMI or TwinCAT 3 motion? Please write a comment or two and let me know what you think!
I want to end this post by saying that I’ve noticed that the playing field for software development in the world of automation has started to change. I’ve seen the adoption of test driven development (TDD) of PLC-software in both small and really big companies. TcUnit has gained so much usage that it’s getting hard to keep up with the questions (contributors to the project are always welcome). Last, but not least, PLC s/w development blogs are starting to pop up, more questions are being asked (and answered) in StackOverflow/LinkedIn groups and more open-source initiatives are started. The cross-section of PLC software and traditional software practices, tools and techniques is where the fun is at.
Again, thanks to all my readers and we’ll see where we are in five years from now!