Continuous Personal Development (or “Things I’ve Been Learning About”)

One of the things I’ve always enjoyed in my work is the opportunity to learn new things. Looking back, I feel slightly spoiled that, in my first job, we jumped between codebases and languages for different projects at a rate that most people would laugh at now – I’d work across Perl, ColdFusion, HTML, Javascript, ActionScript and more, all within a year. In the background I’d be personally playing around with Java, Linux admin, and god-knows-what-came-along.

The joy of technology for me has always been the challenge of … cajoling the systems to produce something of use and of value. Ends before means. It’s a fascination which continues 25 years on, that ever-present love-hate relationship with software and toolchains that accepts that you’re never, really, going to fully understand what’s going on. That you need to think on your feet, figure stuff out fast, absorb the docs almost intuitively, and make good things happen.

The last few months have been fairly technical, and I didn’t want to lose track of the variety of things I’ve been digging into, both for clients and for myself. Here’s a bit of a (definitely incomplete) list of some of the things I’ve been enjoying learning about and applying.

  • Trying out Nuclei Vulnerability scanner as a way to check for exploits on an old site.

  • POP chain exploits that use magic methods (such as __wakeup()) in PHP objects to run code.

  • The difference between CVSS and EPSS scores for assessing security risks.

  • Docker container setup, to get legacy sites running for development locally, as well as for throwing a new staging server together.

  • Replacing the inner door seal on a Bosch washer-dryer machine (which is the same as Siemens. The replacement part costs between £40 and… £120?). Labour is always 5 times what you expect.

  • In-depth TinyMCE hacking, including adding in a lot of custom code to implement drag-and-drop functionality for any files (not just images). And the licence differences between TinyMCE v6 (MIT) and v7 (GPLv2).

  • Javascript MutationObservers as a way to hang events off any changes to the DOM and styling, including CSS transitions. Related: The transitionend event.

  • Hooking into the DOM of the GoGoCarto mapping tool to do some in-depth (and probably somewhat fragile) UI changes.

  • httrack as a way of taking static copies of sites, but also learning that it’s important to pre-generate any images and files required for responsive display, and to copy those into place ahead of time as well. Always a trade-off.

  • The difference between em and ch units in CSS.

  • Passing messages between iframes using the postmessage() method, and combining it with scrollIntoView() to move an iframe fully on screen when interacting with it.

OK, these are all the technical things I’ve logged anyway. It’s harder to bullet point the softer skills around freelancing right now, but maybe that’s another post?

3 (years) is the Magic Number

I can’t quite believe it’s been three full years since I jumped into a freelance career. Three years feels specifically like a turning point – like something is now established, rather than experimental. It’s still not a lot compared to many others, of course, but there’s definitely some significance. Three as a magic number.

Freelancing will be different for everybody, albeit with a lot of common overlap at the same time, I’ve learned. I’m ridiculously glad I joined up with The Skiff as place to work around other people: I don’t think I’d have survived this long without a small but valuable network of people treading the same road and being so happy to share.

When I took the crazy decision to make the jump, it was in an effort to take more "creative control" over the nature of my work. At the time, I wasn’t quite sure that meant, and while I’m not convinced I do now, I have realised that freelancing, for me, is about finding my place in the world. A modern world which has so much promise, but which also faces some extraordinary risks and challenges.

I’m beginning to more freely admit that I find those challenges overwhelming at times. I’ve got more concerned, not less, about the world my kids and their kids will find themselves in once my generation leaves. Solutions seem like a world away, and billionaires seem quite happy with literally starting new worlds instead of fixing the current one.

It’s hard to boil all that down into something to focus on daily, but I hugely appreciate the chance to work with organisations such as The Restart Project and Helpful Digital to support their efforts. I know Democracy, Ecology and Digital Technology don’t necessarily dovetail together. But that’s where I am, and I’ve no plans to step out of it yet.

I’m also likely to have some availability coming up over the next few months, and will be looking around to see who needs some help. If you’re after someone technical, but with a strong social drive and with an appreciation of what’s appropriate at business-level, then let’s chat.

