Senior full-stack engineer. From scoping requirements and interaction design to web and app development and server deployment, I have built every layer of a product with my own hands. At my best building new products from scratch, and equally able to take over a legacy system that has grown unmanageable and rebuild it.
Everything starts from the product. When a requirement comes in, I first work out what users actually need, then decide how the interface should work, how the API should be shaped and how the data should be stored — and only then start building. With both the front end and the back end in my hands, the design can start from the whole, instead of being dictated by the limits of any one layer.
What comes out is one piece, interface and back end alike: interactions that feel natural, clean APIs, and data structures that hold up as the business changes. And once it is live, whichever layer a problem turns up in, I can pick it up.