I am passionate about the promise of technology — how strong teams of dedicated people can really leverage innovation to improve our lives. As a jack-of-all-trades, I have sparked many projects, in both startups and large corporations.
I love tackling big customer problems with clever and effective solutions. Not all solutions are technical, sometimes it is enough to just ask the right questions and address customers personally. I definitely get my hands dirty: designing architectures, writing code, and even testing. I truly believe that you need both product marketing and technical prowess to find the optimal, and humane, solution.
Specialties: project management, mentoring, interviewing, web development, systems programming, cloud computing, continuous integration, distributed computing, interdisciplinary thinking, root cause analysis, facilitating design, software architecture, information architecture, eloquent writing, and hosting dinner parties
Production Engineer @ Every day, over a billion people log in to Facebook to share their lives with friends and family. As a Production Engineer on the HBase team, I focus on reliability and disaster recovery for some of the biggest databases we have. From Messenger chats to graph search to real-time analytics, not only do we ingest torrential amounts of data, we also have to keep it safe.
I strongly advocated that we rebase our fork of HBase to the open-source version. Although there were many technical advantages at the time of forking, it was obvious that we were falling behind. I leveraged our existing recovery toolchain to migrate petabyte-sized databases to open-source clusters.
During a series of our famous Hackathons, I championed the prototype for a new Messenger desktop client after the old Windows client was discontinued. Although it was never on the roadmap, enough pent-up demand turned this into a released product. You can see the final web-based version at messenger.com. From February 2014 to Present (1 year 10 months) San Francisco Bay AreaDirector of Engineering @ Ecometrica makes the best carbon accounting software on the planet. I joined in order to build a new environment visualization platform. Our system harnesses public and private data and renders it on satellite maps, allowing new insights into complex business issues.
I took over the day-to-day management of our new product, leaving the CTO able to concentrate on existing ones. I pushed for better platforms and processes to improve productivity and communication throughout the company.
To rapidly iterate on the prototype, I led our designer in pursuing usability studies and requirements gathering. As our customer needs grew, I spearheaded the refactoring of our Python-based mapping system, making it far faster and more efficient. As our datasets grew, I lead the migration of our infrastructure from AWS to dedicated hosting, cutting our server costs by over 80%. From January 2012 to July 2013 (1 year 7 months) Montreal, Canada AreaLead Developer @ TrustCentric was a sister company of Pacific & Western Bank of Canada, an experiment in creating custom software that let the bank serve niche businesses that were ignored by larger financial institutions.
As the first employee of an internal startup, I did anything and everything to get our projects off the ground. With the fantastic team at Pacific & Western, we designed a system to automate our customers’ accounting and financial operations, directly from the back office software that runs their business.
I researched customer requirements and designed the marketing site for our pilot project. To integrate with the business, I coordinated with the bank’s financial team and devised the business processes to service the new product. In addition, I lead the development of the first version of our Python-based web service, both frontend and backend, with API integration to the bank's existing Delphi-based systems. From November 2010 to December 2011 (1 year 2 months) Montreal, Canada AreaDrunken Master @ Inspired by the trends in social networks and alternative reality, Akoha was an effort to create a social game that was driven by mobile devices.
As part of the founding team, I built the core infrastructure that every software startup needs: bug tracking, a wiki, a build system, and automated testing. I hired developers, wrote the major backend systems, managed the continuous deployment process, and drove our A/B testing framework. Together, we created a team that rapidly iterated on innovative products. From April 2007 to August 2010 (3 years 5 months) Montreal, Canada AreaParticipant @ Everyone at a BarCamp is a participant, since it is a self‑organized and volunteer‑run unconference. This event kicked off an incredible flood of technology startups as people realized that they were surrounded by others with the courage and conviction to start their own enterprises.
Together with a team of volunteers, we hosted three BarCamps and countless DemoCamps. Although neither event still runs, we inspired a large number of specialty events like StartupCamp, RoCoCoCamp, PodCamp, and more! From October 2006 to October 2007 (1 year 1 month) Montreal, Canada AreaQuality Controller @ I founded the Quality Assurance department for Ubuntu, the world’s most popular desktop Linux distribution. During this period, Ubuntu was exploding in popularity and reach, forcing us to create a dedicated QA team.
As the only paid staff member, I cultivated a vast community of volunteers who triaged, verified, and responded to bug reports. I trained many of them myself, while creating training courses to integrate the large percentage of unskilled enthusiasts. I coordinated with the development, customer support, and hardware certification teams to tighten the feedback loop and ensure stable and successful releases. From April 2006 to February 2007 (11 months) Montreal, Canada AreaDrunken Master @ At NITI, we built an operating system for small‑office servers, coupled with an C++ expert system that detected and handled system administration automatically.
As release manager for all of our open source software, I coordinated development, testing, and distribution of our popular releases. I helped design an automated testing framework that ran our OS on a battery of checks over all our supported hardware. Plus, I championed a new virtual‑machine architecture that allowed seamless deployment of major software packages, long before the advent of cloud computing. From September 2003 to April 2006 (2 years 8 months) Montreal, Canada AreaDeveloper @ The Debian Project was an amazing opportunity to advance a massive software project and train in complex project management. As a volunteer‑run non‑profit, we assembled an operating system with the best that open source had to offer.
As part of the legal team, I analyzed intellectual property issues with a focus on software licensing. In addition, I developed various packages, including a system to visualize reverse dependencies, which was essential for our release management team. I also mentored junior developers around the world and cultivated real-world conferences between our volunteers and our users. From April 2003 to April 2006 (3 years 1 month) Toolsmith @ Waterloo Maple developed the most popular symbolic computation system for academia, founding by professors at the University of Waterloo. The software was widely supported on 7 different platforms, all with their own unique quirks.
I reinvented their build systems to unify all their platforms into a single, portable build. I reduced build times from days to hours, which lead to increased developer productivity. In addition, I integrated an Ant-based build system for our frontend developers, who were piloting a new Java-based GUI and were building everything by hand. From January 2003 to April 2003 (4 months) Kitchener, Canada AreaIS Security Analyst @ Working in Information Security at the Bank of Montreal was a rare treat because we were leaders in our industry. At the time, few other Canadian financial institutions had a dedicated and tight-knit team dedicated to protecting customer data.
I spearheaded our penetration testing efforts by designing and building an automated vulnerability reporting system based on Perl and XSLT. Also, I drafted our first incident-response procedure which balanced the needs of our various organizational units. Finally, I architected a data warehouse for security logs that allowed forensic analysis while respecting our strict data-retention policies. From September 2001 to August 2002 (1 year) Toronto, Canada AreaIS Analyst @ Delano was a small startup that ran their systems on Windows. I was hired on as a junior sysadmin, but that didn't last long. One of my first surprises was an emergency restore of our website at midnight, after a vice‑president wiped it by accident.
To keep up with the rapid growth of the company, I initiated the deployment of SMS, so we could push software updates to our fleet of 400 machines. I also delivered in our Active Directory migration, even coordinating with remote workers across Canada and the US. From May 2000 to April 2001 (1 year) Toronto, Canada Area
B.A.Sc, Computer Engineering @ University of Waterloo From 1999 to 2004 High School Diploma @ Earl Haig S.S. From 1994 to 1999 Simon Law is skilled in: Software Design, Programming, Systems Thinking, Python, Django, PostgreSQL, MySQL, Interviewing, Linux, Ubuntu, Public Speaking, Developer Relations, Project Management, Software Architectural Design, Web Applications
Websites:
http://ecometrica.com/,
http://theswapteam.org/,
https://github.com/sfllaw