Jim Fisher’s CV
- Location: London, UK
- Email: firstname.lastname@example.org
- Website: jameshfisher.com
- Full-stack web dev (12+ years exp). TypeScript, React, SQL, Go/Rails/PHP, AWS, Puppet, plus a bajillion other tools.
- Product management (3+ years exp). Team of 8 on $12M ARR product.
- Design and illustration (3+ years exp).
2010–12: M.Sc. with distinction in Computing Science at Imperial College. In my individual project, ‘Verifying a balanced-tree index implementation in VeriFast’, I implemented left-leaning red-black trees in C, then proved key properties of it using VeriFast and separation logic.
2006–9: B.A. with first-class honors in History at the University of York. My dissertation was about robots.
2004–6: Six A-levels. At Colchester Royal Grammar School. History (A), Computing (A), General Studies (A), Physics (B), Mathematics (B), Art and Design (B) (actually this last one was at Grey Friars Community College).
2002–4: Eleven GCSEs at Colchester Royal Grammar School.
- Apr. 2021: TensorFlow 2 for Deep Learning on Coursera. Consists of Getting started with TensorFlow 2 and Customising your models with TensorFlow 2.
- Apr. 2021: Probability Theory, Statistics and Exploratory Data Analysis on Coursera.
- Mar.–Apr. 2021: Mathematics for Machine Learning on Coursera. Consists of Linear Algebra, Multivariate Calculus, and Principal Components Analysis
- Jan.–Apr. 2013: Programming Languages on Coursera.
- Sep.–Dec. 2012: Functional Programming Principles in Scala on Coursera.
2021 – current: Stealth start-up. Details on request.
Apr. 2020 – Feb. 2021: CEO at Vidrio, my own app and company. Vidrio lets you make presentations with a screen recording and webcam. Grew the company from $0 revenue to a maximum of $1600/month. Built macOS and Windows versions, built website and marketing, et cetera. Key tech: Swift, Electron, WebGL.
Jun. 2018 – Apr. 2020: Technical Product Manager for Pusher Channels at Pusher. Companies use Pusher Channels to add realtime features to their apps (e.g. chat messages, or New York Times live election night charts). I moved into product management to help grow the product. During my time we grew from ~$8M ARR to ~$12M ARR. We had very limited resources and this was an exercise in growing a product without adding new features. I was the key link between Engineering, Sales and Marketing, and the public representative of the product in many sales opportunities.
Mar. 2016 – Jun. 2018: Software Engineer at Pusher.
- Mar. 2016 - 2018: Engineer on the Pusher Channels team, working on scalability and reliability. The system typically delivered 200,000 messages every second. I was on the on-call rota. Key server-side tech: Ruby on Rails, Redis, MySQL, Puppet, Ansible, AWS, Kafka. Also maintained several client libraries.
- Mar. – Jun. 2016: Adding message history to Pusher Channels using Haskell and Raft. Channels used Redis Pub/Sub as a message bus, but this has no message history. Pusher had built a replacement using Raft implementation for consistency and availability. This was written in Haskell. I researched high latencies in the system, finding that the root cause was garbage collection in GHC. This finding went surprisingly viral and also sort of killed the whole project. Key tech: Haskell (GHC), QuickCheck.
- 2016 - 2017: Engineer on the Pusher Beams team, building the initial product. Companies use Beams to send push notifications to Apple, Android and web clients. Key tech: Go, Postgres. Also built several client libraries.
- Public representation of Pusher: gave talks at conferences; maintained Pusher’s engineering blog and wrote posts; organized Pusher’s meetup; ran our coding bootcamp for Sales and Marketing employees.
May 2014 – Feb. 2016: Software Pilot at Trifork, consulting with many global clients. Trifork is an international software consultancy and “pilot” is a funny word for consultant. Projects included:
- 2015-16: Worked with Container Solutions and Cisco Cloud Services on open-source cloud computing systems. OpenStack (cloud resource management), Mesos (a Kubernetes also-ran), Mantl and DC/OS (layers on top of Mesos). Worked on official Mesos integrations, including ElasticSearch for Mesos and Logstash for Mesos.
- 2015: Built a recommender system at large global bookmaker. For example, if you bet on Tottenham, perhaps you’ll want to bet against Arsenal. Key tech: Neo4j.
- 2014: Rebuilt the account system at a large global bookmaker, solving its scalability problems. Account activity at a bookmaker is extremely spiky: think of betting during the Grand National! Key tech: Java Spring, Symfony, Riak, AngularJS, Puppet. The system integrated with CAS for authentication.
Jan. – May 2014: Software Engineer at Arqiva WiFi. Arqiva provided white-label public WiFi (e.g. the free public WiFi at Heathrow airport). Our team rebuilt the ‘captive portal’ (that annoying login page you see when you connect to free public WiFi). I created the feature that gave you free public WiFi access if you were willing to download an app or watch a video. I wrote the functional and performance tests for the captive portal using JMeter. (On the side, I also built Arqiva’s revenue tracker, which gathered messy revenue data from heterogeneous, ancient sources.) Key tech: PHP and MySQL.
May 2012 – Sep 2013: Software Developer at YUDU Media, leading a team of four. Traditional publishers use YUDU to create online facsimiles of their magazines and books (think: PDF reader on steroids with cool “page turn” animations). I worked alongside the team at Softwire, a software consultancy. I worked in product management, design, development, and maintenance. I maintained the two front-ends, a Flash version for the web, and an Adobe AIR version for desktop, Android, OS X, and iOS. I also led a major redesign of the management interface. Key tech: Java Spring; Ramaze (a dead fork of Ruby on Rails); Oracle, MySQL, jQuery, Bootstrap.
2006 – 2014: Director and Secretary of Lexden Montessori. Lexden Montessori was a nursery in Colchester. I started the nursery with my mum in 2006. I worked in business planning, market research and advertising, administration and secretarial duties, and web design and maintenance for lexdenmontessori.com, including an online fee calculator.
2012 – 2013: Branding, marketing consultancy, and web design for The Gilgil Trust. The Gilgil Trust provided young people around the town of Gilgil in Kenya with shelter, health-care, and help in their education and careers.
2010: Branding for Pembroke House. Pembroke House is a private Kenyan prep school. As of 2021, they’re still using the logo and brand that I designed. In the words of their Commercial Director, ‘James has worked with me on new brand designs for Harambee Schools Kenya (see below), a charity, and Pembroke House school, a prep school. In both cases his work was of the highest quality, and reflected a passion for design, but also for getting under the skin of the organisation he is designing for. I wouldn’t hesitate to use James again for any design projects that I might have.’
2010: Award-winning brand and web design for Harambee Schools Kenya. HSK is a charity building schools around Gilgil in rural Kenya. GWS Media gave the website an award, commending its ‘plain, clear English; striking design, and beautiful images.’ The new branding and website brought in at least £53,000 of funding, including from UBM (the global media and comms giant) and HSBC, who made HSK their official corporate charity after finding the website.
2009: Software Developer at Caring Homes. Caring Homes is a large UK group of care homes. Developed an internal system for managing care homes and CSCI reports Key tech: Django and Postgres.