Weeknotes S03E19

Groping towards the light

I got this comment on last week’s post:

Every week I am impressed by how much you pack into your life!

And I want to assure you it’s only because I have a constant hovering sense of not being good enough and a crushing fear that people will find out. Every new person who approaches me to suggest I do a thing increases that anxiety, even as I recognise that I’m still upright. I’m starting, slowly, to recognise that I can surf the wave or walk the tightrope or whatever metaphor works best for you. That doesn’t take away the fear, but I’m finding better ways of co-existing with it.

That’s my secret, Cap. I’m always scared.

These weeknotes started out as a giant mess of words and then, like staring at one of those magic eye pictures, came into focus as a single theme with stories to support it. It’s freaked me out a bit to be honest.

This week began — as it always does — with me trying to corral my team into prioritising a bunch of work. It’s a little delivery manager and a little product manager, but since I have neither of those roles in my job title I’m soft skilling the heck out of it. It was easier this week than it’s been before; I think it’s because I’ve been enforcing the format for a couple of weeks and it’s starting to bed in. At the end of the day I had an initial meeting with a new mentor, who posed some hard questions to me. He understands a lot of my frustrations and he’s helping me to be patient where I would otherwise be impetuous. This is Good. He also holds strong opinions about military structures in the Star Wars universe, and this is Also Good. With his help I’m going to look at rounding out my technical skills with some projects in my wider organisation, and we looked at some that seemed interesting.

Tuesday was a weird long day: I did some volunteering in the morning and that sort of wrote off the entire day, as I tried to recover from the emotional black hole that speaking to kids opens inside me. Volunteering is supposed to help you learn things, and in fact I learned three new things:

  1. teenagers in a group are sullen and bored and disinterested and talking to them is like pulling teeth. From a whale. With soapy gloves.
  2. teenagers on their own, hanging around while the rest of the class files out, definitely not queueing up to talk to you but just, like, hanging out in a vaguely ordered curve, yeah: they’re incredible. They absolutely sparkle. They’ve got brilliant questions and probing follow-ups and make you wish they’d asked the question in front of the rest of the class so everyone could have benefited from it. Fuck me, I hate that enthusiasm is uncool.
  3. being escorted around by a teacher I still felt a bit nervous and like I’d got in trouble. I’m almost thirty years old.1Oh god

In the evening I had dinner and a chat with a mentee.2fuck, maybe I do do to much She is going to be giving a talk that’s kind of in my (undergraduate) area, so I’m doing my best to coach her in speech-giving and argument-forming.3I can practically hear the eye rolls of people who know and love me I’m more comfortable with this mentee, and as I write I’m trying to figure out why. I think part of it is that we discussed it formally in the beginning and had some ground rules; we know what we’re aiming for and how we’re approaching it. Maybe I just like structure.4Maybe we all just like structure, apart from my slightly scary friend who’s convinced purging all laws every ten years would do wonders for society It’s also politics, economics, and arguing: areas I know reasonably well.5As opposed to “how to get a career in tech”, an area I know literally fuck all about having faked my way into it in a big way. I’m making a good go of it, but seriously — 2 Bs and a C at A-level and a 6-year long slog at an undergraduate degree in French doesn’t scream “tech sector career”. It meant I missed the weeknotes meetup though, which is a shame. Next time.

I am (still) completely in love with writing code. I track my time, and on Thursday I spent 7 hours (with some breaks) on trying to figure out why an innocent upgrade was causing massive, things-on-fire test breakage.

I should explain — so that a handsome, rugged, naif young coder doesn’t go releasing massive changes to the production environment and breaking everything for everyone everywhere, a whole suite of tests runs against any change I — sorry, he — makes. They take about ten minutes and run through a few hundred scenarios a user might actually carry out. In my case, the phantom user was pretty hacked off as the system kept logging her out.

That was my cue to start pulling my hair out and diving three or four layers deep to try to get to the bottom of the problem.

The problem turned out to be nothing I’d done (hurrah!) and in fact something someone else had done for reasons known only to themselves, god, and people with toys they want to connect to the internet.

Still, thanks to my senior I scratched out a 6 (sorry Sam) Point Plan to solve it and then went immediately on a date. I don’t think that I could have done it with a senior to guide me, so I’m really grateful I’m working somewhere where I can learn from people much cleverer than me.

I think these have been the best weeknotes I’ve ever done. Not for you, the reader — I expect you’re bored silly. But as a reflective practice I think they’ve helped me work out the solution to something I’ve been struggling with all week.

Go weeknotes. You rock.

Weeknotes S03E18

Trying to find my groove

This week has felt long. January is a month that is infinitely long, while the last week of that month is itself infinite.⁰

I have done a few things this week, but all of them feel fretful. I am still struggling to find my space, and I’m starting to get frustrated with myself at my inability to settle into a thing and just do it. Maybe I’ve not found the right fit. Or maybe I’m just incapable of doing one thing for any duration.

On that cheery note: here is the week that was:

On Monday I caught up with a mentee. She’s coming off a coding bootcamp and is trying to work out what she wants to do next. I’m still trying to find the right balance with mentoring between giving advice and letting mentees work out their own path. I think I leaned too heavily in the latter direction and may have come across as sharp or stand-offish by repeating her questions back to her. I feel like I need a mentor in mentoring. A grand-mentor?

