I have enjoyed developing computer programs since my college days having to crunch data for political science courses on punch cards. Those machines were electro-mechanical but new electronic machines were just beginning to appear in the form of programmable calculators from Texas Instruments and Hewlett Packard.
Soon after I found I could make some extra money by writing calculator programs for engineering students, the Osborne portable PC came along sporting two floppy drives and a 40 character per line monochrome screen. The CPM operating system operating system opened up new doors to begin learning how to develop much more sophisticated software.
I never considered a career with computers at that time. I was having too much fun working in radio and TV, writing for newspapers, magazines and selling photographs along the way. Two years after college I found myself purchasing a Radio Shack Color Computer and teaching myself the basic language. Not long after that I purchased a PC running MS DOS and learned assembly, GW Basic and C because my hobby was starting to make me quite a bit of money on the side.
By this time my applications ranged from automating grain warehouse inspections and grain warehouse management to point of sale systems and investment portfolio management. I was starting to work with more powerful hardware running UNIX and UNIX clones. Relational databases, modular reusable code, modems and networked machines became part of the mix.
Having access to open source code was extremely helpful while learning new programming languages such as Fortran, COBOL and shell scripts in addition to C. That is still true today and I have contributed quite a bit of code to the open source community and greatly prefer open source systems and tools as opposed to proprietary such as those offered by Microsoft. It makes debugging huge systems much more simple when there are no black boxes hiding misbehaved code behind a corporate logo.
By this time, I had quit my “real” job and was working with other programmers on projects. I also found there was an awful lot of development that could be done that did not require me to code a human interface. Love, love, love!
The economy tanked in my home area of the Texas Panhandle so I decided to move to another part of the country where there were a lot more big companies with real IT departments looking for competent developers. I worked as a contractor and employee for several companies picking up on object oriented languages such as C++ and Delphi but learned to hate Visual Basic.
By the time Java came available I was writing code for a multitude of operating systems and hardware platforms from IBM, Tandem, DEC, Sun and HP. Java was the best thing that had come along since p-code for writing software that was capable of running with little or no changes on all these different platforms.
I was beginning to develop a strong background in enterprise application integration when the Internet became a new alternative for connecting machines and the applications running on them. Some of the companies I worked for had computing facilities located all over the US and even the world and made heavy use of leased lines and satellite for communications. The Internet has changed a lot of that infrastructure for better and worse.
After nearly fourteen years of commuting all over the US and a number of other countries, I suddenly found myself “overqualified” to be considered as a Sr. Enterprise Application Solutions Architect, Implementation Architect or even a plain heads down coder for big business. Most of the people who do the hiring these days are much younger than I am. No big deal to me but it must be to them and the company policies they are required to enforce.
i still have plenty of fire in my belly for creating a certain type of magic from electrons running through transistors, circuits, glass fiber and thin air. Not so happy that I have had to come full circle and consider how people interact with it via a human interface though.
You will notice my screens tend to have an uncluttered utilitarian look to them for the most part. Partly because I have always embraced the KISS design principle for coding and human interaction. Take the Google search page for example.
In addition to being a computer nerd for most of my life, I have been taking photographs since the age of five. Many of the images I share these days are influenced by my passion for the natural world and the amount of time I get to spend enjoying it. My first two phone apps are a direct result of my practical needs related to photography and the study and enjoyment of ecosystems and their inhabitants.