Graduated in Physics from Southampton University. Lived in rural China for 12 years. Returned to England on a permanent basis. Work in Tech.
After graduating I travelled to China to pursue my childhood fascination with Kung-Fu. What was intended to be a 6 month trip turned into a 12 year expedition in the mountain villages of Henan province. I trained Kung-Fu and meditation, taught, got married and followed a very different way of life. But it was never my intention to stay in China forever and in 2017 my wife finally persuaeded me Kung-Fu was not a great career choice and I returned to Britain on a permanent basis. Here I work in tech.
I had some programming experience from university and did some freelance work remotely while I lived in China. For the last 6 years I have worked in software development agencies in England.
The first agency I worked for here had a small permanent team but employed a lot of contractors remotely. My work was primarily FED on JAMstack apps with Java backends and React frontends (web apps, desktop apps and mobile apps). However because of the nature of a small permanent team managing many projects I ended up doing a lot of technical project management, specification and acceptance testing as well as writing automated tests and a lot of SQL.
Our typical stack was MacOS, AWS, MySql, Java, Maven, React, Material-UI, Webpack, Git, Jira. Agile startup methodology. All technical staff, low admin.
The second agency I worked for is kind of the opposite of that. Enterprise, Large permanent staff, no contractors. Waterfall methodology, high admin. Windows, Azure, TSql, C#, .Net MVC, CMSs, Sass and Gulp, Git, Target-Process.
My current role is Dev Team Technical Analyst with a focus on JS. This is not a very clear name but it is similar to a Technical Solutions Architect role. I run requirement capture meetings with the clients. I write functional specifications. I explore any APIs we are going to use and set them up in Postman. I estimate hours and pricing and request resources. I collaborate on technical specifciations with BEDs. I complete Production FED work and delegate. I do acceptance testing of BED and code review of FED. I profile the code and debug any hotpaths. I hand over to the QA team and I write the release notes and oversee deployment. Bascially shepherding a project through its various phases, though most involved in production.
My primary skill is React, designing components and the state management of complex applications. I am comfortable using many Javascript frameworks and libraries and experienced at researching and picking up new ones. I am not a back-end focused developer however I can make contributions to any project with a Node back-end, be it interacting with a database, other APIs, the file system, multi-processing or virtual machines. I can use C# and a portion of my role is debugging the back end. That sounds odd for a FED but when you write the specs you find your one of the few people who knows how everything fits together as a whole and so inevitably bugs come to you first.
My greatest strength is self sufficiency. That doesn't mean I don't work well in a team rather it means I don't need to be chased or spoon-fed. Because my work has had me touch both management and development roles in software, I know what each expects from the other and can form a bridge between the two. I can follow a spec, estimate time, communicate progress and I always know what the priority is. I can test my own work and I can do the neccessary admin, both before and after. I know how to leave clear comms so even if I am not there someone else can continue what I started or know what and how they are supposed to test. I am client facing and I can run meetings. I was a Kung-Fu instructor for years and I can teach JS. I have led teams and followed and I am comfortable in either position. I take personal responsibility for my work and I genuinely enjoy doing it.