I also offered to use my connections to try to secure shadowing. I think this is the right thing, but I’m also anxious about it because it privileges her above other (equally deserving) individuals. On the other hand, my wider organisation could do with more people from her background, so…

https://media.giphy.com/media/tL3Nkk58oeWEo/giphy.gif

Look, Monday was essentially a mess of me wondering whether I was doing the right thing.

All the way through this week I’ve been doing Russian homework during my lunch. I’ve needed to do this because I’m a massive keener who’s taken a homework that involves writing about 50 words and turned it into two pages of both printed and cursive writing. I’ve also started watching Trotsky on Netflix, a Russian-made biopic of the revolutionary. It pulls no punches as to the homophobia, misogyny, and anti-Semitism rife in Russia at the time.


I’m concerned I’ve overstretched myself on this: it smacks of “ooh! Shiny! New!” enthusiasm that I fear will fade over time. I’m slightly buoyed that my Duolingo streak is at 70 days: maybe it’s not just a flash in the pan. Maybe.

I was supposed to go and mentor on Wednesday, or go to the leaving drinks of Kit Collingwood. Instead I found myself spoon-less by the end of the day and crashed home. I’ve noticed a massive dip in my energy levels recently: is it something to do with the weather? Am I not eating enough fruit and veg?¹

Still, it gave me an opportunity to make a butt-load of spicy carrot and lentil soup. It’s my favourite reviver in weather like this: warming, thick, and enough spice to make your tongue and nostrils tingle without being painful. Paired with thick bread and a thick book — this week it’s Ha Joon Chang’s Economics: The User’s Guide — it’s a corpse reviver.²

https://media.giphy.com/media/ItbGTGlgqvw2s/giphy.gif

Thursday was a day that was half running around and half sitting down and doing thoughtful programming, and really hit the sweet spot of things I like doing. In the morning I ran over to Whitehall to talk to other unsuccessful Future Leaders Scheme candidates about what we could do to advance our learning and development before the next application window opens later this year. We didn’t get much insight into the process or scoring system, which is a shame: I am continually banging on about openness because it makes things better. I still offered to help in any way I can, and made a few valuable contacts. My organisation covers so much that the opportunity to go and shadow someone doing something wildly different — whether that’s the Privy Council or the Queen’s Honours list — seems like too good an opportunity to pass up.

In the afternoon I sat down with my senior dev and paired for a solid hour and a half on a new-ish feature. It’s really enjoyable because she’s a really good pair: thoughtful, patient, and doesn’t obviously flinch when I ask questions that I then answer myself almost before I’ve finished asking them.³

https://media.giphy.com/media/8nn3g8obMjVp6/giphy.gif

Friday was a full day of training. I bumped into some old Fast Stream colleagues and talked to them about my eternal, unchanging bugbear and my plans to stop whining about it and turn it into a scoped piece of work for a corporate objective. They agreed this would be a good idea.⁴ So I’m going to write that up over February and start shopping it round and see if I can get a little team of volunteers on it.

The training itself was interesting: it was an introduction to Service Design. I’m personally very nervous about tech architects and service designers, because in my experience they tend to want to architect and design. Agile development doesn’t fit easily with this approach, but I think perhaps I’m still struggling to see the bigger picture. I’m also probably being hyper sensitive. There is value to seeing the bigger picture: where your little transactional service fits into massive, wider user journeys. I’m just…I’m not yet convinced that you can design that journey up-front.

Now it’s the weekend. I had an extremely good date last night, and I’ve got a few hours before I go to Russian class and am crowned “Hideous teacher’s pet”. So I’m off to have breakfast with good coffee and even better company.

And look — it’s February. We made it. Well done team.


⁰ For more on infinities that contain infinities, I recommend you start with Hilbert’s Infinite Hotel
¹ I am almost certainly not eating enough fruit and veg
² In actual fact, a corpse reviver is a cocktail that combines gin, absinthe, chartreuse, lemon and Lillet Blanc. It’s said that one will revive a corpse; another three will un-revive it.
³ “But how would I add this permission to — oh, yeah, I think I’d do that”
⁴ Hang on, I should have asked which bit they felt would be a good idea.

Weeknotes S03E17

Slaying the beast

This week has been almost entirely dedicated to a mammoth bit of work I finally completed, so may be tech heavy and retrospective. Luckily, there’s a romantic interlude so there should be something for all of my readers.

The giant code change I’ve been working on is finally ready. It deletes 700 lines of code, has gone through various iterations, and had a personal best of 43 comments and recommendations on it. I now know this repo inside out, and I’m already thinking about ways I could further improve it.⁰

I’m also thinking about ways I need to improve the way I structure these code changes. Reading back through the commits I’ve made on the branch, there’s no clear narrative. I seem to dart around, solving the problem like I’m solving a cryptic crossword. In the real world, that is a little bit how you solve these things — this video from Malcom in the Middle is a good analogy.

