Principal Software Architect
CurrentAt The MathWorks I have been involved with the exploration and adoption of new technology for product development both within MATLAB and in new cloud based SaaS offerings. My projects have included SaaS services that enable MATLAB to run in a browser with a custom cloud based file-system (similar to Dropbox for MATLAB users), support MOOCs via a stateless service that runs MATLAB code (similar to AWS Lambda for MATLAB code) and enable Internet of Things (IoT) applications using WebSockets and access to MathWorks products where ever they are (similar to GoToMyPc for MATLAB). More specifically I have helped multiple teams understand the suitability of Micro Services architectures, OSGi, Spring, Java EE as well as Cloud Computing (Amazon Web Services), Scala, Akka and the Playframework. My role involves research and evaluation of technology alternatives, development of architectural spikes, evolutionary prototypes and then the adoption of designs and technology within product offerings by designing and developing key elements of the application. This process typically culminates with my coaching team members through the development and adoption process. This technology leadership has extended through the development of supporting processes such as applying architectural agile modeling techniques in a Scrum environment to assembling and adopting infrastructure such as build and test systems, e.g. sbt, Maven & TeamCity. Recently I have also led the adoption of Scala, Akka and the Play Framework for use within our SaaS offerings.