Craig Ayre
Technical Lead on HubSpot’s web team, building HubSpot on HubSpot and improving the way we build with it.
-
🏅 Q3 Smooth Operator
Boston
Recognised for reducing engineering friction across Digital Experience through developer tooling and AI workflows. The nomination said I
find a better way to work, then actively bring the rest of the team along with me.
At UNBOUND in Boston, I met HubSpot leaders, customers and partners. -
Contributed clearer regex checks to HubL
Checking whether a value matched a pattern meant turning a replacement filter into a boolean:
{% if var and var|regex_replace('^foobarbaz$', '') == '' %}Now those checks can say what they mean:
{% if var|regex_match('^foobarbaz$') %} {% if var is search '[0-9]+' %} {{ items|selectattr('name', 'search', '^foo') }} -
🐝 Ally Pally
Alexandra Palace, London
Went as a bee to the World Darts Championship and got picked for the crowd challenge. £60,000 for a nine-darter, but Luke Woodhouse misses the D12.
-
⚽ Sunderland AFC are Premier League 🔴⚪
Wembley Stadium
Celebrated with 35,000+ other Mackems. Maybe VAR isn't so bad after all.
-
Joined HubSpot
Joined HubSpot as a Technical Lead on the Web team, building HubSpot on HubSpot.
-
🎯 First 180
-
🎤 Automating Continuous Improvement
Talked about codemods and custom linting, using tooling to make continuous improvement less reliant on good intentions.
-
Ran Softwayre
Ran an independent software consultancy, taking loosely defined problems through to shipped products for clients across sport, retail, automotive and healthcare. Grew the team and worked with clients including UEFA, IKEA, ZeroLight and AstraZeneca.
-
🎤 The Future of JavaScript
Talked about where JavaScript was heading and how TC39 evolves the language. Still looking forward to the pipeline operator and pattern matching.
-
Scott Logic
Senior consultant building and improving large financial applications, from customer-facing features to deeper platform and codebase work.
-
Built a Pokémon Emerald bot
Used screenshot and pixel analysis rather than reading game memory through Lua. A small state machine tracked what was happening on screen, with a lot of optimisation to keep the logic fast and tests to prevent regressions. It could work towards objectives like catching a specific Pokémon or hunting for shinies.
-
⌨️ Switched to Dvorak
ASDFG AOEUI
Switched to Dvorak and stuck with it. Started with Programmer Dvorak, but eventually settled on the standard layout.
-
Ran an IRC bot on Freenode
#html#css!docs_Ran in the
#htmland#csschannels on Freenode, answering common documentation queries. IRC bots are one of my favourite ways to learn a language: get one working, then find the most ergonomic syntax and syntactic sugar.