I grew up in Jersey (the old one), studied computer science at Manchester University, and then moved to China in 2005, for an adventure. I lived in Beijing until 2014, at one point working as a national TV weatherman (They got to the top line of my CV, saw I had my own suit, and the job was in the bag). Beijing was indeed an adventure, and it was a priviledge to see the mind-numbing pace of change first hand. While I was there I got to experience the burgeoning tech scene, attending several conferences, and even hosting the W3C conference in 2011. I currently live in Kunming, in SouthWest China, not too far from the Laos & Vietnam borders and in the foothills of the Tibetan plateau, where the air is much cleaner, with my yoga teacher wife and 3 dogs. My Chinese is pretty good now .
Since moving to China, the only 2 things I really missed from home were beer and people. Well, I taught myself to brew beer, set up a little nanobrewery, and also established the Kunming Craft Beer Society, for which I teach others how to brew and organise festivals and events with local businesses. As for people? I guess that's where tech comes in, connecting us and making the world smaller.
In 2011 I joined Profero, now Lowe Profero, a well-known global digital marketing agency. The Beijing office was the technology production office, a team of about 40 people carrying out most of the design, development, and testing for big-name global clients. In my 3 years there I covered many roles including:
- Front-end Developer
- Leading the accounts team ~ 5 people, liaising between clients and the production team
- Studio Lead, heading up project management for the production team ~ 30 people
- Head of Research and Development, building prototypes with new technologies, selling them to clients, and training the production team
After freelancing successfully for almost 3 years, I joined VML (Southeast Asia & India) as a Senior Project Manager. My role has so far been client-facing, dealing with the challenges of introducing agile practices to the client organisation.
What I Do Now
- The semantics and accessibility of the markup, how machine-readable it is, that is how well search engines and tools used by disabled users can parse the content
- The modularity and specificity of the CSS, how parts of the web page or app can be styled differently but in a way that can be re-used and won't break other parts of the page or app
- The scalability and maintainability of the code, to ensure that you or someone else can build upon what you've already made without breaking anything
- The device agnosticism and browser compatibility
- The performance is especially important with increasing mobile device usage, so that means knowing about how the files should be written, processed, and served
And that's not all. Often development teams might lack the knowledge, skills, or simply time to ensure that all these best practices are being followed through. That's where someone like me comes in. I generally work on products or long-running projects that require such a focus on performance, scalability, and maintainability. Either as a sole developer or as part of a team, I start with short initial kick-off sprints that are focused on setting up workflows and architectures. This gives my clients flexibility and security as they know their project can continue to grow safely and efficiently, whether they hire me to continue developing it or just rely on their existing team.
I like to write very clean, readable code. That's not just because I'm a neat freak but also to make sure that anyone who works with me or takes over a project from me can do so easily, and be able to understand how it all works. I organise all my files and folders and document everything. Don't believe me? Check out the code for this site.
The UI design is increasingly dependent on front-end coding as well. The industry is only now starting to realise that the limitations of the code places constraints on the design possibilities. Not just that, the shift towards the mobile web has forced us to think up cleaner, more efficient user interfaces that perform faster and more smoothly. The best way to design, then, is to do it right in the web browser. I like to design small, modular chunks that get put together to make the final product; in this way the design is modular and scalable. After all, a web project is no longer a collection of pages, but a system for delivering some content or functionality. By doing the design work using code, rather than a tool like Photoshop, I can show you the design exactly as it will appear in the final product. You can not only see it, but you can test it, use it, touch it, pinch it and zoom it, turn it, interact with it. I design websites and apps, not pictures of websites and apps. If there's anything that needs changing, it's a very quick and easy fix. The best part? No more development work is needed - the design doesn't have to be passed on to someone to code up because it's already coded up. It saves you time and money!
If you like you can have a look at an example of a style guide for my own website. I didn't build this - it's generated from the code automatically - but it does help me get an overview sense of the theme that will be used on my website, as well as a guide for future development.
For a web project to run smoothly, communication, collaboration, and organisation are key. While working on a project in any role I like to follow this kind of project management methodology:
- Detailed requirements gathering, including explicit and measurable business and performance goals
- Content strategy planning
- Accurate features list, broken down into the most basic manageable blocks
- Design, development and testing in unison, with each feature acting like a sprint; once a component is built then we know it looks good and it works well, so we can move on in safe knowledge that it meets our goal and it won't break later
- Constant communication availability via a slack channel or equivalent
- Daily standups to provide progress updates and get feedback from all stakeholders
- Flexible timelines, because a web project is never finished
- Gathering of performance and usability analytics to measure against original goals in a project review
- Smooth handover, including documentation and training as necessary
If you think your project might need a developer, a designer, or a project manager like me, then let me know. Otherwise maybe you already have a capable team but are about to start an unusually large project? Maybe I can help there too, advising them on a performant, pragmatic, agile, and robust workflow? Maybe I can help you get started?
If you're ready to get started, please do have a look at my contract.
If you're still not convinced, then you might find my blog interesting. I write articles about the various roles involved in producing web projects, as well as tutorials and my thoughts about the industry in general.
My ultimate goal is just to make cool stuff on the web. It's that simple.
Specifically though, I want to focus on broadening my client base and the types of clients and projects I take on so that I can learn more. I also want to write more blog articles and continue to build more side-projects. If you'd like to read my blog, you can find it here, or if you'd like to keep an eye on my side projects then you can follow me on Github.
As a freelancer, I am dependent on referrals. It saves me a lot of time and effort looking and screening for and the work that I want to take on. A lot of my existing work has come from friends and former colleagues and employers. I am extremely grateful for this, and so I want to offer a basic referral scheme to anyone directly responsible for me starting work with their company. To such a person I will award a USD$50 voucher at a retailer of their choice as a small gesture of thanks.
I want to keep this informal and friendly, and don't want to stick to these rules too closely; it's just that nor do I want to be cheated : )
- Only one voucher per engagement
- Only one person can receive the voucher
- I won't give out a referral code or anything like that - please ask the person who contacts me to include your name and email address
- The voucher will only be issued once the first invoice has cleared
- No voucher will be issued if I am not engaged to work for your company
- Vouchers will only be issued for engagements lasting 1 week of full-time work or more
- Referrals cannot be back-dated
- Conditions are subject to change at my discretion
Strange situations might be dealt with on a case-by-case basis, but otherwise if you have any questions then please do email me at firstname.lastname@example.org.