Thursday, 16 April 2020

Links To Previous Posts

Technical


Product Growth


Thursday, 9 April 2020

Simple Template For Tracking OKRs Weekly And Quarterly

Objectives and Key Results or more commonly knowns as OKRs and are a well-defined way to codify a company's strategy along with tracking progress towards the intended results. John Doerr introduced OKRs at Google to great effect and has since written an insightful book called Measure What Matters that goes into the OKR framework and how it's successfully being used at various companies.

The OKR process can become overly complex rife with over analysing the data behind the numbers, poorly quantifying the key results and/or poorly communicating the ongoing impact they're having. I have seen many companies abandon the initiative part way through a quarter or even after a few quarters of failed attempts. 

I've distilled the OKR process for product engineering teams and the wider company down to a simple tracker that can be used on a weekly basis. Below I will explain the "team tracker" along with some examples, followed by how each team's OKRs come together into a simple view across the company that anyone can understand.

Team OKR Tracker


The team OKR tracker is the starting point for the manager of each team. OKRs don't have a mandated length of time but I find doing them on a quarterly cadence allows enough time to make the upfront planning worth the time invested while still allowing for regular points throughout the year where strategic initiatives can be adjusted. Here is what a fresh version of the template looks like prior to team manager populating it with objectives, key results, owners and their associated weekly progress tracking:


There are several parts of the above sheet template which are worth digging into further:

  • Objective: This is what you want to accomplish. An objective should be aspirational, significant to the company, personally meaningful and ambitious. I'd recommend having no more than 5 of these per team (less is more, but this is hard to achieve with so many competing priorities).
  • Key Result: This is how you will accomplish the objective. Key results should be easily measurable and limited in number. This is how the company measures progress towards its objectives while remaining agile.
  • Owner: There should be a single owner for any given key result who is responsible for driving its success. In a product team this is often the CTO, Head of Product/Engineering/Design, Product Owner, Scrum Master, Tech Lead, etc.
  • Weekly Percentage Tracking: Each week throughout the quarter the owners of the OKRs should get together to discuss the progress of each one based on the percentage in the spreadsheet. Similar to a daily standup within a product team, any blockers or impediments should be raised and decisions made to resolve them. 
  • Final: This is simply the final result of each OKR at the end of the quarter. Note that sometimes it may take a week or two in order to determine the steady state or actual metrics associated with a given OKR (e.g. waiting for A/B test results for a feature deployed on the last day of the quarter).
  • Forecast: This should be regularly discussed and re-forecasted if necessary to get an accurate picture of where the progress toward an OKR might end up at the end of a quarter. This is obviously hard to achieve with complete certainty but even when accounting for the usual margin of error, it's still a valuable way to indicate to everyone which OKRs are on track and which ones are struggling.
  • Notes: Along with updating the weekly percentage of the OKRs, each owner can add a few notes about what is happening. This can be particularly valuable when a key result is not moving (aka still at 0%) but the team is making good progress with the build which will be deployed in future.
  • Averages: This is simply an average across all the OKRs for the team. If teams are aiming for the usual ~70% achievement rate (aka the OKRs taken together were ambitious but not impossible) this section highlights how the team is tracking on that overall goal.

Team OKR Tracker Examples


The team OKR tracker below has been populated with examples of potential objectives, key results, owners and associated weekly progress tracking for a fictional product engineering team:














Company "Roll Up" OKR Tracker


Each team within the company (e.g. Sales, Product, Marketing, People, etc) has their own OKR tracking sheet which is then "rolled up" into an overall high-level view. This view shows progress across the company against the previously-defined OKRs. It is able to give the executive team, the board and/or the rest of the company (via a monthly all hands meeting or weekly email) a simple view of which teams are doing well and which teams may need some additional help or resources in order to achieve their goals before the OKR period comes to an end.










Google Sheet Template


I've provided the OKR tracker as a Google Sheet which can be easily copied and used within your own company: https://docs.google.com/spreadsheets/d/1aEpVezdaaxrDv7hxex25ozS6QD_deP5cUcoKLn35aww

Tuesday, 4 February 2020

Interviewing Benedict Evans at Appear Here's Global Gathering

The Venue and Agenda



On January 24th, 2020 Appear Here held its Annual Global Gathering where we brought together world class investors, retailers, landlords and technologists for a day of insights, lessons and knowledge sharing:


My chat with Benedict Evans


I has the pleasure of hosting a fireside chat with the infamous Benedict Evans (formerly a Partner at a16z and now based in London). Benedict is widely considered to be a thought leader for the tech industry and his weekly newsletter frequently shapes the conversation around new tech developments, artificial intelligence, regulation, big tech companies, mobile and venture capital for a global audience. He has an avid following which includes 130k newsletter subscribers and 280k Twitter followers.