You try to fix a bulb, but when you go to get one you realise the shelf you keep the new bulbs on is broken. Since you’re fixing things, you may as well fix the shelf, so you go to get a screwdriver, which is when you realise the tool drawer is squeaky. Nightmare! So of course you grab some WD-40 from the garage, except the can is empty. You’ll need to go to the store to get some more, but the car won’t turn over, which is why when your partner gets home an hour later and says “Hey, the bulb in the kitchen needs fixing” you’re understandably upset, because that’s clearly what you’re fixing by stripping the engine.

The point of this long segue was that I am going to try being more focussed in my commits and make the narrative clearer, particularly with large chunks of work like this. Alternatively, I’ll start committing back into the master branch earlier.¹

Codebar happened again this week, this time at the office. This week I was focussing on writing good method definitions, and discouraging the use of globals. It’s really interesting to see people making the same mistakes that I used to make, way back when I started writing code.² When you’re hacking at stuff to make it work, global variables — values that are available to everything, everywhere — are the quickest way to make everything work. In this case, my mentees had written methods with no return statements, so their code was chuntering away, calculating correctly, and then jettisoning the results into the void.

Yu-Gi-Oh and Magic: The Gathering are two nerd things I never got into. Am I missing out?

As ever, the opportunity to teach (and thereby learn) is hugely exciting. This year I’m working on identifying things I enjoy ahead of my next career move: I’ve been inspired by this fantastic post by Anna Shipman to be more thoughtful, as well as conversations with my mentors and manager.³ I also read the Institute for Gov report (PDF, 72 pages) about staff turnover, and I’m going to make a more conscious effort to hand over work effectively and thoughtfully if I move in the future.⁴ However, I’m not convinced by the broad brush answers in the report. Applying a pioneers, settlers, town planners model to organisations gives me the view that there should be different targets for turnover depending on the team and evolution of the product, and consequently different methods for attracting and retaining talent.

I attended a half day blogging workshop, and it’s helped me understand a part of the business that I didn’t understand before. It was a step outside my comfort zone, because it was about blogging professionally. I love blogging⁵, and so it’s a weird step-change for me to write with more thought and with a stated aim of grabbing attention and holding it.

There was plenty of really good content and I particularly appreciated the refresher on the GOV.UK style guide — the passive-aggressive “Words to avoid” section is probably my favourite.

[avoid using the word] key (unless it unlocks something. A subject/thing is not key — it’s probably important)

— The GOV.UK style guide

I had a weird quasi-first, quasi-nth date/friendly catch-up with someone.⁶ We’ve known each other for the best part of a decade and dated at the beginning of that period. It did not go well, mainly because I was an obnoxious ass a decade ago.⁷ We are — philosophically speaking — very different people to the people were once upon a time, even if we look similar. It was odd. We’re both pretty recently out of long-term relationships, and since we have history our baggage is now so great that it needs its own carriage.

All the same, it was really nice. We get on well, and we’re going bowling this weekend which feels…more like dating territory?⁸ So we’ll see.

If there’s one takeaway from this paragraph, let it be this: never go back and look at your tweets from ten years ago.

Govcamp will happen/is happening/has happened, depending on when I write these notes. I’m probably going to pitch an intro and advanced session on swardley maps and see what happens. I was approached by someone this week about putting together a workshop on this for a strategy away day, and so this will be a good opportunity to workshop with the five or six people interested in this ahead of my meeting.

I’m completely blown away by the fact that someone approached me about this. It combines my two tick-boxes of strategy and teaching, and is right in my wheelhouse of niche nerdy topics on which I’m well-read. However, I’m starting to get concerned about how much of my work time it’s going to take up. In an ideal world I’d have a job where I could do all this stuff — write code, mentor people, do strategy workshops and be home by 5.30. I don’t know if that job exists. I do know I’m going to have to think quite hard about how I’ll manage this in the future.

I could go down to 4 days a week and pitch my mapping workshops as a consultant, but I have an irrational loathing of consultants. It also seems to offer poor value for money to the taxpayer if I charged £800 a day for what I’d previously been offering as part of work. Alternatively, I could try making a pitch that this is a corporate contribution and actually start measuring the time I spend on it. If it starts taking up the majority of my time I’ll need to have a conversation with my team and manager. I might also need to start looking for a role that emphasises that, rather than software development.

Got thoughts? Put them in the comments or get in touch with me @jonodrew, because I have no idea what I’m doing.

https://media.giphy.com/media/SRx5tBBrTQOBi/giphy.gif


⁰ These ways almost all involve binning old code
¹ Unless you’re a tech person, you’ll be unaware of the ongoing turf war between “trunk-based development” and “branch-based development”, but believe me: there are assassinations in the night and rude words written in leading publications that will testify to the strength of feeling in this arena
² Ah yes, way back in *squints* 2015
³ Good managers make people less likely to leave. I’ve genuinely got a great concern that moving might bring me into the orbit of a less-good manager, and that’s definitely adding friction to any moving thoughts I have
⁴ That should be a learning module for new staff: How to hand over work in progress in ways that don’t make your successor curse your name
⁵ Exhibit A: what you’re reading right now
⁶ Dating as a millenial is like manoeuvring an 18-wheel truck full of explosives through a china shop with a blindfold on
⁷ Genuinely just fucking awful. I’ve gone down a rabbit hole of my old tweets and the shame is real
⁸ Wearing other people’s shoes and awkwardly trying impress someone is prime dating territory in my (admittedly very short) book