I’m particularly interested in:

  • Taking on existing "brownfield" projects to get them into shape (code, but also documentation and process)
  • Holding projects to account for sustainability, performance, accessibility, etc.
  • Reviewing the environmental impact and carbon footprints of technology, and identifying improvement plans

Examples of recent work and interests include:

  • Overhauling a large WordPress-based product to allow much easier modification and flexibility
  • Website maintenance and migration to greener hosting
  • Lightweight carbon impact assessment for website visits
  • Assessment of a 7-year-old tech stack for security and other issues
  • Usability testing to redesign the flow of a mapping service

A lot of this stuff is hard, without easy answers. I guess that’s why I like it.

Anyway, to celebrate three years (as well as recently getting older AND moving house), I thought I’d treat myself to a new skateboard. I last bought one 20 years ago from Oddballs in Brighton. They’re still there, and purveyor of finest wheeled devices, so I couldn’t resist picking up this beauty.

Photo of the top half of a skateboard on top of green grass. The skateboard is white, with a black and white snake illustration design on it.

Who knows where I’ll be in another three or 20 years, but at the end of the day, perhaps it’s all just about making sure we enjoy the ride.

Reflection is not a quick-win skill

There’s a part of my brain that is very impatient.

Is this a genetic thing, an in-built urge to avoid boredom? Is it due to growing up alongside the internet, as the twin notions of convenience and instant gratification truly kicked in? Or do I increasingly feel the steely fingers of time passing over me, never slowing. It’s hard to say.

So anyway, I naturally want quick results, it seems. Which, paradoxically of course, means it’s harder to see things long term sometimes. "Sustained" action can become an aspiration rather than a practicality.

Which is relevant right now. After reading about the concept of Ikigai and the overlap of purpose, skills, and needs, I woke up excited on Monday morning with a few realisations running through my head. There were directions I knew wanted to point and paths I wanted to tread. Everything seemed clearer than before.

And then, as usual, I muddied it up by writing it down 🤣

Actually, no need to be harsh on myself. Rather, just appreciate that writing things down can be a difficult exercise, especially when it comes to trying to communicate difficult stuff to anonymous others. It’s a fool’s game in some ways, but often a worthwhile one, just to get garbled sentences out of the way.

People ask me what I do, and I generally um and er a bit, which I’ve decided isn’t the greatest way to sell your services, or spin your own story. For me, it’s fine, but I’ve known myself for a few years now. Other people, well, haven’t. Seems fair.

And when I come to answer, I also tend to break it down into two parts – what I do (or have done), and what I would like to do. Liminal transition life is full of ambiguity like this.

So Monday morning, with the treat of a decent coffee, I wrote down what my skills and interests were – one per tiny post-it – and arranged them very roughly by 1) how good I thought I was at it, and 2) how much I wanted to do it. I also used two different colour, one for technical ("hard"?) skills such as coding, and another for "soft" skills, such as architecture. It was pretty quick to do – being in a constant state of reflection tends to help, at least with this bit.

(Oh, sidenote, I also started the session with an I Ching reading, which turned things pretty spooky fairly quickly. I don’t think I’ve had the same reading twice in a row before, and certainly not within a month, but here was "Advance" again. Keep going forwards, the words said, there’s a path here. I’ll take that as a definite sign.)

By the end, I had a few new things:

  1. An understanding that I enjoy code, but as a creative endeavour, rather than a technical one. I’ve always enjoyed coding because it allows me to create things, and I don’t enjoy it when what I’m making doesn’t make some kind of sense to me. I went back to Uni because of this. I understand stakeholder needs because of this. It’s what I look for in new coders. But it’s never something I was taught, or thought you could take qualifications in (except academically).

  2. A realisation that I have a bit of a language barrier at the moment, which is why I’ve been talking about things like job titles recently. I’ve also got similar thoughts about things like "Sustainability" though, which I should blog about. I really can’t decide if it’s better to use other people’s terminology up-front, or force through my own, garbled vocabulary.

  3. Some scribbled notes about practical ideas. Write more blog posts. Form more relationships. Make time for this stuff, otherwise I’ll just be wishing I was doing it.

  4. The chance to look back over some of my written notes from the last few years, and the hindsight to filter these better.

