Software development... the mental approach. 
Software design patterns have been around for quite some time, and probably has been set as the de facto design approach to development in many companies. My personal approach to it is much more simple, use what you need. I can hear the knives being sharpened. But it has been my experience working with with junior and mid-level skilled developers that they always seek (or even just plainly expect) all the answers be in the technology and/or patterns/frameworks or any other funky fancy why to code a certain way. Yet it is my believe that the true language of technology is simply..... logic.

Approaching software development can be approached in one of two ways, technical or logical. I recall a time where when trying to plan a development task I would always think in code. Pondering what code would I write, what command I would call and where. It was always about finding a simpler and faster way to write the code and be done with it and the world is a better place. Then funny how always it works when running on my pc and on my test data. But installing/deploying it anywhere else it just never seem to work properly, and you need to do code changes to make it work. Then the code keeps changing and changing as it goes on. Not difficult to imagine what you end up with. This might not seem apparent to the developer, simply because he still has the advantage of having the morphed conceptional model in his mind about the work. Yet when the next person comes around, he/she then pretty much end up clueless.

This is a simple concept, and any software development expert will probably accept it as a common and simple problem. Use development methodologies, perform regular code reviews and so on. Although the purpose of all these types of processes is to ensure that code is structured and consistent, but in reality still will not ensure that code will function correctly as required. Senior and experience personal understands the differences, but what about the rest? There seems to be some kind of divide of understanding. I believe this divide is simple, function vs logic. In my experience I have always have to struggle with the 2 concepts when instructing or mentoring my fellow developers.
Read More...

[ add comment ] ( 6 views )   |  permalink  |   ( 2.7 / 107 )

<Back | 1 | Next> Last>>