LeadDev London 2024 Day 1

Some speakers are worried about AI (AI skills threat as defined by Cat Hicks) and shared how they deal with it. The quote of the day is this – “I skate to where the puck is going, not where it has been” (Wayne Gretsky, shared by Lena Reinhard). However, given that all the tech visionaries and CEOs know this saying, we all move in packs towards that point with AI doing something. This reminds me of an old quote I shared in 2018 here:

By any normal measure, our growth was great, but it quickly became clear it could be a lot better if we operated less like a soccer team of seven-year-olds: all of us chasing the ball, none of us in position.

— Kim Scott. Radical Candor

According to Cat Hicks, science shows building a less-competitive company culture improves morale and people are less concerned if they’ll adapt to the change. The best response to the lurking AI in all the talks came later, and sorry I didn’t manage to take a photo of it to be more precise. Not a precise quote: “The best things in life come from uncomfortable, messy, and chaotic situations. We will live better if we embrace the mess and treat the situation as an opportunity. (It’s science).” I wrote down the source and it’s a book called Messy – The Power of Disorder to Transform Our Lives by Tom Harford. I’ll add it to my list.

Apart from the AI-speak, I was impressed by a talk about Architecture, and another about dealing with Technical Debt. The one about technical debt is worthy of a separate post.

Life in Life

I was mind-blown to learn that the Game of Life can have a pattern that plays the Game of Life.

The idea that Game of Life can play itself is not new. It has existed at least since 1996 (also here). By 2006, a grid like the one above existed. I learned about Game of Life around 2008-2009. By then, engineers played with the idea of Game of Life which played itself for over a decade. By 2018, a self-replicating metacell existed so a grid like the above would grow indefinitely.

I re-read the Wikipedia article about Game of Life every 3-4 years, it keeps getting better and better.

What sacrifices have you made in life?

Daily writing prompt
What sacrifices have you made in life?

I’ve made plenty of choices where I wanted two things incompatible with one another and chose one. I don’t feel like any of that was a sacrifice, I treat it as a choice.

For example, I returned to the university in my late 20s way outside of the ordinary university age because I realized I had too many gaps in my coding & engineering skills. In the following years, I combined full-time office work (with flexible hours, thanks to my former boss) with a relatively demanding education. It’d be common to leave home before 7am for a morning lecture, drive to work, work for 6-7 hours, and then go to the university for an evening session. But although physically exhausting, it felt great and I had a purpose. It was worth the effort.

I’m trying to not look at the loss after a bad choice with too much emotion when possible. The reason is primarily work. When deploying a new change, there’s always a risk that I overlooked something and caused major harm. You need to be willing to do these things despite the possible negative outcome, otherwise you won’t ever move. Many if not all of the beautiful things in life are hidden behind a wall of risk – choosing a career path, falling in love, having kids, investing. So many things can go wrong at every step. This is not a reason to stay home and not make any steps. Once things go wrong, revert (if possible), identify what’s affected, write a plan, execute, learn, and move on. This is an oversimplification taken from the software world but I believe in it.

So no sacrifices for me. Choices.

How hiring people motivated me to grow

Daily writing prompt
Describe a decision you made in the past that helped you learn or grow.

In the early 2000s, I was a new and ambitious software engineer with very little theoretical knowledge. Worked as a webmaster, which included front-end, back-end, databases, and a bit of systems work, all with Microsoft products. My confidence didn’t match the realities of my actual knowledge. Something happened and 2-3 colleagues quit in the same year, leaving me as the most senior developer, despite my young age and limited knowledge. I had to hire replacements. So, I found some article that said that I should only hire people who are better developers than me. It said that “A people hire A people, B people hire C people” (attributed to Steve Jobs). I took that meme very seriously. The folks I hired were so good that I needed to step up my game significantly to remain relevant. In the process of learning, I decided to go back to the university and get a Master’s degree in Information Systems from Sofia University.

I’ve done some hiring work later and found loopholes in this rule (so did others on Hackernews). Looking for people who are significantly more competent than the hirer opens the gates to masters in BS language (link to a post from January on the subject). If I discuss an area where I’m not particularly knowledgeable with a candidate, the candidate could fool me by using impenetrable language, specific to that technology.

Over time, I changed. I currently believe that:

  • The ability to explain past work would be a top skill during a hiring interview, closely followed by soft skills
  • Every single person on the planet would be better than me at something and I’m just a few questions away from figuring out what that thing is

Despite that, I did hire some good folks, and they motivated me to learn and improve. Maybe not the most impactful choice I made in life but quite good.

If you could have something named after you, what would it be?

Daily writing prompt
If you could have something named after you, what would it be?

I wouldn’t mind a great-grandchild named after me. My name is cool and means happy, or happyin. Not sure where the in came from but it appeared at least a century ago.

Apart from that, perhaps I would name after myself the rule to not deploy important software changes last thing on Friday. Some things are better done at the beginning of the day.

The probability of introducing a problem is greater at the end of the day, and greater at the end of the week when you’re tired. The probability of a problem being discovered when fewer people are around is lower. Weekends also make resolving issues more difficult – critical people might be out of reach or might be surprisingly upset that you reached them.