Weeknotes S03E16

Settling in

Welcome back

This week has felt alternately slow and quick. I’ve been thinking about a few things and I’m going to do my best to articulate them here.

1 Mental energy is the same energy as physical energy, or at least it is for me. I realised this week that I’ve been burning mental energy thinking about things I didn’t even realise I was thinking about. It was only when I made a commitment to dropping them and suddenly felt lighter, brighter that I realised they’d been taking up a lot of space in my head. I have to write them up before I can actually let them go, but I’m excited to do so because it frees up my mind to focus on something I can actually progress right now.⁰ It also means I’m on the hunt for a fresh new corporate contribution. I’m thinking about going back to mapping and starting a meetup or even an internal book club/community of practice. Let me know if you’d be interested in these things.

2 I really love coding, but I really like strategy and I also really like delivery. I keep switching what I’m doing because I can’t seem to pin myself down. This week I’ve been busy deleting old code¹ and writing new integrations to reduce our reliance on old, deprecated libraries. It’s absolute joy. It’s really hard to explain the dopamine hit to people who don’t code, but in general the time between me deciding on how to solve a problem and finding out if my way works is generally less than a week. It’s pure bliss.


At the same time, I’ve been the scourge of delivery. I’ve enforced work-in-progress limits, linked up bits of business, and set up meetings for people in order to better segment work and improve flow. I like doing this stuff, because even though the feedback cycle is longer it’s so completely worth it when you start to see it moving again. The first tipping moment is the best. It’s like — have you ever seen, in a strongman competition, some great human specimen endeavouring to move a plane or a train or some other mode of transport that requires huge engines to move it? They press their whole bodies to the task and for the longest time nothing seems to happen and then the wheel starts to turn and suddenly, bizarrely, this huge weight of steel rolls forward. And it continues.

That’s what being a delivery manager is like.

3 There are a lot of new people adjacent to us and they are boisterous. I am reminded that it is very difficult to do knowledge work² in open-plan offices, and that I would almost certainly work for anyone who promised me my own office. I’m serious. Morals be damned, if I can close the door on the rest of the staff I’ll sign tomorrow. I am also horribly aware of the many, many times I’ve had long calls at my desk. Calls in which I may have laughed a lot. My former colleagues (and certainly former friends): I am so sorry.

I have been blessed³ with a laugh that has been called “Jimmy Carr-esque”.

“It can’t be that bad,” I hear you say. Sure. Tell you what. You get through this video that’s a mere 54 seconds without pausing, without plugging your own ears with wax, and I will accept that my laugh is not that bad.

Because I forking can’t, and I have that laugh.

Please, please, please let’s go back to offices with doors. I’d even accept a cubicle at this point. Anything to stop the noise.

4 I got to One Team Gov breakfast this week, and filled in the form for OneTeamGov Event in Canada. If you’ve not filled it out yet, here’s a link:

The point is that it was very enjoyable and had a mix of new faces. Jenny did a cracking write-up so you ought to go read that, but my main takeaways were:

  • there felt like a marked difference in the number of people speaking over each other. I’m not sure if that’s linked to the new organiser being a woman. I really hope not. Maybe we were all just excited that morning.
  • challenging when you’re the first person to do it is really hard. At GDS we tend to heckle people speaking in jargon, but getting your organisation to that place requires huge bravery or your senior team heckling each other. That’s cool, but I don’t know how likely it is. If you’re a senior person, being that first challenger empowers everyone else. Remember: with great power comes great responsibility⁷
  • you can’t replace one ‘resource’ with another because (a) I can’t stress this enough, people are not resources and (b) teams are immutable sets; the removal of one individual and the addition of another creates a new set. Not a changed set: a new one. Even if it’s the same person just six months later. They’ve grown apart from the team. They’re a different person. It’s a new team, and it’ll take time for it to form. Give it space.

That’s me for this week. Tomorrow I’m taking my parents to see my new flat even though the developers are yet to accept my revised offer. Nerve-wracking, but an opportunity to cook for my family shouldn’t be sniffed at.⁸

Listen: Into the Spiderverse is stunning and even if you don’t read my inane footnotes you should listen to this soundtrack.


⁰ There will be a lot of blogs this week
¹ code gets old like fish gets old: it starts to smell bad
²

https://media.giphy.com/media/sbwjM9VRh0mLm/giphy.gif

³ [citation needed]
⁴ It’s intriguing that in French an un-conference is an anti-conférence. I feel like it gives it a slightly more…contradictory air? An unconference just isn’t a conference, while un anti-conférence feels like it’s everything a conference is not.⁵ I would have gone with un non-conférence if only because the running together of sounds in my mouth is pleasant. It quickly becomes unnonconférence, and that’s just pleasant.
⁵ Like…there’s dressed, and there’s un-dressed, but anti-dressed feels different.⁶ 
⁶ I’m reading too much into this. Let’s move on.
⁷ Related: Spiderman into the Spiderverse is the best comic book movie I’ve ever seen. Go and see it. Listen to the soundtrack. I just. I love every single thing about this movie.

https://media.giphy.com/media/WW2yolJKWVvb2/giphy.gif

⁸ I mean, Dad’s allergic to cats so there’ll be a bit of sniffing.

