James Winfield.

A senior front-end software engineer in London

Heading Image for James Winfield, showing AI generated software engineers in the style of Gustav Klimt


Hello, I’m James Winfield, and I’m a front-end software engineer.

I’ve been a software engineer since late 2016, though have really flourished at M&S, where I’ve progressed to senior engineer, alongside being tech lead – working on projects that were based around vanilla JavaScript, and over the last two years, Next, TypeScript, React and GraphQL.

This portfolio, and my encompassing WordPress blog is built on Next, TypeScript, React and GraphQL – as those are the technologies that I’m most excited about right now. Though I’m keen to take a look at Astro, Remix and Svelte, at some point. I am a big fan of Vite also.

Tech Stack

JavaScript, TypeScript, React, Next.

CSS, SCSS, Emotion Styled Components, Tailwind.

Webpack, Vite, GraphQL, Github Actions.

I’ve worked with Node, PHP and WordPress too – enough to be proficient but not expert.

Have also worked with AngularJS and jQuery…but that’s in the past.

What’s Next?

Well I’m open to a new role, as long as it is remote-first and using a React/TypeScript tech-stack. But it would need to be a really interesting project to prise me away from M&S.

What ticks my boxes is solving problems, and helping businesses increase revenue (a key part of my current role at M&S). Plus I’m also really keen on helping juniors to upskill themselves.

I’m particularly passionate about performance, accessibility and developer experience – you are more likely to find me obsessing over how the website behaves, than refactoring unit tests.

Remote or remote-first is highly valuable to me, plus the option to work from abroad occasionally (M&S offers 2 weeks a year) is a delight…and was a bit of a dream last November.


This is what I have achieved, in descending chronological order:


Currently one of 4 senior engineers driving experimentation within personalisation, using React hooks to build experimental components, testing through Optimizely, with supporting roles provided to product/analytics to assess experiments from ideation through to analysing data. Also one of the originator of the Tech_Den community within M&S, which is aiming to bring engineering together with talks, socials and more.

Previously tech lead for the Choose & Buy team, which is a self-driving incremental revenue generating team within the Growth & Personalisation department. Leading 5 other engineers to build and test ideas in either the old vanilla JavaScript tech stack, or newer React-based tech stack, whilst the tech stack migration is ongoing.

Also a mentor for a graduate, tech lead for a new tech stack adoption team within the Growth & Personalisation department, part of the engineer recruitment team, provide on call support 24/7 on a rota basis, and initiated the engineering social committee.

Worked on a concept called an “Outfit Generator”, working with back-end engineers, data scientists and designers to bring a new outfitting concept – being built in React, TypeScript, Next and GraphQL. Alas, project was “paused” due to revenue requirements.

Previously worked as part of the recommendations team, a self-contained team where we generated our own ideas and tested them using a/b tests in Adobe Experience. A highly successful team, generating large sums of proven incremental revenue – most of the f/e code written in vanilla JavaScript, SCSS and Handlebars. Whilst on the recommendations team, I became the tech lead for the f/e side.

My first main accomplishment at M&S was to rebuild the product details page using JavaScript (ES6), IncrementalDOM, SCSS, Node, Express, Handlebars – mostly client-side code though some server-side. 100% unit test coverage using Mocha/Chai.


Managed the front-end development of the Lovespace website, via WordPress, AngularJS and jQuery.

Converted the order flow from jQuery to AngularJS.

Led front-end aspect of internationalisation project, using WordPress Multisite, encoding to allow for translation and making necessary adjustments for new international markets.

Expanded WordPress functionality to give more control to the marketing team over the website, via the WP-admin panel.

About me

So a bit about my human side. I am logical and kind of creative – integrity, loyalty and honesty are absolutely key to my soul.

You’ll always be able to have a conversation with me on politics, economics or the stock market – but also football, travel, maybe cricket if I’ve been engaged recently. Oh and definitely on food.

You might find me at a pub on Sunday having a roast dinner, perhaps at a modern art exhibition or theatre, or a really good restaurant – I’m quite knowledgeable on London’s food scene but never eat out enough. Then again, I’m good at cooking and always try to cook 2-3 new recipes a week.

I’m very much about trying new things. New pubs, new restaurants, new holiday destinations – recently I was in Skopje in North Macedonia, for example, a little off the usual track. Though I did live in Spain for a few weeks last November…that was bliss!