Barbican Centre

Barbican Centre is a collection of concrete high-rises and old blocks in the City of London I’ve never paid attention to. I watched a talk by Nickolas Means on Day 1 of LeadDev about the history of it, who designed it, how it was built, who built it, and the how, and whys behind a bunch of other things like roads and rails. The process was quite impressive and completely turned my view about it from “ugly” to “impressive” although not necessarily “beautiful”.

The architects and the city planners navigated complex constraints and built for success. For example, the main hall had to be dug deep into the ground because the planners realized a successful hall needed residing musical organizations, and the two willing to use it, needed a larger venue. So the engineers identified the constraint, found a solution (dig deep), and built for success.

The proactive requirements and constraints identification lasted many years but the final result stayed and became a landmark area. The approach was not different from what has to be done in the software world when starting a complex refactoring initiative, although in the software things need to move a bit faster. Perhaps that’s why some people in the code world like the title Software Architect 🙂

I personally find the Brutalism and the maze-like corridors overwhelming.

The best part of Barbican for me was how cars were hidden beneath. Also, the bar that filled quickly with well-dressed people after work. It radiates life, while many of the brutalist buildings in my country radiate decay with their rusty walls and old windows. This was also predicted – the builders used special stone in the concrete with less iron so that the concrete would last longer without looking rusty and old.

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.