You can call me Zeno.
My expertise lies in developing and formulating a cohesive set of workflows and processes, a set of foundational components, tools and frameworks that allow a team to construct one or more products in consistent and predictable fashion.
There's a few things that make me curious enought to wake up in the morning:
I've been leading teams for a few years now. I've been a part of teams that have been successful and teams that have fizzled. I've learned a lot from both.
My usual end goal is to create a team that is self sufficient, self organising, and self improving.
Deployment Automation and Publishing
I love to automate things. I've been doing this for a while now. I've seen the evolution of deployment automation from simple shell scripts to complex CI/CD pipelines.
I've used Jenkins, TeamCity, Bamboo, Travis, CircleCI, GitlabCI, AWS CodePipeline and CodeBuild and I'm now using Github Actions. I've also used various deployment tools like Fabric, Ansible, Puppet, Chef, and now I'm experimenting with Terraform and FluxCD.
I've also used various container orchestration tools like Docker Swarm, Kubernetes, but for now I'm deferring to services like Cloudfront Pages, Vercel, Netlify and AWS S3.
As a frontend developer, I prefer component driven development. There's various technologies that have come and gone for this approach.
I started back in early 1999-2000s with Dreamwever, where i used its powerful templating language to create page compositions out of smaller building blocks. Then i moved to Jquery where I made use of the plugin component pattern to create reusable components. Then it was the same for Angular, Vuejs and now React.
I've watched the
#nopsd movement grow and I've been a part of it. Promoting the use of applications like Inkscape, Figma, or Sketch with InvisionApp, to create reusable components. Collaborating with designers to help them "Think in Components".
I've seen the rise of design systems and component libraries. I've seen the rise of tools like Storybook, Styleguidist, etc.
I can't imagine developing a website or app without looking at it from a component perspective.
My current toolkit includes:
- Typescript. Strict. I've developed what's probably a nuanced approach to this that seems to scale well in teams of wide skill spectrums. I'll write about that later.
- React: Some kind of Composition based Component Framework. It could be Solid, Svelte or Vue. I'm currently using React. It must support Typescript as a first class citizen.
- Storybook: Developing components in isolation. Very important to enable me to output quality components. It's a process not unlike TDD.
- ASDF: I use this to manage my Node, Yarn, and Ruby versions. I've also used NVM, Nodenv, and RVM. Found them all to be annoying and so glad I've found ASDF. It's the most flexible and reliable. Every team should be using it.
- NX.dev: If it's a monorepo, then it gets done with NX. Not interested in re-inveting the wheel here.
Other Parts of my Toolkit:
- Golang: amazing for writing cli tools, games and web servers. Want to do more here.
- Django: My first real web framework. I've used it for a few projects, and I've been using it for a few years now. Hands down the best web framework for small or large sized projects.
Things I'm not huge on:
- AWS: I've used it in the past, using it now at work and will more than likely be required to use it in the future. I'm not a fan of it. I find it to be overly complex and expensive. I'm more interested in using services like Vercel, Netlify, Cloudfront Pages.
I'm using Home Assistant to automate my home. There's a few light switches, currently interfaced with Google.
Would be good to migrate to a local voice assistant, which is currently a side project.
Other goals here are to automate the watering of my garden, in response to the weather and sensory feedback from the garden.
I've been doing a bit of woodworking. I've made a few things. I've made a few mistakes. I've learned a lot. I've got a few more things I'd like to make.
No time right now. But I'll get back to it.
I've been climbing for a few years now.
I prefer Trad. Bouldering is for peasants.
Landscaping and Gardening
I'm currently landscaping my garden. Clearing some space for some raised garden beds. Plan is to make them wicking beds, and automate the watering of them.
Not going to say too much about this yet, but suffice to say that I've moved over 50 tonnes of soil by hand, which has been amazing to help me switch off from work.
Voice Assistants and LLMs
Related to the home automation. I'd like to be able to talk naturally to my home. Have it understand me without having to say specific sentences.
Not sending my voice to google or other cloud services would be good. I'd like to keep it local.
A vagrant past time. When ever I travel, I make an effort to procure a commission. I've got a few pieces in a few cities and countries. I've got a sketch book full of ideas and concepts. I've got a few more pieces I'd like to make.
You can see my work on Instagram.