Weeknotes S03E15: Break

Everything is in motion and relative to everything else. Don’t think about that too hard

Overarching feeling of the week:

https://media.giphy.com/media/PJoLp4gDIqjYs/giphy.gif

Based on previous experience this feeling will persist until at least April.

This week (although is it even a week? It feels like it’s lasted all year⁰) saw me get into an extremely frank discussion with a colleague. I don’t mind these kinds of discussions because I see them as fruitful, but I was reminded again that I can come across as frank or even fairly brutal. The flipside of this is that writing code is like writing anything, in that you put something of yourself into it and so any critique becomes a critique of you. I’ve talked about being on the receiving end of this, and to my shame I ignored all the positive suggestions I’d made for people reviewing.

I am going to get better at this, if only so that people are less likely to think of me as a giant tosspot with aggressive opinions and no sense of personal space.¹

https://media.giphy.com/media/VEE958uPeSEFy/giphy.gif

I updated my side project this week. It’s now using one of the GDS registers to feed data into a system, which means that I don’t need to build a database into it. This is a Good Thing in theory, because it means the data will always be up to date, although it’s going to cause problems in the future. Luckily, that’s future me’s problem.

Man, I don’t envy that guy.

Just doing it and putting it on twitter has raised my profile. I even saw it get shared on our internal slack. I suspect the person sharing it didn’t realise I also worked there and probably had a minor panic when I rocked up to say hello.

I have mixed feelings about this side project. I don’t think it’s a good side project, because it’s not atomic — it relies on other moving parts that I don’t have access to at the moment.

That sounds mysterious, but it boils down to “People are busy, too busy for my personal side project.”

https://media.giphy.com/media/tIFtQ0E69uBIGle98E/giphy.gif

I had a second date, and let me tell you it is weird. I’m channelling my inner Scrooge, but I have literally no idea what I’m doing. I’m only partly rescued by my repeated mantra: nobody knows what they’re doing. I think, broadly speaking, it is going well. It is going slowly. It is going slowly on purpose, because I am carrying baggage. There are times when I very suddenly bump into a feeling that is confused because it’s very similar to a feeling I had about my ex. Is this a new feeling? Is this an old feeling that parasitically seeks a new host so that it can survive even when it doesn’t belong?

https://media.giphy.com/media/3o8dFiXShIJ3Yjx3JC/giphy.gif

Because love is a mix of physical, immediate attraction that comes from the way the other person fits into your life² but also all the feelings that grow through shared experience. They grow, like the man says,

Like a flower
Or a mushroom
Or a guinea pig
Or a vine
Or a sponge
Or bigotry
…or a banana

And love is made more powerful
By the ongoing drama of shared experience
And synergy, and symbiotic empathy, or something
 — Tim Minchin: If I Didn’t Have You

Anyway. I am an ongoing and eternal emotional mess, and this is good because it’s a reminder I am terrifyingly alive and still doggedly clinging to the skin of this blue marble as it hurtles around the Sun.³

Project Flat rumbles on, derailed only slightly by the holiday period. By the end of next week I shall hopefully know whether I have been authorised to spend more money in one go that I’ve ever spent before, and I’m now so sick of the entire process that if it fails I shall decamp and live in a yurt.

No, I’m kidding. I’ll move to Canada.

https://media.giphy.com/media/fR6Y3QxkEdTX2/giphy.gif


⁰ Bam, Dad joke straight out the gate. Starting 2019 as I mean to go on
¹ Boy, let me tell you about those guys
² Fits into your life along the cultural norms you’ve grown up with, or even actively rejected and therefore fits into your counter-culture but still fundamentally fits into your worldview; like maybe you’re an atheist while your parents are religious and you’ve gone all counter-cultural and brought home an atheist partner but I bet my last pound that godless heathen has nice table manners and is sweet to your parents and doesn’t kill puppies and went to the same kind of school as you did and look the point I’m making is that love is at least three quarters cultural and even being counter-cultural is still aligned to your culture in the same way that the London-Brighton line is simultaneously and non-controversially the Brighton-London line.
³ It’s just done another lap, and rather pleasingly everyone in South Korea and Japan got a birthday. Isn’t that nice?

Weeknotes S03E14: Wipeout

Watch in wonder as his sleeping pattern disintegrates!

We made it folks. This is it. The solstice. The days will get longer from here and the night will retreat.

I have violently overdone it this week. Come with me on this journey of self-discovery.

On Monday I started the last week with my current team. Next week I’ll go back to my old team, which used to be my old team. My current team is my old team; that is to say, the team that was old before my old team was my current team.

I hope that’s clear.

https://media.giphy.com/media/mPytjcsG3XS4o/giphy.gif

The day was fairly intense work, and in the evening I had a date. It seemed to go well. I also spent a lot of energy on being nervous before and after, so that did not set me up well for the rest of the week.

On Tuesday there was:

  • a special meeting with our programme directors
  • one of my team’s Christmas lunches
  • drinks with colleagues
  • drinks with friends
  • another date (I am really, really not very clever)

So by Wednesday I was fairly broken. I therefore did what any normal person would do and joined the final One Team Gov breakfast at 0830 and mentored some individuals at codebar until 2100.

Obviously. Obviously this was the sensible thing to do.

