We describe medicine as the "medical practice" because there is still a lot we do not know and understand about it. Some of what we do when trying to handle our medical issues is even today still in practice and experimental. We are still guessing and experimenting to figure out how the body, viruses and medicine works. I think many developers act this way with their own "coding practice". Pressing F5 and poking at the debugger to see how it works.

Are you practicing coding?

How would you know if you are just practicing coding rather than treating it like the engineering discipline that it is? When you are testing your code do you F5 (run it) and check to see if it works or are you running it to validate that it does exactly what you expected? If you are not sure that your code will work then you are still practicing rather than engineering.

If I told you before you F5 (run) that if the code didn't work you'd have to pay $100 per bug found how quick would you be interested in reviewing the code? I'm not suggesting that you have to write 100% bug free code but what I'm suggesting is that you CAN know that your application will work before you ever run it.

Code is deterministic!

Every time you run an application it will operate exactly how you have designed and coded it. It will never operate any differently. I've seen many developers act as if software engineering is some sort of "magic". There is no magic and computers always perform exactly as they are designed. Yes, we built the computer so we know exactly how it works. Basically the bits from your application will process the same way every time. Now if you write a application poorly then that application will run poorly every time. If you do not understand your code then how do you expect it to work?

You are a software engineer

Bring an engineering approach to your solution that solve your customer needs. Learn your craft. Understand your tools. Take the requirements, design a solution, implement the solution, then deliver working software. It's really as simple as that. You are an engineer so it's time to stop the "coding practice" and start providing engineered solid software solutions.