In my last editorial “The Computer is my Paintbrush,” I talked about the thrill I still get building applications after 30+ years in this business. There are two parts of this process that bring me joy. The first part is the process of creation. Taking an idea from thought to code to a working application is simply amazing to me. The second thrilling part of this process is observing the use of these applications. Sometimes I'm the user, and in many more cases, others receive the benefit from my applications.
That editorial was written from a singular point of view: MY point of view. What I mean by this is that I discussed writing applications as a SOLO developer. What I failed to mention is that there's another style of work that can bring joy, and that style of work involves working with others to build great things. What's this other style of work? Collaboration! Let's talk about collaboration.
When I started my career, I was a “Lone Wolf” coder. I was generally the solo programmer on staff and responsible for everything code related. It didn't take me too long to realize that this was a limiting factor in my progression as a developer. I soon began to seek out other developers. This was the era of CompuServe, so I took to some of the developer forums there to see how other developers worked. This definitely scratched an itch but was not totally fulfilling.
It wasn't until I got a job working for a company called The Juiceman that I learned just how valuable collaboration was. When I started at The Juiceman, I collaborated with some of the best developers I'd ever crossed paths with. Two of them, Eric Ranft and Mark Davis, are still friends to this day and have gone on to do great things (check out John Petersen's column to see what Eric went on to do).
After my time at The Juiceman, I moved to a company called Pinnacle Publishing. It was at Pinnacle where I established a friendship with Erik Ruthruff. Erik and I have collaborated on numerous projects for nearly three decades now. These projects include courseware development, building tools for managing conferences, and working on this magazine. I'm forever grateful for our collaboration and friendship. It's amazing how much a single person can affect your life.
Soon after leaving Pinnacle, I returned to my life as a Lone Wolf, this time as a consultant. This is a bit of a misnomer. There isn't really such a thing as a Lone Wolf consultant because consultants, by definition, work with others. During my years as consultant, I had the opportunity to meet and work with lots of other developers. It was also during this time that I got the conference speaker bug. It was at a conference that I met another long-term collaborator and now best friend, John Petersen. John and I met after I gave a session and we hit it off right away.
Soon after that conference, I started writing a Visual FoxPro book and I was trying to assemble a team of writers as I didn't want to write a whole book by myself. I KNEW that collaboration would be the only way to succeed in writing a book. It didn't take long before I pitched this idea to John to come on board to write a chapter or two. Long story short, John became a full-fledged contributor to the book and we've been working together in one capacity or another ever since.
I should also mention that during my book writing phase, I met Melanie Spiller (my kick-butt editor on this magazine) via another publisher. That collaboration didn't work out at the time (it was me, not Melanie for the record), but it has definitely worked well over the last 10 years for sure. So sometimes collaboration takes time to work.
Finally, I must mention one of the most intimate collaborators I've worked with for the last 15+ years: Greg Lawrence. Greg and I became friends when he worked at an ISP doing network stuff and a bit of HTML/JavaScript. It was this work that gave me the inkling that Greg might make a good developer. I took a chance on him and hired him as my first employee. My inkling was correct, and Greg did become a great developer, with whom I've been lucky enough to work on some killer applications.
I want to point out one thing that is valuable in this particular collaboration: the learning. Not Greg's learning but mine. Over many years, Greg has taught me a lot when it comes to teaching development skills, as well as how to build software. His skills as a developer have helped make my skills better. The apprentice is now the master, as they say in the Star Wars universe.
As many of you already know, I am a huge fan of the movie business and in particular, the process of movie making. The thing that I have learned from that industry is just how collaborative it really is. No good movie gets made without collaboration. and I feel the same with software development.
Collaboration can deliver real results and sometimes the best collaborations come from just a single sentence or comment. For nearly two decades, I served in the role of lead architect/engineer for a midwest credit card company. During this time, I provided many of the tools we built our applications with, including frameworks, libraries, tools and documentation. I recall one day when Dan Zerfas the VP of development (and still my friend), suggested that I wrap all these disparate tools into a common shell. When he spoke those words, I recognized a flash of brilliance. I went to work building a tool called DPSI Shell. DPSI is the acronym of my company name. This tool is still in use today - over 15 years. All this from one statement from a valued collaborator. The power of collaboration has never been more evident when I recall this story.
If I can leave you with one thought: Keep your ears, heart and mind open to collaboration. You never know where good ideas may come from.