I can’t not but write something about this can I? But what?
The fundamentals then; I’m living in an apartment with my better half and my son. She, being a key worker, has gone to work and I am home schooling my son. Right now, he’s completing a literacy project based on the ‘Roman Mysteries’ stories and I’m looking forward to seeing it as he’s spent part of the first two days of this lockdown planning it, and I’ve not really seen him develop a story in this way.
It’s a beautiful day in Birmingham, and as I look up and out across the balcony I can see the other units of our apartment block. I can’t see anyone out on their balcony but I know they’re there. There’s the young family on the third floor with a toddler. On Monday I saw the dad putting stickers on the sliding doors of the balcony, yesterday he put rubber matting down on the balcony decking and now junior is free to experience a little piece of outside safely. Well done dad!
I went out onto the balcony earlier on to drink my coffee and caught some sunshine before the sun climbed up behind our side of the block and plunged it into the shade. There was a home working neighbour sitting on his balcony, headphones on, laptop on his … well his lap of course. He didn’t acknowledge my existence and I wasn’t disappointed by that.
I wish I had bought more packets of coffee beans and less cans of chickpeas in the madding days of last week.
Patterns emerge out of the chaos, they always do, and then they persist for a while.
There was a time nearly two decades ago when I stopped writing programs and started producing programmes instead, (did you see what I did there?).
Ok, probably I need to clarify a little, a programming contract finished and I went off, on a whim, and did a film and tv production course at the brilliant Light House Media Centre in Wolverhampton for a bit. At the end of the course I was lucky enough to be involved in a few local independent short film projects, it was a fun experience, I met some cool and highly talented people and learned a few things that have occasionally helped with the day job.
So, when I say Hollywood Producer I guess you need to know that there’s a Hollywood here in Birmingham, it’s older than that imposter of a place across the pond, and if I’d titled this post ‘Project Manage like a Dudley Producer’ you probably wouldn’t have started reading this. (hah! click-baited you like a kipper didn’t I? … hey! hang on … don’t go!)
Still here? … well done that’s the first lesson learnt — don’t give up — and hot on it’s heels is the un-original and yet vital second lesson — it’ll be alright on the night. But let’s start at the beginning except this is a lesson from film producing so I should say that you should start at the end and then work backwards to wherever you happen to be at the moment.
Now this isn’t based on some fancy project management style with fine sounding qualifications and expensive courses and certificates — I couldn’t afford them — no this is just what I picked up on the job as a member of the production crew of some short films shot in and around Hollywood (yes! Birmingham ok … sheesh!) back when Jeff Bezos had hair and was merely a multi millionaire who knew what you read instead of a Lex Luther lookalike who has more billions in the bank than you’ve had hot dinners this year and can hear everything you’re saying in your own home … all the time.
The end … no not really again don’t go, yes this is annoying but keep your cool, ride through the annoyance and I’ll actually start … at the end.
For a short film everything revolves around the day of the shoot, if you literally don’t get the shots you need in the can you have nothing. Nothing to show i.e. no product. With a programming project this is analogous to, let’s say, a web site launch.
As a producer you need to make sure that all the crew required for the day of the shoot are on set, on time, with all the tools they need to do their job, with a clear idea of what they and everyone else is doing on the day. And also, that there’s really great food too. This last bit might not be that important in the programming world but you will have a riot on your hands if you don’t feed your crew in Hollywood (… Birmingham … there are you happy you pedant!?).
So, when I’m creating a web site and I’m involved in any way with the management of the project, which is something I seldom seek to do but sometimes needs must, I’ll start by asking the client when they actually want to launch the product. Where does the product need to sit (for a website that’s obviously the Internet but where is it hosted, a dedicated server or somewhere up in the cloud perhaps)?. Of course your client may not know, or care, then you need to find out more about what they need produced. But the lesson I’ve learnt from the film production world is don’t defer this decision too long. If you don’t get the deployment to production working early on and working reliably then you are asking for trouble. It’s like getting everything ready for the day of the shoot only to find out in the morning that the location is closed, or not big enough for the crew, or equipment, or you failed to obtain the correct permissions. You will be shot by the Executive Producer, then brought back to life and shot again … if you’re lucky.
In the world of web development this is about deployment, CI, & CD Pipelines. You’re a grown up developer and you know how to google so go and find out what that means if you don’t already know, pick a strategy that will work for your projects and implement it right at the beginning so that you don’t come a cropper at the end.
image: ‘Road sign by the station in Wythall’ published in the BirminghamLive website
Here’s the thing about being a developer, you work in an industry which allows you to ply your trade from wherever there’s a halfway decent connection to the internet. Although there’s been an element of remote working in most of the jobs I’ve had over the years it’s probably in the last five where it’s been a major component of my working life. So, with that in mind I thought I’d share how I make remote working work for me.
It’s simply not a case of waking up, opening up a laptop and bashing away at the keyboard while sitting in your pyjamas. If that were the case it would soon result in a drop of productivity and even worse, stern looks from your other half or your cat or both.
It’s all about organising yourself and your day – obvious really – so that you can sustain a useful level of output, meet targets and not go mad. This has to work not just for a day or two but over a period of months, perhaps even years.
The first thing you need to do is to trim your hipster ambition of being a digital nomad and working from the local coffee shop. You need a dedicated home office where you can set up your laptop with an extra screen, keyboard, mouse and anything else that allows you to work as comfortably at home as you would in your ergonomically designed company office environment. Make sure the lighting is good, and if possible, that you have a view of the outside world. But this is your home so feel free to set up your speakers, put your Metallica posters up and rock the house out at full volume if that works for you or until your neighbours complain.
The second thing you have to do is get over the hype and work in some sort of Agile way, of course your company may already be doing that if so, great you’re halfway there, but if they’re not you have to become Agile. You really don’t need to go overboard with this, so no need to stand in the corner of your home office every morning with a mug of coffee in your hand desperately trying to remember what you did the previous day. But, if your company isn’t following Agile practices what can you do? My setup is to create a personal Kanban board using Trello and get some tickets onto it that split the requirement up into achievable stories. Prioritise these and give them some points, perhaps at the start of the week. How you do that is up to you, but I tie story points up with the Pomodoro technique of time management. What’s that? I hear you cry, I’m glad you asked, read on.
This third thing, and the thing that allows you to sustain a long-term remote role I feel, is effective time management. When you’re in an office setting it’s easy to fall into the rhythms of the workplace and synchronise with your colleagues so that you can deliver your stories in a timely manner. Working from home you won’t have the calibrating effect of a fellow team member shouting “Where’s that bug fix you promised me this morning, I thought it was a bleedin’ one-line change?” This is where, for me at least, the Pomodoro technique makes it work.
You can google this of course and find out all about it but in a nutshell you split your day up into chunks of time dedicated to doing some work but with a small period of rest or reflection at the end of that chunk just so that you can ask yourself have I done what it was I set out to do earlier? If not, you then have an opportunity to ask yourself why? Was it more complicated than I first imagined? Was there another problem I had to solve before I could solve the current one? Or, did my neighbour call the police as I played ‘Bat out of Hell’ at up to eleven?
The technique is just a way for you to realise that there might be some adjustment needed to a deliverable and it maybe you need to get onto Slack and ask a colleague about it so that you can get it done sooner rather than later. Simply put the technique stops your efforts at solving a problem from spiralling out of control and allows you to keep on track with the story you’re working on, or at least prompts you to ask for help with it early on. It’s all too easy for a developer, to allow an unforeseen problem to lead them down a rabbit hole of unplanned problem solving.
In projects where I’m setting the points for a story, I tie in the story points to a 25-minute chunk and typically I’ll get about 10 – 14 points done on a good day. Thus, I have a way to measure my output, keep an eye on my productivity and a trigger to start seeking advice or inviting discussion about a problem before it turns into a major issue.
The final pearl of remote working wisdom – again obvious really – is don’t work any longer than you would if you were based in an office. In fact, try to work the same hours and have a lunch break away from your desk, maybe take your neighbour and yourself off to that coffee shop … but don’t take your laptop.
Chinese science fiction hey!, now there’s a thing. What have canal boats in Brum got to do with Chinese science fiction I don’t hear you ask, let me tell you. Nothing … probably. I expect you’re not surprised. I just wanted to put the picture up there because I like it. We went on a canal boat trip recently and i think that was a first for all of us.
Anyway, Chinese science fiction, specifically the Netflix film The Wandering Earth. Spoilers coming up so either go and watch it or don’t. So, they move the Earth and set fire to Jupiter. I enjoyed it and have nothing more to add. Other than, by coincidence (sort of) I’m currently reading an anthology of Chinese science fiction shorts stories — Invisible Planets: Contemporary Chinese Science Fiction in Translation — by Ken Liu that features a great introduction.
Oh yes, one more thing, Ken LiuLiu Cixin wrote the original story that the Netflix Film was based on, which I didn’t know until now, and now it all makes sense (kind of).
[Correction (3 Nov 2019): Deep apologies, I wrongly credited Ken Liu as the original author, it was of course Liu Cixin]
So, it’s been five years, almost to the day, since my last post and nearly a decade since I was last really blogging. It’s an understatement to say that a lot has happened since. My son is older as indeed am I.
We went to Kew Gardens last week for his mother’s birthday, hence the picture above but that’s not really why I’ve put pen to paper, so to speak. But we had a lovely time anyway in case you were wondering.
Back in 2017 I almost wrote a post it was going to be about Brian Cant of all people but I never finished it however I have todo lists (I never used to but seem not to be able to function without them now) and on one of these is start blogging again, as a task. And here we are.
So, what is this post about? Nothing really just dusting off the cobwebs.