Hindsight is important. It’s an artefact of the journey being a slow one, one which develops at its own pace (albeit marginally influenced by how quickly you Get On With It). Hindsight comes from experience, and experience comes from doing, but also reflecting.

Despite the world wanting to get faster constantly, this process isn’t one which benefits from increased speed and more convenient technology.

And that’s OK.

Weeklinks 2024-03-15

Things being published

Overview of an image by Richard Littler, showing a hand drawn shelving unit with may items in very fine detail.

Who am I anyway

"My goal is to strip away anything that takes the focus away from my subject. My tip would be to only do what is necessary to convey the feeling you want in a photograph" (Black & White Photography magazine 200)

Some amazing portraits on his site, such as the one below, but also I’m thinking a bit about how the idea of "feeling" comes first here. How can this be applied to other aspects of life too?

Portrait of a person covered with a long hood, staring straight into the camera with a neutral expression.

  • This is hitting home hard right now: Being Glue, or the value of generalisation and joining-the-dots, and how it largely goes against how we see careers and job roles.

  • Nice quote: "Whenever you try to change an organisation it’s important to remember that the pace of change will feel glacial to those trying to effect the change, while at the same time feeling rapid and relentless to those affected by it."

Future lives

Numbers

Two stick people talking. One says "When a metric becomes a target, it ceases to be a good metric." The other replies, "Sounds bad. Let's offer a bonus to anyone who identifies a metric that has become a target."

Handhelds

Deprecated. Too Depressing

The Use and Abuse of Job Titles

Every few months I go through some kind of seasonal cycle of trying to reinvent myself. From the outside, I’m fairly sure nothing much changes, but I think it’s good to avoid trapping your own identity inside too much routine, so I don’t feel like it’s wasted time. The modern world thrives on progress and change, and it can be a very useful exercise to regularly review our own understanding of it – and how we see our place and role within it, both globally and locally.

This is especially so now that I’m freelance. A friend pointed me at Amy Hupe’s talk on the meaning of work recently, where she looks at the finding one’s purpose, and the challenge of moving away from more formal workplace feedback structures – clear titles, role progression, annual reviews, and so on. Understanding myself might be very different to how clients, partners and others see me, but it’s also the core which drives the reason for doing anything. Values, beliefs, principles – reflecting is just a way to make some kind of sense about why we make any single decision about our own life.

Over on Mastodon, I half-joked about trying out a different job title each day, to see how each one felt. The first was "Software Engineer and Digital Existentialist", and I kind of like that, in a semi-pretentious way. I don’t know which half is more vague though, but I do know which one is more acceptable, professionally. Use familiar words, and people will be more accepting, and carry on talking about something else. Maybe that’s not a good thing in a world which needs fresh, unexpected skills though? Maybe the use of disruptive job titles is a way to promote different paradigms and approaches to work in others?

Coincidentally, Pilita Clark also posted an article in the FT (paywalled) on The menace of the overblown job title, looking briefly at how words such as "Lead", "Manager" and "Global" are proliferating in many sectors (often instead of greater role clarity, or remuneration). And perhaps herein lies the difference between titles we give ourselves versus titles others hand to us. Is all of this just signalling, and if so, how best to achieve cohesive signalling that speaks to both our own inner self, and to others?

I’ll be thinking more about this over the coming week, as people keep asking me what I "actually do". Honestly, right now – as with the last few years of freelancing, and the 20 years of work before that – I’m still figuring it out myself. I know "technology" is fascinating and something I enjoy doing, to the point where I could happily call it "techne" instead. I know "making things better" is also in the mix, especially for the generations which come after us. Those are fundamental and immovable.

Anyway, I’ll post properly soon, but if you do know what I do and need some help with old code, frustrating websites, techical debt, carbon footprints, or changing the world of the future, then do get in touch. I have some availability coming up from next month, and would love to chat.

Weeklinks 2024-02-23

What’s been beeping the radar the last few weeks?

Cross the disciplines

Climate and feedback loops and fish food

Energy and efficiency

Software security

Random tales