https://media.giphy.com/media/FaLhiZQHrBIYw/giphy.gif

I woke up on Thursday tired in every bone. I turned off all my alarms. I fed the cat in a fugue state. I fell back into bed and slept for another two hours and still woke up groggy. I went back to bed at 7 and slept until 11, when my growling stomach and growling cat combined to wake me up. I made the latest cheesy pasta that’s ever been made, ate almost all of it, fell immediately back into bed and woke today feeling, if not refreshed, at least human.

There is a lesson for me here, and that lesson has been learned so many times that I’m embarrassed that I still don’t know when to chill the fork out.

https://media.giphy.com/media/3oxHQKW9lw6rK9kYtq/giphy.gif

With that being said, good things have happened; are happening; will happening. I went on a date with another human. I’ve been pairing a lot with someone at work and we wrote some cool code and fixed some problems.

I went over to the London Borough of Hackney and facilitated a swardley mapping workshop. I really enjoy facilitating and giving other people the tools to build their strategy effectively. All the attendees said kind things and since I never retweet praise I’m going to put it here. Huge thanks to Cate McLaurin for organising both a compelling workshop and absurdly good cake.

(Also, I think my somewhat-above-me boss discovered who I am on the Twitters, so that can only end well)

If you’re wondering about strategy and would like my help facilitating a workshop like this…I honestly don’t know how we’ll manage it. But I would absolutely love to, so get in touch and let’s make it happen.

I had a great meeting with my line manager where we discussed career aspirations. I’m still waiting for feedback from the Future Leaders Scheme, but in the meantime I am reasonably confident that I should be aiming for a more senior position within the next year. I’m just going to keep pushing upwards and finding new and interesting problems. As above, if you have a new and interesting problem (or even an old and interesting problem) please say hello. I like interesting problems.

Finally: it’s Christmas. This has been quite a year for me. There’s a retrospective in the works, as well as a proper write-up of the OneTeamGov breakfast that happened on Wednesday. For now though, I’ll be working all the way through the holidays. I hope you’re well, and I hope to see you soon.

Buying a house

First, construct a universe.

Good buddy and fellow Team #weeknotes writer Ian Ames posed me some questions about my house-buying journey. Since that might be something you’ll go through at some point, here are my reflections on the whole thing.

How did you find the property you’re buying? What criteria did you use for your search? Who did you use? What information would you have liked to have had that wasn’t available?

I started looking for properties by finding all the developers who offered Help To Buy, and then got myself on their mailing lists. I knew I’d go the help to buy route because I want to start in London and scraping together 10% of £280000 is unlikely. I don’t know if I’ll stay here long term, but buying here first means I should get a decent enough price for my flat when I sell that I’ll be easily able to get something in Manchester or Edinburgh.

The criteria I used was primarily price. I really wanted a new build; there’s something psychological in me that values newness quite significantly. I’m not sure why. It may be due to the fact that I didn’t always have new stuff growing up. I went to the kind of school where you have to buy the uniform from a small, family-owned shop in Knightsbridge, or second hand.

I really would have liked more information on what other properties were valued at in the area; how much I could haggle a price up or down by; the factors that might increase or decrease the value of the property; and how exactly a Help to Buy ISA actually works.

How did you engage an estate agent/ conveyancer, how aware were/are you of the steps involved in the buying process, would an awareness of these things have helped at all?

I engaged my conveyancer through a sort of price comparison website. By the way, “conveyancer” is both a less descriptive and a less helpful job title than “geomancer”, because I at least know what “geo” means.

I had a vague awareness of the buying process, but I don’t know to what extent a greater awareness would have helped — I’ve approached this mostly by saving as much money as I can and making a lot of spreadsheets. I think I’ve logged about 35 hours on my latest one.

That being said, my solicitor has been immensely helpful in explaining these things to me.

How has the moving process been? What were the pain points, what would have helped make it easier?

I’ve not moved yet, so I promise to give you an insight into this. Right now my biggest pain point is that the developers have absolutely zero liability to me in terms of getting the flat delivered to a particular date, while I have a two-month notice period. It feels like there’s a strong possibility that those dates won’t line up, and that I’ll need to work out of my parents’ house for a time. That’s quite frustrating.

At the moment I’m making lists of things I think I’ll need to do:

  • tell the utility companies I’m moving
  • update my bank accounts
  • update my driving license (bugger)
  • set up a mail redirect
  • give my new address to people I like
  • update the vet on my cat’s new address (I’m not 100% on this)
  • book a moving van
  • book some people to move my stuff
  • book a holiday to go on while the people I’ve booked my stuff into the van I’ve booked and unload it in the new flat
  • work out how to get a sofa up to the 18th floor

Weeknotes S03E13: Gluttony

The Christmas indulgence has started in earnest. Someone feed me a salad

What a week this has been. Here goes:

1I did my first bit of volunteering with the lovely folks over at codebar. It was an immensely enjoyable experience and reminded me that my first true love is teaching.⁰ I had a small group of three students who were breaking into Python for the first time, and so we went through the important things new programmers must learn. They are:

  1. Google is your friend
  2. The next person to read your code will have your home address and homicidal tendencies
  3. “Readable” is better than “quick”

It was really basic stuff and I enjoyed myself more than I have in some time. Dinner was provided and it was pizza. So carby. So delicious. It had a vegetable on it though so…healthy-ish?

2I did a big ugly bit of work and came up with a recommendation to do nothing to automate it. I think it’s important to have records of decisions, including when those decisions are “we’re not going to do anything about this annoying problem” because then people can disagree, and that’s good, and when you get very angry at the people who didn’t solve this annoying problem you can find out it was you all along. More importantly, you’ll be able to find out why you didn’t do it then and decide if things have changed sufficiently for you to come to a different decision.

I had a celebratory hot chocolate that was so thick I could stand a stirrer up in it and so full of calories that the health and safety executive demanded it be sold in tiny cups like espresso. It was amazing.

3I attended Hack the Police and won two prizes. Nobody was more surprised than me. There were people there who’d built machine learning tools and global mapping tools and a virtual reality tool for evidence examination.

I put together a five questions, skinned it in the GOV.UK design system, and then mucked about with a capture the flag (CTF) challenge for the rest of the time.¹


And yet I’m now the proud steward of a Met Police whistle, an Amazon Alexa, and offers of help to turn this into a real thing. I’m really excited, because apparently in many cases of robbery and violent crime viable CCTV isn’t always used because it’s so difficult to get it into the hands of the police.

Of course I’m absurdly busy, so this will probably be taken out of my hands or not start work until after March. All the same, it’s very cool. The code is open source, so check it out if it’s your kind of thing.

We had burgers for dinner and cake for breakfast. I tried a burger made entirely of plants that tasted both meaty and not like any meat I’d ever had before. It is definitely The Future.

4I did not get onto the Future Leaders Scheme. This has come as both a massive blow and no surprise, because cognitive dissonance is easy and so is self-deprecation. I made myself carbonara for dinner with extra cheese.

I am grateful that I’ve been doing this with a bunch of other public sector digital heroes, because — selfishly — some of them didn’t get it either, and they’re way more brilliant than me. So I know I’m in good company, and that the cutoff was incredibly high.

I’m really looking forward to the feedback and results of the psychometric tests, so that I can give my critical friends some things I’d like their help to work on. They’re due ‘later this month’, presumably for excellent reasons.

I’m also mildly irritated that after a job interview three weeks ago I’m still yet to hear back about it. It’s for a senior position and I am 100% certain I didn’t get it, but at the very least I’d like to know. Not knowing is the chitinous thing whose wings scratch your insides.

5There may be movement on my flat. The endless merry-go-round of frustrating, paper-based process (alleviated by paying other people to deal with it) continues. It continues in my favour, and so I feel quite churlish for complaining about it. It looks like — as long as the developer realises that all valuations will be much of a muchness — I shall have another £20,000 shaved off the price of my new flat. This is enormously exciting, but there is a nagging fear that prices everywhere are about to do their best impression of a whale called into existence by a space-age technology:

The Hitchiker’s Guide to the Galaxy

That’s all for this week. Wish me luck.


⁰ This comes with the caveat that the student must want to learn, which is why I really love mentoring and really hated teaching.
¹ It’s taken over my bastarding life. Don’t ask.

Weeknotes S03E12: XXX

Everything is new but old but new

I’m back on my old team. We’re delivering things ahead of the meaningful vote on Tuesday. There is not very much I can say about these things.

Still, other things happened. Maybe there’s a post in them. Let’s see.

I did more baking than I’ve done before and worked out how to temper chocolate. Tempered chocolate — glossy, dark, smooth — is the most decadent, most delicious sight in the world. I love it. I love it so intensely that I tried to record it and felt immensely disappointed when it didn’t match the way it looked inside my head. I was tempering chocolate in order to win the bake-off my new team’s DM organised.

Yes, I said win. Who enters a competition without the aim of winning?

https://media.giphy.com/media/10nGcSDXpLv9w4/giphy.gif

The treat I’ve made is vegan chocolate brownies that contain cherries and nuts. Early feedback is that they are amazing, but also need more chunks and possibly more umptuousness, a word that — like my brownies — is mysterious but has a wonderful mouthfeel.

I spent a full 90 minutes with a colleague who helped me understand our communications strategy, because I’m nosy and asked to learn about blogging. I think I’m good at personal blogging, but strategic blogging is a slightly different thing. I don’t think I fully agree with their viewpoint, but I’m also not an expert in this field. I’m willing to be educated, and I’m pleased and excited to work with colleagues who are willing to give up their time to explain it to someone like me. There’s also a workshop happening to bring together devs like me and professional writers like them to help us to better understand each other. This ought to make publishing easier.

Antonia and I played chess, and it gathered a small crowd. I think there’s potential for a small chess club, but I don’t want to take on another corporate objective. I do want someone to set it up though, because I like playing chess and I like getting to know my colleagues better. If nothing has changed by March I’m going to start annoying people to start it themselves, but I’m committing to no more corporate projects until I’ve finished the ones I’m on for the moment. In the interim, watch these incredible geeks play chess in four dimensions and try not to let your brain squidge out of your ears.

I scored a ticket to Hack the Police and I’m immensely excited, because I love an opportunity to muck about in a novel context. I’m also going to Pushkin House, the Russian language centre in London, to be assessed on my Russian language.


A Russian-speaking friend has given me an appraisal of “like a five year old”, so I’m confident I’m ready for the intermediate class.

These are all part of my aims: I want to be a senior developer within 18 months, and I’d like to be an interesting and well-rounded person.⁰ Daytime language courses are cheaper than evening and weekend, so I’m going to do some rejigging of my hours in the new year to swing at least half a day off per week. A whole day off a week would be even better, but that would be such a blow to my finances that — ironically — I’d struggle to afford to do anything with that day off.

Purchasing a flat continues to be the most arduous task I’ve ever had to do, and now includes legalese. I hate legalese. I hate it so much because it feels like the purpose is to obfuscate meaning and humanity.

If that is the purpose, it can get in the bin, because meaning and humanity are all we have in this universe. The stars; the wind; the earth beneath my feet. All these are cold and uncaring and have nothing in common with me except chemistry. Let’s at least be humans to each other.

If that’s not the purpose — if lawyers truly believe that this is the way people like to have their lives laid out and ordered — then I volunteer to go up and down the country to shake them firmly by the lapels of their exquisitely tailored suits and say with force that it is not, it is not, nor will it ever be.

Here follows an excerpt from something I am supposed to swear that I understand.

The Seller shall at it its own expense procure that the Property be practically completed as soon as reasonably practicable to the reasonable satisfaction of the Buyer’s or its mortgagee’s (if any) surveyors in accordance with the Specification (subject to any amendments made under this Clause 3) and in accordance with planning permission and any planning agreements relating thereto (so far as they relate to the Property) and building regulation approval relating to the construction of the Property (subject to any variations made to them and to any amendments required by any local or other public authority) and to the standard of the Warranty Provider PROVIDED THAT the Seller shall not be liable to the Buyer for damages or any loss or inconvenience that the Buyer may suffer in the event that the Property is not ready for occupation on the Anticipated Handover Date which is as a result of any delays in the Property being practically completed in cases where such delays are beyond the reasonable control of the Seller.

What absolute cock. I put it through the excellent Hemingway app and after it had recovered it told me that:

  • 3 adverbs in a single sentence is too many
  • 6 phrases have simpler alternatives
  • And 1 (out of 1!) sentences was very hard to read
  • However: there were no uses of the passive voice. Good job!

WRITE FOR YOUR AUDIENCE. STOP MAKING PEOPLE ANXIOUS BECAUSE YOU WANT TO SHOW OFF HOW CLEVER YOU ARE.

THAT’S JUST HOW NERDS BULLY PEOPLE.

DON’T BE A DICK.

THAT IS ALL.


⁰ Yeah, it turns out it’s only easy to do one of these things.

Trying out serverless with AWS and Chalice

Hoo boy

You ever been nerd-sniped?

https://xkcd.com/356/

It happens to me regularly, and on Friday I was nerd-sniped by Jamie when he posed this into the ether:

System and data design is kind of my bag, so I immediately shot back that a database would be best but a web api would be super cool.

And then, because I’ve been itching to try out something serverless, I built a tiny proof of concept. Tiny in capability. It took me most of today to actually do.

Jamie pointed me towards a juicy dataset from the Department for Transport concerning road accidents. I threw three giant CSVs into a database, and then struggled to put them into an AWS relational database (RDS). Setting up a cloud-based database is difficult, because the default way of doing things appears to involve spinning up a separate machine to export data onto, as a sort of staging server, and then moving that onto the database server.

Eventually I hacked around it by temporarily opening the database up to everyone, frantically throwing stuff in there, and then locking it up again. It doesn’t seem sustainable. There’s another column in there that I don’t really need, but I can’t work out how to drop it without the enormous palava I went through just trying to get it on there in the first place.

It’s at this point that my brain does the thing that is the basis for a joke that I quite like.

Suppose you are given a phone with a smashed screen that seems otherwise to be working. What should you do if you wish to keep it? Naturally, the answer is to take it to be repaired, pay a fee, wait some time, collect it, and wipe it, ready for either resale or reprogramming. So far so good.
What, though, should you do if you are given a phone whose screen is unsmashed?
Simple: smash it, thereby reducing the problem to one you already know how to solve.

There are a number of variations on this joke, involving Newton and cats or physicists and kettles. The reason I’ve written it like that is because me — or that bit of my brain that gets itchy around imperfect systems — would very much like to just burn the thing I’ve built to the ground, because the solution to my current frustration is hard and unknown while rebuilding it is just hard.⁰

In any case: getting data into the database was very hard. Actually building a tiny little function to grab data and return it was easy: the whole code runs to about 30 lines. It’s also not much use at the moment. It just returns the primary key of an incident report, but does at least give a genuinely horrifying glimpse into the number of traffic accidents that happen on our roads: 129,982.

I’ve not open-sourced the code yet because it’s got details in it (bad practice), but I’m going to continue tinkering with it. I’m not sure how more persistent things, like a database connection or an object relational mapper, fit into this invocation model. Only one way to find out.

If you’d use an API like this, what data would your web application like to consume? Answers in the comments or to me on Twitter


⁰ I’m skating close to something honest about my romantic relationships, so I’m going to do a quick pirouette and skate in the opposite direction