Terry is currently CTO for Marine Learning Systems. Marine Learning Systems is an eLearning software and services provider to the maritime and resource industry. Marine Learning Systems also provides a full complement of services to support you from idea all the way through to ongoing operations and maintenance.
See more at:
Terry was President of AssociCom, a Vancouver-based start-up that builds online communities for professional and trade associations. Prior to AssociCom, he worked in a number of Vancouver-based companies as a technology leader. His expertise in software architecture and software development processes has allowed him to make significant contributions in all of his roles. As CTO for Vitrium Systems Inc., he led the development organization through the release of three new products, and the customer base expanded from under 10 to over 200. From 2001 to 2005, he was the VP of Development at Silicon Chalk Inc. where he led a team developing a unique real-time collaboration tool for use at universities and colleges. Terry was also a founding partner in Network Software Group Inc. (acquired by Open Text Corporation, 1996) and Director of Software Development at GPS Industries Inc.
To support the development of the software industry and profession, Terry is an active contributor to the Association for Computing Machinery (ACM), the world’s largest scientific, innovation, educational and professional association. Terry sits on the Practitioner Board and Queue Editorial Board with top innovation leaders and pioneers where he shares his deep insights with a worldwide audience.
To listen to the interview, click on this MP3 file link
Interview Time Index (MM:SS) and Topic
Can you tell us more about the ACM and the value they provide to business, industry, education, technology and society?
"....The ACM is a very interesting organization, particularly compared to other scientific organizations, because of the breadth of roles that it carries out....What's interesting about the ACM is that they also act as the informal (de facto) body of people representing professional computer scientists, software developers, but not necessarily acting in the academic arena. This is not normal for scientific Societies; they don't normally address the professional side of the field they are dealing with...."
Can you give us some insights as to the roles you have with the ACM?
"....I've been involved as a volunteer since about 2000....The Queue Editorial Board is how I became initially connected with the ACM. Once I had been working on it for a little bit I was asked whether I would like to become a part of their Membership Services Board....I am the Chair of the Case Studies committee and am responsible for corralling the various volunteers who are on the committee and finding new volunteers. That committee's purpose is rather like the Queue magazine Editorial Board whose purpose is to go and find good things to write case studies about....There's a huge scope of things going on inside the organization...."
What innovations and projects should we be looking for from the Practitioner Board and what is the value to business and IT professionals?
"....We're at a phase now where we are trying to consolidate a number of things that we've done in the past. The history with the Professions (Practitioner) Board came into existence after Queue magazine when the ACM realized that there were a broad set of services and capabilities that the organization would need to provide for practitioners....What's happened over time is the portfolio of the Practitioner Board has expanded to include various things. There has been a substantial expansion of the capabilities of the Practitioner Board and the set of things that it manages....We are engaged in a process right now which is more of a broad attempt to create a unified presentation of how the ACM interacts with practitioners. We want to make it easy for practitioners to come to the ACM (primarily through the website) and understand what the organization is and what it has to offer to them....[See http://learning.acm.org]...."
You talked about some of the projects that have come out of the Practitioner Board and earlier you talked about the Queue Editorial Board. Are there any upcoming articles, case studies or videos which may be of interest and perhaps give us a 'sneak peek' that you think will be of value to businesses and IT professionals?
Tell us more about the company Marine Learning Systems where you are putting a lot of effort in right now and what is your role there?
"....Currently I am the CTO of a very small start-up in Vancouver called Marine Learning Systems. Marine Learning Systems has created a learning management system that is very specifically targeted at the moment with the marine industry, although we do see some areas where it can be used in other industries as well....Our system can dynamically assemble content to create customized content for the person who is actually sitting down and looking at it....Unlike a university, in an industrial setting there is a real connection between a learning management system and the way people progress through their careers so that's another interesting aspect of the software that we're working on...."
What technologies are you employing with Marine Learning Systems and why?
"....For the past 10 years I have been mostly focused on Microsoft technologies which came out pretty much randomly about 10 years ago. The company I was involved with at the time was building an application that had to run on laptop computers in educational settings and at that particular time the market essentially was that all of those laptops were running Windows. So the most obvious choice for a development environment for building that software was to be working inside the Microsoft set of technologies. I've just continued on that path in my career. So at Marine Learning Systems we are basically still a .NET shop....We use some Open Source tools (for example I'm a big believer in dependency injection), and we use an Open Source tool called Castle Windsor which does dependency management, dependency injection for us. We have very recently ourselves started building out a single page application using Angular.JS...."
What are the top challenges at Marine Learning Systems and how are you specifically solving them?
"....The challenges for us are trying to understand with laser focus what it is that our customers really need and building that for them as quickly as possible....Like many start-ups, funding is always a challenge. There's a huge amount of 'upfront investment' that's necessary to make a start-up function and you are investing in technology and in creating software but you are also investing in things like development of customers and that type of thing....Over those past 30 years technology has changed constantly and the pace of change is amazing. This is a huge challenge for technology organizations that we are constantly having to learn new things and having to adapt in order to provide the best capabilities for our customers...."
From your experiences at Marine Learning Systems, what are your top business development recommendations, your top software and architecture development recommendations?
"....The biggest recommendation that one has for architecture and design is not about specific technologies or approaches, it is to be aware of the forces at play....The biggest piece of advice is there is no right answer, there is only a right answer for a particular situation you're in and you won't know the right answer until you actually look at and understand the situation. You need to be flexible and be willing to (in some sense) abandon your firm beliefs and actually look at the context you're in and evaluate what's going to be most valuable there...."
Based on your experience from working on start-ups and with Marine L S are there any business development ideas that you think that people should adopt or some themes that they should be aware of?
"....I think that this is going to vary from context to context depending on who you are going to be selling your product to and how you think you are going to be selling it....From the business development prospective I guess the underlying principle is the same....You've got to get out there finding and talking to potential customers, understanding what's happening in their business and how your idea relates to those things. When you do those things you will at least have the raw information that will help you guide how the rest of your organization should be developed....The skill or the talent that you need is to recognize when your context matches up with what they're describing...."
How would you contrast Microsoft with other development environments? Pros and cons of each and why choose Microsoft?
"....Part of the choice of Microsoft for me has just been historical and it came from that contextual thing. If I'm running an environment for a laptop machine running Windows, what else would I choose other than a Microsoft environment? Sometimes you choose things because it's the only logical answer even if there might be other better technologies around at that particular point in time....I think there are clear differences, advantages and disadvantages between Microsoft technologies and more of the kind of Open Source technologies because I think that is the big alternative that one has....As a software developer you should try not to tie yourself to a particular technology stack and you should try to recognize what these abstractions and commonalities are across all of these things and be willing to change. I say this in spite the fact that I haven't changed because I guess in some sense I've been lucky enough that I have never encountered a situation where I had to...."
What is the value of Windows 8.1 and do you have any recommendations?
"....For me, technology changes so we better get used to adapting even if it's painful and even if we are going to have to make some adjustment, we might as well just get used to it and do these things....I think that I have an appreciation for why they've built it the way that they have, and obviously the mobile device category has assumed this incredible importance in the overall technology landscape and it's done so in a relatively short period of time....As a person who uses this on a daily basis, that's my main machine at work — it's a Windows 8 machine, I don't find any particular problem with it at all...."
What are your recommendations for mobile adoption and usage in enterprises?
"....As a guy who has been involved only in start-ups for a very long period of time I don't have a lot of direct exposure to the forces that come into play at an enterprise level in regards to the mobile devices, but it's obvious to me and presumably to you and every one of your listeners that mobile technology is here stay. It's an incredible value add-in that it's going to be a part of any enterprise-level IT plan moving forward....Beyond that, there are a whole bunch of issues associated with them that as I said I don't have a great deal of experience with (a lot of policy, procedural and operational stuff going on in terms of data management and stuff like that)....My only recommendation is to be aware of those things and to think about how these things are going to affect the IT infrastructure of your organization...."
What are your top recommendations for using the latest edition of Visual Studio?
"....My advice to people would be if you have the time I think an integrated solution would be great because I sometimes yearn for those types of things....My recommendation particularly to development managers, is to think about whether they can get an integrated solution, to think about the kind of reporting that they want, and make sure that they get that stuff in place when they've got breathing space....I think a recommendation that I would have for a developer is be aware what the capabilities of your tools are....Whether it's Visual Studio or whether it's Eclipse or whatever it is that you're using, your tool probably has all kinds of features that you're not aware of and you should spend some time to look around at what other people are doing...."
Throughout this entire conversation you've been providing some recommendations on various kinds of technologies. Do you have any other recommendations you want to make on Microsoft platforms and technologies?
"....There are lots of other interesting areas of Microsoft technologies that I haven't had the opportunity to touch down on enough to provide reasonable recommendations, but certainly the rule stands and that is to be aware of what your needs are and try to map those very carefully onto the technology that you are choosing....
Do you have any other recommendations for good architecture?
"....Good architecture — there's a lot of debate about that in the software development community....People think that there is a right way of developing software but there isn't. There's not a right way of developing software and a precise set of rules that say always do this. It's a meta set of rules that say look at what you're trying to achieve and create a software development process and a set of methodologies that will let you achieve those goals. What’s interesting about software is the breadth of possibilities there. There are so many possibilities that can be at play and so many ways of playing stuff out that there is no way that you could come up with a methodology that would cover off all of those bases...."
What are some of your recommendations for using social media and collaboration technologies?
"....Across the organization when you look at different business areas that exist: sales, marketing, customer support, development and the actual IT infrastructure of the organization, all of these things use social media in different ways....Back in the good old days we would do this through mailing lists....The fundamental capabilities are similar, we've got content and we're communicating it. What social media or the new capabilities that have come into play in the past couple of years have is a sense of history and timeline to things....Another is relevance filtering by your social connections to the rest of the organization....Another is emphasizing how easy communication can be...."
Can you describe any areas that you would consider highly controversial or where there is a lot of debate in the areas that you work?
"....I think I already mentioned the areas that generate most of the debate, where the people are most wedded to their views have to do with software development methodologies, tools and design approaches, because they tend to think that there is one way that's going to solve every problem....Unfortunately those conversations never go anywhere because very few people involved in them are willing to take a step back from their positions...."
What do you think are some of the future top disruptive innovations that business executives should be watching for?
"....It's a tough question to answer. I've been a software developer for so long and have been involved in these situations where I've had to lead teams in order to create things, so when I tend to think about what kind of products I could create or how things could be disruptive I unfortunately always end up coming back to software development....Because of my very focused background I don't have the breadth of experience in other parts of the world to see where those opportunities are and I don't have a sense of where those disruptive capabilities are going to be coming from. It's not just understanding the technology that matters, it is also understanding everything that's going on in those particular businesses or environments. I can certainly see the general shape of things going on, things like mobile are going to become increasingly important. I think we are probably close to the turning point for more ubiquitous computing technologies where computing becomes more of the environment and not always specialization...."
Please choose one or two (or more) of the following concepts to comment on? The concepts are: Judea Pearl's external validity work, D Wave and Quantum Computing, Kurzweil and the singularity, this whole thing called Deep Learning.
"....Quantum computing is fascinating....I think it has some huge ramifications for computing overall if we do develop these kinds of capabilities, but again my knowledge is so scant that I have a hard time projecting where this stuff is going to go in the future. It could be wild and wonderful. Like anything to do with quantum mechanics it is so counter-intuitive to our normal intuition that it is really difficult to project how it's going to unfold. The singularity is absolutely fascinating....I read singularity as being the point where our computing power is sufficient that we can effectively model, emulate, execute something that is a parallel to our kind of intellectual processor — the brain....I don't think that these things are ridiculously far off in the future...."
From your extensive speaking, travels, and work, can you share some interesting stories (amusing, surprising, unexpected, amazing)?
"....The past year has been one of keeping things moving along the same pattern that they've been for the time before that...."
If you were conducting this interview, what questions would you ask, and then what would be your answers?
"....We've been talking today about a much broader spectrum of things than we've talked about in the past, and touched a lot more about things that are passions of mine and maybe having more to do with my opinions about things than on the nitty-gritty details of software development that we spoke about last time....I can't think of things to ask and you've thought of things that I wouldn't have contemplated...."
Terry, with your demanding schedule, we are indeed fortunate to have you come in to do this interview. Thank you for sharing your deep experiences with our audience.