In software engineering, it’s all about delivering software as fast as possible to enable true business agility. This is all about trying out new ideas and validating how successful these ideas turn out to be. This agility should be made possible by the chosen technology, development- and delivery process and its architecture.
Unfortunately, many Agile development teams in the recent years only focused on speed of delivery, forgetting about quality of delivery. This turns out problematic in the long run, where it might actually slow down those teams. Things like thorough testing, static code quality checks and code reviews should not be left out of the delivery cycle! Also, let’s not forget that the true art of creating high quality code takes time. So no shortcuts here please, as that will bite you in the butt in the end! To enable speed of delivery and still have a guarantee of quality, the whole delivery process should be fully automated.
As competition will always be pushing harder, we should always be improving ourselves and stay ahead or be run over by our competition!
As a software engineer, I’m both passionate about and experienced with: Continuous Delivery, DevOps, Containerization (Docker), JVM languages (Java, Scala, Groovy), JVM frameworks (Spring, JEE, ADF), Domain Driven Design, open source, Agile (Scrum) and Lean as a general mindset.