We want to be able to 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
Abstract
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.
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.
Benefits:
* feel the responsibility we IT professionals have
* understand how and why we frequently fail in the responsibility
* learn about the key aspects to apply to find the road to redemption