Hello Automattic! 👋

I'm very happy to finally be getting in touch to express my interest in joining your team as a JavaScript Engineer!

I've been planning to do so for some time now but wanted to really to learn more about some of the projects, technologies & Automattic in general before doing so — everything that I have learned so far has only reassured me that you are a company that I'd love to play a part in!

I'll start off by explaining why I would love to work for you, why I think I would make a great addition to the team and how I'd like to help.

I'll then talk about Calypso & OSS in general, and then finish up with some extra bits & bobs about myself, including my journey in to the world of code and some sample projects.

Thanks a bunch for even taking the time to read this far — I hope you enjoy the rest! 🙏

Spen (spentaylor.com)

Why You?

Automattic is a truly impressive company and there are a plethora of reasons for why anybody would want to call it home.

Some of those reasons that I was initially attracted to include your philosophies around ways of working, your open-source-first approach and the sheer scale & scope of Automattic products.

Since I started contributing to Calypso, a growing reason for wanting to join Automattic is the people.

In recent months I've had the chance to speak with many Automatticians and each one has left a great impression on me. It's clear that there is somewhat of a shared attitude; to be helpful, friendly & polite and to leave egos at the (proverbial) door.

Shout outs go to Steph Yiu - for a great & encouraging phone chat about team VIP and Kerry Liu, Dennis Snell, Chris Rosser & Andrew Duthie for their feedback on GitHub 😀

I've met a huge number of people who, to some degree, have Automattic products to thank for enabling them to run their businesses from anywhere in the world and live the lifestyle they love. Some have built stores with WooCommerce, some are WordPress developers, some offer SEO or marketing services. I'd love the opportunity to help more people see the same benefits.

Matt Mullenweg himself is another reason that I'm drawn to Automattic, I've watched a number of his interviews and find his attitude inspiring — it's a no-brainer that he is the kind of person whose vision I'd want to support.

Why Me?

🧀 Brace yourself, this could get cheesy! 🧀

I love what I do and still often feel like some crazy con-artist when I'm paid to write code.

I learned to code to bring my ideas to life. Although I focus my efforts on development, I still care massively about design & UX and I'm always looking to improve my design chops to create awesomeness for the user!

My interest providing awesome UX has caused me to gravitate towards UI — and because of that my focus has very much been on JavaScript. Lately my focus has been more specifically targeted on React and the surrounding ecosystem.

I treat code as a craft and as a result I'm a stickler for code craftsmanship. I'm always striving to find the most beautiful way to write code. I believe that working towards well defined & documented code styles is a worthy investment as it helps people to keep their focus on making logical decisions rather than syntactic ones.

I'm also increasingly appreciating the art of properly documenting software. Particularly in large OSS projects, strong documentation is a great way to help give context and show intent to those who are new to the project or touching an area of the code-base that is new to them, giving them the confidence to dive right in and contribute.

I've read both the general and design creeds, both resonated with me. One line from the design creed that I particularly liked is: 'I will never stop at “good enough.”' I have my own version of this: "'Good enough' is just not good enough".

I believe myself to be a decent communicator, particularly online where communication can often be much trickier.

Even in previous roles where I was working along side my colleagues I would encourage import conversations to be digital, rather than spoken so that the points covered were referenceable by the whole team, including any future team members who might benefit from the added context.

That said, I'm still learning and improving on my written communication and have been putting more focus on building my technical writing skills lately. Doing so has enabled me to write much better pull requests and have better participation in discussions on GitHub.

How I Hope to Contribute

Since I'm already contributing to Calypso ( and really enjoying it!), I'd love to be able to continue doing so full time — I thrive in large, complex projects where helping to make small decisions can have a large impact over all.

Most of my contributions to date are more janitorial (I find these changes are best to help learn the current state of a project thats already in full swing) but I'm looking forward to helping with new features too, both by building out new features and proposing ideas of my own.

I'd also really like to play a part in expanding the reach of WordPress beyond it's already impressive numbers.

I think that the developer experience for WordPress itself has a long way to go. I'm basing this on my own impressions and I may well have missed something along the way, but I think that certain areas could certainly be smoother and I'd like to eventually be able to offer up great ideas that help attract more developers to the platform.

The idea of WordPress being used as an app platform strikes particular interest here as I feel thats an area a little improvement could have a huge a effect.

Users come to expect more as the web evolves and JavaScript is playing an ever increasing role in delivering on those expectations.

Another area that I'm quite interested in is theme development — specifically with more of a front-end focus.

