A Brief History of SynaTree
Sometimes people ask me how I got into the software development business, or how I have always managed to find projects that seem unusual or a little unconventional, and I think it has a lot to do with the unique path I’ve taken through the industry, which still informs my approach to software design and architecture today.
By the time I got to high school, I had already been paid small amounts here and there to work on web pages for family friends, which somehow gave me the confidence to approach an internship at GlaxoSmithKline Pharmaceuticals; an opportunity that I learned about from a classified ad posted in my High School’s guidance counsellor’s office, and was probably better suited to recent college grad than a 16-year-old.
It was at GSK that I first learned Perl, TCL/TK, Bash scripting, polished my C++ skills and began my long affiliation with PHP. The independence I enjoyed there convinced me that I should try to come back the next year not as an intern but as a vendor under the name of my own business. It was also at GSK where I learned to love computer programming as it applies to science, which is still my favorite area of focus today. I love highly technical problems in fields that demand deep research and problems that reward careful thought.
It would be a few years until I got a chance to work on that kind of project again, unfortunately; I had to pass through a wilderness of exploitative clients and ill-conceived ideas of my own before coming out the other side, a story that I find is common to many independent software professionals.
For lack of any other name to call what I enjoyed doing, I began to present myself as a web developer, and I did some websites for small businesses and almost made a living at it for a few years. My love of technical problems led me to try again and again to develop Content Management Systems, either entirely of my own making, or based upon existing products (sorry, Joomla!). As the content management approach became more and more common, design became more and more important too. I remain proud of some (…some…) of my designs to this day, but I was never really a graphic designer per se.
I was beginning to get a little burned out on web design when I first learned about Yii, and around the same time, the Raspberry Pi. Yii breathed new life into my consulting business, because it allowed me to build complicated applications from the database layer up, and quickly make these systems operational. I loved the Raspberry Pi from the start, but for a few years I didn’t have any great brainstorms for how I could use it, beyond the “toy” examples that others had already established.
Luckily, I had the opportunity to work on a long term project with a great client who wanted to use the Raspberry Pi as the basis for a Casino Management System, which gave me the chance to work with the full breadth of my skill developed over many years in a single project — there was extensive Linux OS work to be done, there was web design, there was web application development, and there was a need to learn several new languages and techniques. Most of all, there was extensive software architecture to work out; licensing schemes, transport mechanisms, fault tolerance, remote control, and big data concerns. It was during this project that I first became familiar, and later quite experienced, with Python, web sockets, SQLite, and Redis.
Today I’m leaning hard into the Internet of Things, because my experiences throughout all of these years has only reinforced my core believe that hard problems need solving, and that the web still provides the best UI around. IoT projects often involve hard science issues, such as working with sensors, and often present novel problems like getting large amounts of data over poor quality connections, or training AI algorithms to recognize real-world circumstances, and I still find these problems to be the most rewarding.
Together with my growing team, I hope to continue to tackle the hardest problems with clients who want and need a true partner for the long term.