Ottawa, Ontario, Canada
As a systems thinker, I have come to realize that many challenging problems involve both technical systems and systems of people working together. As such, the intersection of technical and personal leadership is where I often find myself. Any complex system is near optimal state when it holds several aspects in steady-state balance or in a state of healthy tension: short-term vs long-term, speed vs quality, structure vs agility, etc. The challenge of achieving this tension and balance is where my passion and contributions lie. High energy leadership of complex software development and delivery spanning multiple (agile) teams including modular architecture, innovation, long-term vision of team and products, team management, development tools and processes, members' career development, resource management, etc. Leadership and Change Management Skills: Setting and executing on long-term vision while delivering short term, transition from waterfall to agile, transition from silos to cohesive high-performing teams, transition to DevOps, transition from static inflexible architectures to highly modular and flexible architectures, building high performing teams Software Skills: Real-time software, modular software architectures, embedded software, Multiple Agile teams, software development in highly critical/quality markets, software delivered as package with hardware, software development tools and processes Technology: Video Delivery Architecture Design, Multimedia Delivery Over the Internet, H264/5, VP8/9, MPEG4, RTMP, RTP UDP IP, Application Layer Multicast, Real-Time Video Delivery (conferencing and tellecollaboration) as well as Video-On-Demand, webRTC, uncompressed and mathematically lossless image compression (JPEG-LS, JPEG-2000) and low-latency uncompressed video delivery standards (GigE Vision, U3Vision, VIVOE) and timing over Ethernet (IEEE 1588 PTP)
Lead Zapier's engineering organization for its core platform and workflow product
Lead Zapier's product group (workflow, new apps, platform)
Responsible for Zapier's core platform groups supporting its existing industry-leading products and fuelling its next generation of products
Nanometrics' Seismic Monitoring Services empowers our global customers to make mission-critical operational decisions by delivering world-class seismic data services and products around the clock. I’m responsible for the research & scientific development and operation of the organization and its ability to deliver high-impact services: 1. A team of research scientists developing state of the art machine learning solutions to automatically detect and process seismic data; 2. A melded team of software engineers and operations experts (DevOps) delivering highly reliable cloud-based seismic data services to our customers; 3. A team of geophysicists who further interpret the seismic data, help operate seismic networks and look to drive excellence in quality and velocity of delivery of our services 4. A team of geophysical data analysts supporting our customers 24x7 by confirming and processing automatically detected and processed seismic events and contacting customers when appropriate
As part of a quickly growing company, my primary goal is to help scale the services division through: 1-Architecting new solutions and product (or improving existing products) to delight seismic services customers 2-Drive operational effectiveness across multiple groups (R&D, Science, Operations, Marketing, Sales, Data Analysis) to achieve customer desired outcome (e.g. building a DevOps culture) 3-Disrupt traditional seismology market with innovative solutions and new business models by introducing Software as a Service (SaaS)
Manage 3 software teams (Firmware, embedded software, GUI) consisting of all levels (principal, senior, intermediate, junior) producing timing product lines. Primary mandate is change: from waterfall to agile, modernizing tools and processes, introducing more regression and unit testing, documentation and better technical onboarding. Responsible for long-term vision of the team, resource management, members' career development, developing new leaders, software architecture, innovation, interfacing with other groups.
Responsible for the long-term overall architecture (software, embedded software, FPGA) of the video delivery platform at Pleora as well as researching, investigating and incorporating new innovative technologies into Pleora's video interface products. Manage a team of senior, experienced engineers in their career and definition of architecture and product technologies as well mentor junior team members to grow into more senior roles. Take part in definition, architecture, design and implementation of new innovative products and provide input into product management and sales and marketing regarding new technologies and architecture/platform impacts as well as absorb input from customers, product management and sales on architecture and technology directions the company should take.
Lead and manage all aspects of software development while continuing to contribute as an architect and senior developer. Leadership: maintain a long-term view of the position of the software within the company, the position of the company within the market and lead a group of highly engaged contributors to continually strive for high quality products while inspiring for the team to be a thought-leader in the market. Innovation: research emerging technologies, markets and disruptions, and foster a culture of innovation and forward-thinking within the group and company. Coordinate research efforts with external entities (universities and research centres) and create opportunities for technical risk-taking and exploration. Management: Responsible for all phases of development of Pleora's high performance video software, including project requirement, planning, scheduling, bug tracking and execution on time and on budget. Measuring performance of individuals, team and products for continuous improvement. Coordinate with external teams including Product Management, Application Engineering, Sales and Marketing as well as supporting customers directly. Technical: take part in design and architecture of software products and platforms. Involved in developing code (c++, python, javascript), bug fixing, testing and verification.
Lead a team of exceptional software developers towards providing a flexible, modular, customer friendly, cross-platform SDK for GigE and USB cameras. Participate in software architectural, design and specification efforts as well as develop features and fix defects in existing products. Foster a forward-thinking disciplined software team culture focused on on-time delivery of high quality products, improving processes and software over time and striving for excellence. Interface with application engineers and customers as well as product management to coordinate efforts, remove bottlenecks, and set priorities for the software team.
The adjunct position allowed me to keep in contact with students, professors and researchers at University of Ottawa. Through this relationship I was able to participate and help define collaborative research projects between my industrial employers (e.g. Magor) and University of Ottawa (e.g. DISCOVER lab). I also co-supervisored two Masters students and a Phd Student that worked on industry-coordinated projects. Projects were funded through NSERC. I am also a co-applicant on research projects funded by various government agencies, allowing me to keep a connection to academia and stay connected to academic research while working on cutting edge technology in the industry, culminating in several patents and publications in conferences and journals so far.