I'm currently in the process of converting my personal website from a front-end only SPA hosted on GitHub pages, to a self-hosted custom-themed WordPress install, built with a similar stack to Calypso (React, Redux etc.). In the process of doing so I also plan to make the theme more generic to allow others to tweak and use the theme themselves.

Calypso & OSS

I'd heard of Calypso a few times in the past year while researching WordPress theme projects built with React but recently started digging in to it as a means of learning more about React & Redux.

Being that Calypso is a huge app that is used by so many it seemed like the perfect 'deep end' to jump in to! I started to poke around and, to my surprise, found that there is a ton of room for myself to contribute — refactoring, adding unit tests, spotting & fixing bugs and so on.

It was super exciting to land my first PR and from that moment I've become hooked on OSS in general. I always consumed these projects, now I know that I can give back too — it's incredible.

The learning along the way is second to none — I've learned so much in the past few months alone!

Here's a list of my contributions to Calypso so far 😀

And my currently open PRs in case you fancy something to review! 😉

More About Me

I've always had an innate urge to create. I started like a lot of kids do with drawing, painting, building things with Lego — things like that.

I became quite obsessed with animation after a visit to the Disney studios and started making animations & games with Flash at around the age of 15.

Next, MySpace came along and allowed members to customize their profiles. I started dabbling with HTML & CSS to get my profile looking spiffing — eventually just hiding the whole thing and replacing it with a custom profile built in Flash.

Naively, I didn't see much of a future in this — what I was doing seemed fun but ultimately pointless. I was tragically wrong of course!

A fortune teller might have been useful at this point, as I decided not to focus on it and instead focus on my surfing... opting to ditch my plans to study animation and instead go to South Africa to get my coaching certifications and study Surf Science at university when I got back.

Fast forward a few years and after realizing how silly a degree in surfing was (!!) I started to learn how to code in order to build a website that I hoped I could sell some of the teeshirts that I'd been designing.

I was hooked! I spent all of my savings (and then some) to join an intense 'bootcamp' with BitMaker Labs in Toronto and shortly after found my feet as a front-end developer at River Island in London

These days, when I'm not clacking away at my keyboard, I like to either be surfing or swimming in the sea or out and about exploring with running shoes on my feet or camera in hand.

I do still like to flex my creative muscles in more traditional ways, but alas I put down the Lego a while ago!

Sample Projects

Most of my project work can be found on at spentaylor.com so rather than just repeat those details here so I'll just summarize a few.

Burberry

The professional work that I'm most proud of is undoubtedly the work I did for Burberry.

We served a Backbone app to mobile & tablet users to give an experience more optimized for devices (Lazy-loading, code-splitting etc.). This was the first role that I worked where performance, code standards and test coverage were given the attention they merited — my prior experiences had shown me that real quality wasn't something that a lot of developers really valued.

Because the team all valued these things I learned a lot here.

My only gripe with the job was that I didn't believe in the actual product that we were building. I was essentially just helping to sell opulence to the materialistic and while I'm happy for other people to spend their money how they wish this is not something that really resonates with me.

WP Reader

|

A couple of years a go I built a blog reader using Backbone with the WordPress REST API.

This was actually a technical assignment, set by Burberry while I was going through their application process — They had asked to build an interface around any public API.

I'd been wanting to build something similar since hearing of the API and thought this would be a good opportunity to have a play around!

I'm still quite pleased with this project and would love to build a sort of spruced up V2 some time :)

Multi-device Real Estate Experience

An interesting experiment / POC that I've been working on more recently is a multi-device real-estate experience.

I wanted to just play with syncing multiple devices using socket.io. Previously I'd started making a game that uses a lot of the same concepts but I wanted to apply it to something a bit more 'real-world'.

The concept is to allow people passing by to control a UI on any screen with their phone without any special hardware.

One reason for drawing attention to this project, is that I feel like WordPress.com could benefit from multi-screen aspects — An author could be editing on their desktop and watching a real-time preview on multiple devices. Connection could be as easy as scanning a QR, or just visiting the correct URL.

I'd also like to explore ways to offer work-flow improvements to WordPress users with a second monitor.

Being that this was just a POC it's quite hacky and buggy, so please don't judge too harshly! It's also hosted on a free Heroku dyno, so it may be slow to load. Only the 'tour' option really works at all.

OSS Projects

As mentioned earlier I've shifted my attention to OSS projects lately.

I enjoy working on my own experiments but I find OSS provides a lot more opportunity to learn than working in isolation. I'd love to start extracting various bits of useful code from my own projects into smaller projects of their own and open source them — I'd love to see some of my ideas take off and for others to find them helpful!