I’ve worked in software development/engineering for over 25 years professionally. During that time, I’ve worked on CAD (Computer Aided Design) software for EDA (Electronic Design Automation) of analog circuits, performed data audits, provided code optimization, and virtualized infrastructure. These projects have been performed for a number of startups, personal clients, major universities, and corporate behemoths including Amazon.
In that time, I’ve had the privilege of working with some truly incredible people. People with whom I’ve spent countless late nights solving fascinating and complex problems. The culture of sharing knowledge and helping others progress is one of my favorite parts of the industry. The tech community in Arizona has been always been lively and collaborative. I’ve made many excellent friends over the decades and hope to make many more.
In the spirit of giving back and meeting more outstanding people, I’ve also mentored people at the beginning of their careers, and taught countless students at hack-a-thons, talks and in traditional educational settings. Through all of this I’ve worked with and learned from some truly incredible community leaders on cybersecurity subcommittees, planning boards for hack-a-thons, and advisory boards for multiple schools.
I have always been drawn to programming because of the potential for one person’s efforts to save countless hours of toil for the rest of humanity. Even more interestingly, the potential for the computer to not just be a “bicycle for the mind” that lets us think more efficiently, but more like an aircraft that lets us reach cognitive heights that would impossible without it.
The truly amazing concepts and technologies needed to fulfill this dream do indeed exist –some of them dating all the way back to the 1950s– though they are hardly known outside of academic and defense circles.
The Worse is Better™ mentality has completely engulfed the industry. Every day moves us further into a technological dystopia where computers routinely waste more of our time than they save, erode our ability to think and focus so that we might see a few more ads, and make us vulnerable to brand new crimes and harms.
Today’s systems are built on fragile and failure-prone technologies that mostly ignore the last 70 years of research. They are increasingly complex, difficult to reason about, and full of undefined behavior. It’s no wonder that outages and security breaches, while once relatively rare, are now a weekly if not daily fixture of the news.
A majority of people in computing are not familiar with the technologies that have already been invented, and where computing should be today. Knowing that software can be reliable, trustworthy and secure is the first step toward pulling people away from the constant distractions and toward meaningful technological progress. I believe that the best way to accomplish these goals is via education, distributed systems research, and formal methods, while keeping cyber security considerations clearly in mind.