Code with Honor – on the importance and beauty of software programming
We want to be able look our customer (and our mom) in the eye and state that we are proud of the software we have delivered. Because it is a high quality and lasting product. But can we really? Let’s discuss how to bring our profession to the next level.How to be a Professional Software Professional
This practical presentation will make you understand why the Go language has been gaining adoption in the Oracle developer community.
As programmers, our main goal is to make IT work. To translate functional specification into executable code. And sure, that is the least we can do. But we have more responsibility than this. We have to produce software that is robust and will reliably handle expected and unexpected cases. Software that is scalable and can handle expected and somewhat unexpected load gracefully. With minimal operating costs and in the greenest way possible. Software that is observable and manageable and that can be evolved with changing and new functional requirements and with changing technology. Software that will be legacy in the original, positive meaning of the word. That does not depend on the one big brain in our team or on the guy that has been around for three decades. Software that we know is good and can comfortably be modified in a controlled and productive way.
This session talks about what it takes to create our code with honor. It discusses automation at every level in the build, rollout and monitoring of infrastructure (as code), platform and application, using CI/CD pipelines and DevOps procedures and tool. The session talks about testing – before and during development as well as after each change anywhere in the system and for both functional and non-functional aspects. Test driven development, regression testing and smoke testing are among the concepts discussed. The term ‘clean code’ refers to code that is readable, testable and maintainable. Through code analysis and peer reviews and by performing refactoring we constantly refine our software to be collectively adaptable.
The session demonstrates the concepts discussed with code samples in the context of cloud native programming.
As software developers, we have an obligation to society, to our peers and to ourselves to not only write software that does the job, but to create code that is good. Ours is a great and meaningful line of work, especially if we raise our game professionally to code with honor.
I have seen the books and talks on clean code, tdd, code quality, ; and it has taken until this Summer for me to really wake up. The products produced by us, the software professionals, are typically not good enough. It is working code, most of the times. But what exactly does it do? And can we prove that? How long will it continue to work? Can it riskfree and effortlessly be changed?
I want to discuss how I regard professional software development – how it can be done but first what our true objectives should be