Yes, coding in its general sense is extremely easy, and it is getting easier by the day. So easy that a small child can rattle off some code and end up with something that works. In fact, for many years there I was in my little bubble with the IDE as my own personal universe where I could define my own rules on how things worked with little regard to anything anyone else said or did.
If I wanted on Monday to declare all variables in small case, then that was fine. If on Tuesday I decided that it was time for variables to be upper case – that was also okay. Documentation? Who needs documentation – it’s right there in front of you in plain code! Testing – yes I test my code – it compiled didn’t it! What a blissful time, how fun it was to be so youthful.
That was until a year or so after I wrote and released my first commercial monster code program and suddenly started learning that there was a difference between coding and software engineering. Yes, suddenly you look at the code of a released product and you feel a pain in your stomach when a very important client needs just a small addition made to the costing algorithm… Were is the costing algorithm!!! Was it this uppercase code, is that a variable or a constant? Was that the only loosely coupled function I have there? I’m pretty sure I remember writing a function that did exactly what I need this one to do now, six months ago – I just can’t remember where I put it or what I called it?
Then of course you wished you did more TDD – yes how peaceful you would sleep at night if you could just run a few tests and know that you hadn’t ignorantly broken something that worked previously by changing a small function. Yes, then syntax naming rules would suddenly seem valuable if you could just look at a screen of code and recognize different sections and find past written, long forgotten functions because you have a logical place of putting things.
Yes, then all of a sudden you wished you had paid more attention to best patterns & practices so that you could employ some young buck – tell him to read a few manuals and go on a few courses and then he/she could magically be able to take up the slack and do the slave coding. But alas, in this universe where you defined all the rules, you are the only person who can survive and so you are the only one stuck maintaining applications in vb6 and the only one not sleeping at night.
Coding is easy… so easy ;-(