Software development has been my passion for over 35 years. As a kid I taught myself QBasic and basic database programming to catalog my baseball card collection. Since those early years I continued to expand my education and experience. For the last 25 years the majority of projects have been developed using Microsoft technologies. At this time, I can say with some confidence that I have learned, used, and forgotten more languages and skills than a lot of other consultants have learned.
Some of those used and forgotten skills include Fortran, Assembly, Cobol, dBase, Clarion, Clipper, and the list goes on. Many question why I advertise the skills I have forgotten. The simple answer is that it is proof that what we use today in this field may be gone next year or in five years. At the time I used those lost skills they were mainstream. I’ve learned the important lesson that to remain relevant and useful as an application development consultant I have to continue learning and expanding my toolset.
Between my day job as a technical team lead / senior application development engineer and my consulting gigs I have a certain amount of leeway to pick and choose the assignments I work on personally. Unlike in the early days when I was just happy to be sitting at a console banging our source code, today I enjoy the engineering aspects of my work as much as the actual coding. Gone are the days when I hear about a project, open up Visual Studio and just start writing data access layers, API controllers, and other code objects. Now I plan my work. I create diagrams, and lots of them, to document my solutions BEFORE writing code. This planning and design time pays off in the long run because I think through my solutions and can more easily make changes to a data flow diagram, entity relationship diagram, or process model than I can to hundreds and thousands of lines of code.