We covered a range of topics including high street retail, machine learning/data science and acquisition channels for brands. Below I've included the list of questions we worked our way through during the 30min conversation:

1. You've said. "Everything the Internet has done to media, it's now doing to retail", tell us more.

2. Do you think the high street is dying? Why or why not?

3. What does the future for the high street look like?

4. If it was up to you, in what ways would you like to see retail change or be disrupted by tech?

5. What role do you think machine learning/data science could play in retail?

6. We hear a lot about machine learning and data science, what are some useful ways to think about machine learning? (You've said, "Machine learning is the new database" tell us more)

7. As the cost of online advertising increases, how do marketers continue to grow their businesses?

8. Why do you think Amazon hasn't been as successful with offline retail as they are with online?

9. What do you make of the rise and fall of WeWork; what can we learn from it?

10. After working in SF and London, what differences do you see and what can we learn from them?


Benedict's "Standing on the Shoulders of Giants" Presentation from Davos


Just earlier that week, Benedict had been in Davos to present an annual presentation on tech trends. In a recent blog post he said "Every year, I produce a big presentation digging into macro and strategic trends in the tech industry. This year, ‘Standing on the shoulders of giants’ looks at what it means that 4bn people have a smartphone; we connected everyone, and now we wonder what the Next Big Thing is, but meanwhile, connecting everyone means we connected all the problems. Tech is becoming a regulated industry, but we don’t really know what that will mean." I've pulled out some notable slides from that presentation below that relate to the discussion we had at Appear Here's Global Gathering:






Benedict has clearly thought carefully about how technology is evolving and it was a pleasure to speak with him about those trends as they apply to retail, data science and startups.

Wednesday, 2 October 2019

Speaking at Movers & Shakers Property Networking Forum

I'll be speaking at the Movers & Shakers Property Networking Forum on Nov 8th, 2019 on "Is Technology driving a more agile & fluid real estate market". I'll be accompanied by a panel consisting of Guy Grainger (Chief Executive EMEA) at JLL, Emma Long (Head of Corporate Strategy) at Legal & General Real Assets, Roelof Opperman (Principal and Co-lead) at Fifth Wall and Dr Rick Robinson (Digital Property and Cities Leader) at Arup along with 200 attendees from the property, startup and investment sector.


Friday, 5 April 2019

Speaking at LDC's 19th Retail and Leisure Summit Event

I'll be speaking at LDC's 19th Retail and Leisure Summit Event on May 1st about "Retail Done Differently". I'll be discussing Appear Here and how we've created a new business model in commercial retail that uses technology to match ideas to physical retail space in innovate ways.





Thursday, 3 January 2019

How We Hire Product Developers at Appear Here

I recently wrote this post on Appear Here's Product Engineering blog so potential developer candidates, that I wanted to hire, would better understand our hiring process. I've reposted it here.




The three steps for hiring developers which takes approximately one week start to finish

At Appear Here, our mission is to create a world where anyone with an idea can find space to make it happen. Our Product team is using the latest technologies, along with applying machine learning in an innovative way, to solve challenging problems that affect retail today.

When hiring developers for our Product team at Appear Here, we aim to find the right balance between (1) giving you the necessary information about us and what we do so that you can make an informed decision about your next career move, (2) evaluating your technical skills and cultural fit and (3) appreciating that you’re most likely interviewing at a handful of companies which can take up a substantial amount of time during and outside of your current day job.

We like to move quickly so we’ve created this three step process that typically takes one week start to finish (i.e. from your CV submission to sending you an offer).

Step One: Initial 30 Minute Phone Call


The purpose of this call is to accomplish the following:

  1. Give you a high-level overview of what we do as a company (i.e. why we exist, our mission and the burning problem are we solving in the world)
  2. Describe how we currently achieve our mission as a company and specifically a Product team of developers, designers, data scientists and product managers (i.e. our structure and size, our current development processes and technologies, and our plans for the upcoming year)
  3. Gauge your interest in what we’re achieving as a company along with assessing your communication skills
  4. Answer any questions you might have

To prepare for the call I’d recommend reading this Guardian article which referred to us as the ”Airbnb for Retail”, watching this 5 minute Sky News broadcast with Appear Here’s CEO talking about Saving Retail and, if you’re curious about the underlying business models in this space, read this article titled “The Future of Offline Retail” by Addie Lerner of General Catalyst. Please also prepare a few insightful questions that would help you determine whether Appear Here is right for the next step in your career.

The phone call is typically with myself, Andrew Thompson (I’m currently CTO of Appear Here) and I try to schedule it at a time that’s convenient for you during the work day.

Step Two: One Hour Live Coding Challenge via Video Conference


Next, we schedule a one hour video conference where you will be given a coding challenge by one of our developers depending on the specific skills you have across the stack (e.g. Javascript, React, Ruby on Rails, AWS, etc).

The purpose of this coding challenge is not to assess your entire development experience and skill set in one hour but instead to get a basic understanding of your coding proficiency in an area of the development stack that you are most comfortable coding in. We’re specifically looking for you to demonstrate the following to us:

  • Complete the task in a reasonable amount of time
  • Keep your solution simple and avoid unnecessary over-engineering
  • Understand new code relatively quickly
  • Read and follow instructions
  • Use sensible Javascript/React/Ruby functions or methods

Our coding challenges are publicly available on Github: https://github.com/appearhere/product-challenges/tree/master/challenges

Step Three: Half-Day Interview


After passing the coding challenge, we will schedule you for a half day of interviews where you will meet several members of the existing Product team (developers, designers, data scientists and product managers) along with a couple of members of our culture board who are from other departments at the company.

You will be asked a variety of questions in each interview about your skills, experience and motivation for wanting to work at Appear Here. We’ll also spend time getting to know you a little bit throughout this process (e.g. what do you do on the weekend for fun, what excites you outside of work, etc).

Although some developers care more about the underlying technologies, we’re specifically looking for developers who care first and foremost about solving the challenges our customers face. As a company we have a strong bias toward a “product first, technology second” approach. We first try to understand what product features our customers would benefit from and why, before thinking about what technologies we might use to implement them. It’s also important for us to find out whether you truly care about the mission we have as a company to make ideas happen.

Once all feedback from the interviews has been received, we will review it and make a quick decision to send you an offer.

Company Values


Our engineers take ownership to tackle challenging problems, and we are looking for developers to join us that are bright, humble and passionate about transforming retail and commercial real estate. Appear Here has a strong sense of purpose and has, from the very beginning of the company’s existence, had a set of values that all employees strive to embody, as outlined below:




Open Roles


We currently have many roles open in our Product team including:


You can find more about other open roles and our company culture on the Careers section of our website. Submit your CV and I’ll be in touch shortly to set up a chat.

Wednesday, 2 January 2019

Appear Here's Case Study with Hired

I recently worked with Hired, the marketplace for tech talent, on a case study. I've been using their platform to grow the product engineering team at Appear Here and in the last year have hired numerous engineers through it. Here is the case study as a two page PDF:

Saturday, 1 September 2018

Speaking at Facebook's Leadership Summit & Hired's Employer Brand Health Panel

On Wednesday, September 19th I'll be speaking at both of Facebook's Leadership Summit and Hired's Employer Brand Health Panel

At Facebook I'll be talking on a panel about "Retaining Culture" along with Gerald Tan (VP Growth & Product at Catapult Sports), Maria Zverina (Engineering Manager at Facebook) and Jessie Link (Senior Director of Engineering at Twitter). This panel will be apart of an all day conference based out of Facebook's 1 Rathbone Square offices in Fitzrovia and will begin at 11am.


At Hired I'll be talking on a panel about "Employer Branding" along with Marta Jasinska (CTO at Moo), Sean Fanning (Talent Manager at Improbable), Maria Campbell (VP People at Snyk) and moderated by Gordon Smith (UK Sales Director at Hired). This panel will be hosted out of Nobu Hotel Shoreditch and will begin at 4:30pm.

























Update


During the Hired panel a videographer was recording a few moments and Hired have compiled this one minute video of the event:

Saturday, 19 August 2017

Joining Appear Here as CTO


Brand and Product





Appear Here's very clear and focused mission resonates with me because they want to create a world where anyone with an idea can find space to make it happen. They achieve this by bringing together a community of brands, entrepreneurs and creatives in the world's best cities. They already have 80,000+ global brands and creative entrepreneurs, 10,000,000+ sq ft of spaces and 3 offices globally. Brands and entrepreneurs can use the Appear Here platform to find and book short-term spaces such as high street boutiques, market, shopping centres and shop shares in London, Paris and New York.


Company Culture


From the very first interview to signing my contract and officially joining, the team at Appear Here have built a company that continuously upholds these values:


We're Hiring


We're hiring talented people to help make this ambitious vision a reality. We're currently looking for Software Engineers and we will soon be hiring for other product and engineering roles as we grow.  If you're interested in joining me and the rest of the Appear Here team, feel free to reach out to me directly (via Linkedin or Twitter) and we'll have a coffee to chat through what we're up to.

Wednesday, 12 July 2017

Building a "Job Finder" skill for my Amazon Alexa Device

Growth


According to a recent NPR and Edison Research Smart Audio Report, 5% of the 1,620 surveyed respondents owned an Alexa device (Echo or Echo Dot) and 2% owned a Google Home device. Even more revealing was the fact that 42% of Smart Speaker owners said that "their Smart Speakers are essential to their everyday lives". By any stretch, Smart Speakers have reached a significant level of product/market fit and in a little over 2 years Amazon Alexa devices are leading the pack and growing at a rapid pace:

Skill


I decided to build my first Alexa skill to better understand the underlying Alexa Skills Kit that powers all Amazon Echo devices to give users this new intuitive voice interface. I was particularly interested in voice-user interface (VUI) design and how easy it would be to go from idea to building and then deploying a new skill. For the actual implementation, I decided to use the new Flask-Ask framework by John Wheeler to build the skill along with using Zappa to deploy my Python code into AWS Lambda

I settled on a simple idea for a "job finder" skill that allows users to answer 2 simple questions that Alexa asks them about which city and job role they were interested in. The skill would then return the most relevant job listings that had been posted in the last 24 hours according to the answers given. I imagined users waking up in the morning with their coffee in hand and asking their Alexa "job finder" skill to get the latest updates for their ongoing job search. If the skill responded with some particularly timely and relevant jobs, the user could then decide to immediately open their laptop and apply for those jobs or, if not, the user could simply continue to enjoy their coffee and resume the job search later on in the day.

Implementation


I spent a few evenings coding up the "job finder" skill's Python backend and configuring the interaction model (the intent schema and sample utterances) to get it working locally. I ended up with a single job_finder.py file for the bulk of my application logic which is only 116 lines of code and a template.yaml file that contains a number of the templated launch, answer and re-prompt responses which are required for the skill. All-in-all the learning curve was reasonable and most of the learning came from understanding the new type of interaction model set out by the Alexa Skills Kit.

Demo


As of writing this post the "job finder" skill is being reviewed by Amazon's Alexa's team and therefore is unavailable at present to enable on your own Amazon Echo device (the skill should be certified in a week or less). In the meantime I've recorded a demo using Amazon Alexa Testing Tool called Echosim.io:


Learnings


  • I've capped the number of jobs Alexa responds with to a maximum of 5. I think this is a manageable amount but given that Alexa might misunderstand the job role given by the user, it could be frustrating to have to listen to all 5 jobs if they are based on an incorrect interpretation. Therefore I would potentially improve the skill's VUI to either have Alexa repeat the job role specified by the user before all 5 jobs are listed out OR I would pause Alexa after the first job listed and ask the user a yes/no question on whether Alexa should continue or not.
  • I've purposefully kept each job listing very brief so it's easy for users to consume while listening but it might be useful for users to get more detailed information. I could improve the skill's VUI by asking a follow-up question at the end of listing the 5 jobs to know whether or not the user wanted more details about any or all of the jobs listed.
  • I'm using the AMAZON.ProfessionalType intent slot and this is currently only supported in the US. Therefore when the skill is certified by the Amazon team it will only be available on US based Alexa devices. I've asked about UK support for the AMAZON.ProfessionalType intent slots but have not yet received information about when UK support for it will be available. 
  • Analytics are very important for knowing what is and is not working from a user's perspective. I often use tools like Google Analytics for websites and Mixpanel/Amplitude for mobile apps which have been very insightful to better understand user behaviour. For my Alexa skill, I'd like to add in something like Dashbot analytics to get a window into what users are and are not doing with the skill.
  • Most importantly I would like to find ways to improve the VUI for subsequent invocations of the "job finder" skill. If a user has already performed a prior job search then I'd like to be able to have a search saved against their user profile and then have the skill look it up and ask the user whether or not it should be re-used. This will reduce the number of questions Alexa asks the user upon each new "job finder" skill invocation. Such functionality can be accomplished by identifying users by their UserId obtained from the session and then querying a database for prior jobs searches to re-use.



Update


  1. I mentioned implementing analytics within the skill previously. I've since integrated VoiceInsights analytics from VoiceLabs.co to begin receiving data for individual and aggregate user sessions across metrics such as usage, pathing, speech and retention. I'm finding it more valuable compared to Alexa's skill metrics data that are provided by default.
  2. My "Job Finder" skill is now live in both the US and UK markets: