🏝 - this week i’ve been on holiday! things i have done:
🤯 - “this week has been unbelievably hard, for a variety of reasons” is what I said at the beginning of last week’s weeknotes. this has not changed! i feel the same. i have the coming week off and it is much needed.
🗺 - because a good chunk of our dev team left at the end of thursday, we spent a lot of last week planning and discussing how we were going to change our priorities and how we can put the work we’ve been doing in front of users to deliver value even earlier than previously planned.
🧳 - i understand a bit more about caching now that I did previously.
👩👩👦👦 - it’s pretty hard to write weeknotes when things feel so tumultuous, but it’s good to record how i’m feeling. i’m learning A LOT and i do feel very supported by members of my team.
🤯 - this week has been unbelievably hard, for a variety of reasons. We had to deal with a an issue that could have potentially impacted thousands of users and kept butting up against processes in our efforts to rectify this. It was one of those situations where no matter how I was feeling I had to keep reminding myself that everyone is trying to do a good job based on what information they have at the time.
🤠 - i have been feeling more confident lately, a combination of the impact of my amazing DevOps course, my brilliant team and reminding myself that I am a grown-ass woman who has been doing this slightly hard thing for years now and it’s fine for me to speak up. 🧪 - in testing news this week, the functional tests I’ve been writing actually helped us find an issue with our infrastructure this week. tests!! doing what they’re meant to! i love it!
👋 - there are a good few personnel changes on our team at the moment. it’s sad to say goodbye to some brilliant people, but we need to try to keep their great practices going on the team, and look forward to working with new friends
👯♀️ - our team tech lead was on holiday this week, so it was mostly me and another engineer working just the two of us. our big new feature is coming along and I think we made some great progress. not having someone to make all the decisions for me was really helpful, I had to take more responsibility and help things move forward!
🗣 - I presented at our team’s show and tell at the community of practice session this week. I love getting to tell people about what our team has been doing, it makes me feel really proud to take a step back and look at it all, and to publicly celebrate my teammates.
🌅 - I got to do some more stuff this week that I learned about on my DevOps course - setting some variables in terraform for our azure serverless functions.
⌨️ - I’ve been typing some typescript this week. I initially found the barrier to entry surprisingly high but I’m mostly used to dynamically typed languages. now I’m more used to TS I actually like it a good deal.
🏢 - I went into the office on Friday! To say goodbye to one of the people who is leaving (although he lives round the corner from me so it wasn’t really goodbye). It was so amazing to see people and work with them, it felt really sad to say goodbye because being with my team really energised me.
🪢 - spent over a day wrangling with one unit test. not even to get it to pass but to get it to fail correctly. it was unbelievably frustrating. there’s definitely a lot of work for me to do to understand the best way to write a test first in order to test the thing to drive writing the right code.
🧠 - had a realisation that my mental model of what we’re working on was at best massively oversimplified and at worst completely wrong. trying to step back and work on small parts of the problem.
🧩 - we’ve had a lot of conversations this week about how to address unplanned / tech debt work in our team. we’re not handling it very well at the moment.
🌈 - honestly it’s been a tough week, we spent lots of time talking about processes and breaking down work and the challenges we’re having. hopefully understanding that stuff a bit better will set us up for a better week ahead.
🚑 - used some stuff I learned in my DevOps class when we had an outage this week. “let’s scale up the pods” - me
💯 - our wonderful engineering apprentice passed her software methodologies exam this week!! (turns out the answer to most of them was “agile”)
⭐️ - had a couple of chats about confidence, and how I need to have more, a lot more, especially since I got promoted. the negative voice in my head is still convinced i’m stealing a living at work and i need to step up and get over myself a bit.
🤖 - made a change to get more automated tests into our pipeline, which was loads of fun
This month I only read one non-fiction book, which goes against my plan for the year. I’m lining up some more for March.
🗣 - had a really good honest conversation with someone this week where we gave feedback about ways we were working together that needed improving. me even two years ago would have not felt at all able to do that, but it felt good and i feel good about how it’ll make out team even stronger. asking for and giving feedback is so valuable!
⚓️ - build and deployed an actual kubernetes cluster in my DevOps class today, which still blows my mind
🚪 - my teammate organized a brilliant “Through the Keyhole” quiz for our Friday Fun Time. everyone sent her a picture of something in her house and she put them in a deck and we all had to guess what was whose - and then hear the story behind them. it was such a simple concept but such a brilliant way of getting to know each other better
🧵 - this week i learn you can add string-keyed values to an array in JS. ….
👨👨👧👧 - went to some meetings…that weren’t…awful?
🦷 - i had to go to the emergency dentist this week but on the plus side i was greeted by Marcus Rashford when i got there
🤯 - this week we has some very honest conversations in our team about how people were dealing with remote collaboration (mobbing especially). i am not dealing with it very well! because of what we are working on at the moment and how our knowledge is spread, three/four of us are usually on a call together for most of the working day. people talk about the drain of lots of remote meetings but for ages I’d thought (wrongly) that mobbing didn’t count as a meeting, when in fact it is potentially more draining that a meeting, because it’s often a meeting, but with no fixed end time, and a lot of it usually spent banging your head against a wall. the amount of time we spend on mobbing makes me so uninclined to spend my evening on more free-form video calls, so it’s having an impact.
👩👩👧👧 - as a team we’re appreciating that everyone is struggling with this so coming up with strategies to deal with it - one that’s been mooted is having a day soon with no calls at all, and seeing how that works. it will definitely be interesting but i’m glad the conversation is happening, that we can be honest with each other, and that our team is very supportive.
🤐 - coding wise i’ve been learning a bit more about authentication with tokens and encryption, which has been something i’ve found hard to wrap my head around in the past. my knowledge has definitely improved a bit.
🎤 - i hosted this month’s community of practice meeting, which is a bit like being a shit radio DJ in the kitchen and making terrible jokes and hearing no one laughing. it was, as always super fun to see what eevryone’s been up to and genuinely thrilling to see some faces I hadn’t seen in months when people turned their cameras on.
📈 - this week I levelled up as a software engineer! i got a lil promotion. i haven’t started the new role yet but I’m very happy to have gone from a Junior Engineer to an Engineer!
🔁 - It was the second class of my Upskilling in Devops course. We were talking about cloud providers and mostly discussing the dumb AWS names for things. Did you know Azure’s SQL database service is just called Azure SQL Database?
🧶 - We had an etremely tedious problem with a linter and disparate versions of Typescript and ES Lint that took five enginners a mob afternoon to sort. It was extremely dry.
🪙 - learned some stuff about JWTs and a bit more about verification. that’s been a gap in my knowledge for a while so it was good to learn more.
📈 - got to do some GraphQL!! at work!! first time that’s happened and it was really exciting.
💉 - my mum and dad got vaccinated!!!! literally the best news I’ve had in….a long time.
📚 - i’ve spent a lot of time this week brushing up on my OOP principles for an interview. i miss working with a class hierarchy that mapped well onto a domain, which we had in my previous product, but thinking about it more i’ve been opening up to ways we can use those concepts in our frontend.
🗺 - we spend a lot of time last week planning and researching a new set of API integration tests. I don’t think I’ve written production code in about two weeks but I think the planning we’ve done will be really really valuable for ensuring the quality of our product.
📬 - we’ve looked at using a library called Newman for our api tests - you can use it with postman to write tests that call your API with Postman and assert on the responses and results. the main thing is that the library is named after Newman from Seinfeld, because he was a mailman.
I’m reviewing the SOLID principles of OOP and I read this article and made a few notes on it. These aren’t meant to make sense to anyone except me.
🐍 - I got to do some Python this week! There was a bit of work to do on a project my team supports, and it has a Python backend which I haven’t worked on for about six months. I like JS, but Python makes sense to me in a way other languages dont. I think it’s because it’s the language I first grasped a lot of programming concepts in, so it’s lodged in my brain.
Like a lot of people I used to read a lot when I was a kid, and then life, work, the internet, the pub got in the way. About five years ago I got a kindle, and have read more since then. After reading a lot in 2019 (43 books) I set myself the goal of 52 books in 2020. I wanted to read a book a week. Then the pandemic happened. when I hit my target for the year in July, I began to wonder what was possible. I finished my 100th book for the year in the afternoon of the 31st December. It felt pretty good.
I volunteered to collate some tips of best practice for remote pairing for my team, because it is hard, and we are always looking for ways to make this pretty draining activity easier on the team, so we can continue to deliver quality and also deliver ourselves sane minds at the end of each day. Lots of posts I read focussed on the technical side of pairing (tmux vs VS Code live share etc), but in my experience it’s the human side of making pairing work that’s harder to perfect. Here are a few points that I thought were really valuable. The italicized parts are from the articles cited, and the comments are mine.
🎁 - i’m presenting for the first time since I joined the team at our regular team show and tell, talking about how we’re going to develop a new feature that we’ve just started work on.
🏞 - our team has been split into several workstreams because the team kept growing and growing and our scope increasing. i think it will make a big difference to our work if we only focus on one or two things at a time.
🚀 - I’ve been working through Kent C Dodd’s Epic React course. It’s really helping me get more of a handle on advanced react features I need to understand. One of the problem I’ve found isn’t that I can’t learn things but that it takes me longer than I’d like. Finding someone who teaches the things I need to know in a style that works for me is invaluable.
🚵🏻♂️ - i had a very short week this week because i had the tuesday off as well as the bank holiday. i used the time wisely by literally watching all of the tour de france stages in full
💬 - this week i didn’t do much much coding but a lot of dev team talking. we are about to add to the site a new bit of functionality, and we decided to take some time to think about how we were going to design it and how to break up the work, by having a structured chat with a Miro board. out of this came the kinds of conversations that can flow freely when we’re all the in the same room but seem really easy to not do remotely. it was really, really valuable, and i feel more confident about this bit of work than i have about anything we’ve worked on since i moved teams. the bit of effort we put in to organize these chats really, really paid off.
🌈 - for various reasons there’s been a lot of important and interesting conversations about diversity and inclusion in our organization this week. i’m glad i have an opportunity to help make my workplace and the tech industry as welcoming as possible to anyone who wants to be a part of it
🧐 - this week i have spent a lot of time trying to get to grips with redux saga. i can see the benefits of it at a high level but it involves a lot of abstractions that i’m still a bit uneasy with. i definitely know lots more this week that i did last week
🔑 - i’ve been pairing with a platform engineer this week working on setting up two-key deployment for our production jenkins, i am not sure how helpful i was as a pairing partner but it’s great to learn more about deployment and how stuff fits together in jenkins
📦 - i might have some more of a clue what a monad is this week
👩💻 - today i ran Code Club, our weekly session where we work on code katas. loads more people turned up than usual (because we’ve moved it to a friday) and it was lots and lots of fun, spent some time thinking pretty deeply about where to start writing tests and at what point in writing which tests to start designing an implementation
🔖 - our team apprentice is getting ready to take her first exam and i’ll be helping her get ready. she’s done an amazing job preparing on her own and i can’t wait to celebrate when she aces it
🧪 - i’ve been learning more about our testing strategy in the product by doing some tidying up work that’s involved updating some tests. we use lots of high level testing with lots of mock API calls, so it’s been helpful with getting straight what requests which data.
🧹 - we’ve been talking a bit about developer experience. our codebase has changed a lot in the last couple of weeks as we add a big new package to it, and that’s added a lot of complexity in getting set up, building the project and running tests. we want to remove this complexity so that there is less additional cognitive load and it’s easy for a new developer to understand how to work on the codebase with as little friction as possible. i haven’t been involved in this type of early stage project work before, so it’s really interesting.
👨🏫 - i’ve been taking a course on Coursera about the underlying concepts of programming languages with a focus on funcctional programming. as someone with literally no formal CS education, this is really valuable. i’ve learned so so much with practical work, but getting more of the theory feels key for my progress as developer
🎂 - today is my two year anniversary of working for Co-op. this marks the longest period i’ve spent at any job (i’m such a milennial). i still feel so lucky to work here and i can’t wait for another two years
👩🏼🏫 - going to do some mentoring with the apprentice on our team. hopefully as most things I know about coding I learned extremely recently, I can pass on some useful resources
👩👩👧👧 - the team is still working out how to optimize working without everyone mobbing and pairing all day. We still haven’t found the solution but it’s been good to have conversations about it and keep trying to improve
🧹 - I’ve been identifying some housekeeping tasks that will help me get to know the codebase but that aren’t high stakes feature work. Improving the way test data is generated and imported is one of them.
📖 - I’ve been working a bit more with our CMS API. This is something I haven’t used at all before, and it’s very nicely structured and documented, so it’s been fun to learn about.
💬 - I did some testing of our site with a screen reader this week which was a very educational experience. It was good to be able to identify ways to make our site even more accessible, and it’ll be useful for me to learn more about implementing them.
ƛ - we’ve been talking about implementing some serverless functions to help us use data better, and I’m very excited to start creating them. The conversations we’ve had around designing the work have been really interesting.
⚡️ - I got asked to give a lightning talk I’ve done before at a meetup in a few weeks. This’ll be my first time public speaking to strangers rather than colleagues, so I’m nervous but also excited.
🎢 - I have created the team friday funtime quiz this week, so I won’t win it, but I won it last week
☎️ To get to know the team a bit better I set up calls with the product owner and the delivery manager. The idea of these was so I could get to know them and the team history a bit better. The PO joined the company just before lockdown so I’d never met him IRL. As I was finding forming relationships with the new team very hard, this made a difference. It was only an hour, but I now feel like it’ll be easy to work with them in the future.
👩🏫 I helped our software apprentice get some code committed this week.
🇸🇨 I’ve been deleting old feature flags from the code. This means some tech debt tickets get cleared up, I get to learn my way around the codebase a bit better, and I get to do two things I love: tidying up, and deleting code.
🏆 I came second out of 50 participants in the Retail IT friday quiz. i then did not win a single game in our team codenames session.
👨👩👧👧 Being on the new team is still hard - not because of the team themselves, they’re wonderful, but figuring out a whole new set of ways of working, codebase, people, is tricky enough. Doing it alone from my living room makes it exponentially harder.
☕️ To make this a bit easier I’ve arranged virtual chats with the team deliver manager and product owner. I’ve never met the PO in real life before, so putting in a bit of effort to get to know them better seems like it’ll pay off a lot
😴 To be very honest, I have found moving teams in lockdown very very hard and tiring. The team are lovely and the product is interesting, but it’s so easy to feel isolated and ineffective. Luckily I have a very supportive team and manager, who are helping me take steps to make things easier. Talking to other colleagues who’ve moved during lockdown has helped.
📱 I’ve spent the last couple of weeks pairing with the devs who wrote the codebase, which is super helpful because they can tell us why they made decisions, and what things mean.
🎟 I have got a ticket to work on solo for a bit next week - I learn best by doing, so having to figure things out alone for a bit and banging my head up against the code base for a bit should help my get to know it a bit better.
🍾 I did my first production release on my new team’s product
⚽️ This week I wrote the quiz for the team. It didn’t go down very well, there were too many sports questions for a team full of nerds
👨👩👧👧 I joined a new team remotely and I was expecting it to be difficult - it was really challenging. there are people at work who have started new jobs and even new CAREERS in lockdown, they’re very impressive!
🛍 It’s the team that looks after the coop delivery service (here - go get some food, minimum spend £15 and free delivery)
📱 The existing team members are brilliant and really welcoming, but trying to essentially learn a new codebase and domain over the phone is a lot
🕰 I like getting to know my teammates personally and building relationships with them. This is going to be very different and take a long time
🆕 It’s exciting to use some cool new React features and new framworks -
lodash/fp is one
🛒 The project is wholly dependent on someone else’s API which is new for me
👩💻 I haven’t worked on a service I use before that I can recall
😴 Way more developers than I’m used to - we are trying to work out the best way for us all to work together so the new team members can learn but we don’t all get totally drained - this isn’t easy
🏆 I won the team Friday quiz. it feels important to mention that