Now that the OPP is over, it is time to look back on the most interesting things that I have heard for the last couple of days. The first thing that comes to mind is the keynote given by Steven Feuerstein, titled "Wake up and Smell the …". In this keynote he covered lots of different aspects of the live of a programmer.
"Stop and smell the Roses"
The work we do boils down to three things:
- Think: solve a puzzle
- Type: write it down
- Get paid
Aren’t we lucky? I think so. According to Steven, I never thought of it this way before, programmers are sometimes considered the "Wizards of our Society". We are the interface between man and machine. Which brings us right to the next point.
"Wake up and Smell the Coffee"
As we are "the interface between man and machine" we also have a lot of responsibility. A world without software is impossible to imagine nowadays. Humans relies on software to function correctly. That is why you need to program ethically. Ethical Programming: if not us, who? Because thinking is part of our job, a big part, you need to take care of your "host body". The brain is one amazingly complex machine and you need to take care of it well. The recommendation Steven makes: "Drink lots of water, so you don’t dehydrate. Excercise, stretch, take frequent brakes" I think that is excellent advice, but I really like coffee. Starting next week I will cut back on my coffee intake and will start drinking more water. Now that I have written this down, I should stick to it.
"Wake up and Smell the Methodologies"
The PL/SQL community is not that big, especially when compared to the Java or the DotNet community. But we are very pragmatic, we just want to get the job done. Maybe because of this, there is not a whole lot of sharing going on. Blogs contribute to sharing experiences and code, at least that is what I believe. There is a lot to learn from other people, there are many innovations and lots of great ideas. There should be a lot more sharing in the PL/SQL Community. We can also learn a lot from other communities and start using methodologies that are quite uncommon in our community.
Extreme Programming is one of them, some of the principles of Extreme Programming can be quite useful. This brings us right to Steven’s latest obsession Unit Testing. I won’t go into that now.
Test-Driven-Development: let your tests drive the development of your programs.
Structured Programming: Steven: "Isn’t that for COBOL? They are dinosaurs" That provoked quite a stir in the audience as there were lots of COBOL programmers there. But Top-Down design is a good practice and so is getting rid of global variables in favor of passing arguments around. SF TDD Tip: Max 50 lines of executable code
Agile Software Development: Deliver software frequently. Have a sustainable development environment, a constant pace indefinitely. Keep learning.
Code for the Long Run
"PL/SQL is the COBOL of the 21st century." One day when our programs are still running, but we are retired, they will find a bug which needs to be fixed. They will ask us to come out of retirement to fix it and it will cost them. One day… In the meantime, we should code for the long run. Build software that will survive decades to come.
I always enjoy Steven’s presentations, he is so full of energy. A lot of great ideas that would certainly require follow-up.