2 September 2012

Effective Design and Development Comes With Experience

No matter how many books one reads, if one does not have the practical skills to know how to use them they will struggle to apply them in any practical solution to a problem. It seems at times people may ponder at the fact that standing on shoulders of giants can give one the benefit of the doubt and experience, however, in development the only real experience one can achieve is the extensive practical applications one develops and the manner in which they are developed. Applying principles is fine but knowing when to apply them is key. Often times, developers follow the trends in technology and how so many are using them, and then they start to get on the bandwagon without fully grasping the applicability of such technology to their design. Being creative with the tools one develops an application is all fine and keeping them cutting edge and ready for future, but one needs to level of with the sense of whether the complexity is really worth it and whether they really are best tools for the job. One has to take authority figures with a pinch of salt when asking them about their opinion on the applicability of particular technology to an application. Again only the person that is responsible for delivery, has awareness of the business requirements, the cost benefit analysis, and the team experience knows what would be idealistic and realistic towards the expectations for an application development process and design. It seems inspiration and innovation go a long way in allowing one to think outside the box. However, what really needs to be delivered are requirements which are often set in stone to a degree. No one technology will ever be right for every job at hand so careful analysis, consultation, research, and prototyping are often the best ways forward towards a cycle of progressive implementation. It is a lot more important for one to prove to themselves what technologies can be realistically realized and also accepted by the team and business. At times this may call on one to sell the technology to fellow developers or product owners as a viable option. But, in end it is the product owners that have the final say even so far as the time they allow for a convincing case to be presented. Effective design skills do come with experience not only of one developer but of the collective. It is by doing that makes one garner those skills and experience to really see how something works and or doesn't work. A good developer thrives on producing results and delivery consistently through tested code, following the processes, and methods. A great developer takes their role further and embarks on their view as pragmatic team player, knows what they are developing will essentially be used by people, has a sense of persistence, skillful at being able to pinpoint problem-solution approaches, has a massive appetite for learning, knowledge, and constant improvement, and further is able to take the development of an application into a new way of doing things which often times prove to be effective in driving team and business transformation.