Alberto Peña Abril

Customer effort score

May 2025

Customers have problems, and they want your product to solve them. Ideally, in a way that requires low effort on their side. Otherwise, they’re likely to find a different solution.

The first step towards offering low-effort experiences is having a way to measure your customer effort level. That’s where the customer effort score, often referred to as CES, comes in.

With that in mind, let’s get on with it!

Do-nothing scripts

April 2025

Automating recurring tasks is a good way to improve the developer experience and, also, to free time for more interesting and complex work. It’s not always the most important or urgent task to work in, though. The business might have different priorities, you might not have the skill in the team to automate the work, or it might be a bit boring right now to work on that. Whatever the reason, day to day stuff might make you forget your automation goals.

In order to avoid that, you can write do-nothing scripts and evolve them into fully automated solutions.

With that in mind, let’s get on with it!

Bouncing back into your habits

March 2025

Habits are really useful, but sometimes you need a break. Maybe you caught a cold and needed some rest, maybe you went on holiday for a couple of weeks, who knows? There are many reasons why you might take a break, and that’s OK. There is a caveat, though, once you break your habits, coming back to them isn’t as easy as it might look.

This article describes some strategies to come back to your habits at your own pace and avoiding feeling guilty.

With that in mind, let’s get on with it!

Owning your future

February 2025

In a professional environment, you have two options: you can follow, or you can lead. In order to take ownership of your future, you want to spend as much time as possible leading.

It’s important to understand, though, that you work in a collaborative environment. You have to be humble and open minded, and you have to work well with others. This is not about only doing what you like. It’s about having a win-win mentality, where you get something and the rest of the organisation gets something as well. Otherwise, you are going to fail. Nobody wants to be around someone that’s selfish and/or full of themselves.

In fact, a successful way to approach this is finding the gaps in ownership in your organisation. Those gaps are where you’ll find most of the freedom of action. If you identify work that nobody wants to do, you can get (almost) total freedom while doing it. You can experiment and find a fun way to get that work done, while solving a real problem for your organisation.

It’s not simple, though. The day to day inertia can get you into a vicious cycle that leaves you with no time to focus on your future. You need to be aware of this, understand when it is happening to you, and break out of it.

Remember, the end goal is to own your career, your future.

With that in mind, let’s get on with it!

Changing your organisation culture

January 2025

Your organisation culture is not a set of values in your website. That’s a naive assumption. In reality, your actions are what define your culture. It’s what you do, not what you think you are.

If you are passive about defining and building your culture, you are at the mercy of random acts. This is really dangerous, because it’s aimless. You are not working towards a purpose, you are just reacting. You have to be driven and consistent to achieve a culture that reflects your values.

You need to spend time working on your day to day actions to actively define your culture. One big gesture is not enough, talking about what you want is not enough. Consistently doing, creating habits, being proactive, is how you get there. Your culture is your recurring behaviours.

This article offers some strategies on how to drive cultural change:

With that in mind, let’s get on with it!

How to finish what you started

December 2024

In order to advance your career, the minimum thing you need to do is to follow through. Doing what you have promised and finishing what you’ve started builds trust, and trust is the pillar that sustains your working relationships.

Following through isn’t a simple task, though. How many new year resolutions have you abandoned? How many times have you left for later writing that boring report?

It’s a common problem. The majority of people procrastinate, sabotaging themselves from finishing what they started. To solve this, you need to change your way of thinking.

This article explores different strategies on how to make this happen.

With that in mind, let’s get on with it!

How to become a more effective team

November 2024

As a leader, you want your team to be as effective as it can be. But, what does it mean for a team to be effective? it means doing the things that matter. In fact, it means doing only the things that matter. It means stop wasting time.

While there are many ways to tackle this problem, it’s always better to back your proposals with data. This article explores four of the topics covered in the 2024 DevOps Research and Assessment (DORA) report to help you improve your team:

It also offers specific actions to get you started.

With that in mind, let’s get on with it!

How to deal with deadlines and burnout

October 2024

Deadlines are an interesting topic because they can be both a catalyst and a stress inducer, depending on how you use them. You need to be careful and set the right balance. You want your to avoid burnout, and you want your team to focus on the next delivery.

This article explores why deadlines are useful, and explains ways to mitigate burnout while keeping the deadlines.

With that in mind, let’s get on with it!

Caching strategy for an SSR app integrated with a headless CMS

September 2024

The easiest way to make a site faster is to have a good caching policy, but as the famous words go:

There are only two hard things in Computer Science: cache invalidation and naming things.

Phil Karlton

This article is going to explore the cache invalidation part of that sentence.

To focus the conversation, it proposes different layers of caching for a service that use a headless content management system (CMS) and a node.js application.

With that in mind, let’s get on with it!

Thinking about outcomes

August 2024

Many organisations use key performance indicators (KPIs) to align departments toward goals, and usually to measure their performance as well. They’re a common tool and you might be using it in your job.

If you are using them, or if you are thinking about using them, you need to understand that they can be problematic. They can feel arbitrary, with no clear connection to the big picture. This disconnection can cause confusion and frustration on the people that are evaluated on the performance of those indicators, which can lead to disengagement and low moral.

This article explores how to create them in a meaningful way that helps people to understand what’s the overall goal of the organisation.

With that in mind, let’s get on with it!

Docker as an onboarding tool

July 2024

Having an easy onboarding experience is crucial for a team. It enables faster integration of new members, and increases productivity.

By providing and easy way to start contributing meaningfully to projects, you can ensure that new hires quickly become familiar with the team’s culture, processes, and tools.

This article explores how docker compose can help achieving this.

With that in mind, let’s get on with it!

Strategy is nothing without a set of coherent actions

June 2024

Now that you have a clear understanding on where to go next, it’s time to get your hands dirty. Ideas and goals are nothing without action.

It’s not enough to diagnose the problem and a clear policy to get there. You need to start working on it.

Most of the things in this article are based on my take on Good strategy, bad strategy, which is a great book about strategy.

With that in mind, let’s get on with it!

AWS ALB, node.js, and fixing intermittent issues

May 2024

Using new technologies can come with huge benefits, but it usually also comes with unexpected problems. While working with the AWS application load balancer and node.js, you can hit a nasty issue where the end users can get a 502 error intermittently.

This article explains why that issue happens and ways to solve it.

With that in mind, let’s get on with it!

Strategy is also avoiding distractions

April 2024

Having a clear mission, clear goals, and a clear strategy is the first step on alignment and strategic thinking, but what happens after that has a huge impact on making you succeed or fail.

To focus on your goals, you need to avoid distractions. To avoid distractions, you need to identify them.

With that in mind, let’s get on with it!

Define your strategy

April 2024

Have you ever feel like you’re super busy, spending a lot of time and effort, but you’re just not making progress against the initiatives that are meaningful to you?

This is a common feeling and the root cause is not being able to define, and follow, your strategy. In a previous articles, you have learned about the things you do, and you have learned about how to define your mission. Now, it’s time to translate that mission statement, and the skills and strengths of your team, into a fully defined strategy, so you can spend your time in the things that matter.

With that in mind, let’s get on with it!

Define your mission

March 2024

Having a team mission is super important because it gives everyone a common goal to work towards. It’s like having a team purpose that makes everyone on the team excited and motivated. This shared mission helps everyone make decisions together and work better as a team. It also makes the team a happy and positive place to be, boosting everyone’s mood.

Having a clear team mission is like having a cool and exciting roadmap that guides the whole team in the right direction.

With that in mind, let’s get on with it!

Clean GitLab pipelines

March 2024

Maintaining a clean and efficient CI/CD pipeline is crucial for streamlined development workflows, quicker feedback cycles, and reliable software delivery.

It serves as the backbone of a well-organized and agile development workflow, ensuring that code changes are systematically tested, integrated, and deployed. A streamlined CI/CD pipeline facilitates faster feedback cycles, allowing developers to detect and fix issues promptly.

An efficient pipeline promotes consistency and reliability in software delivery, as it automates repetitive tasks and reduces the likelihood of errors. The clarity and structure brought by a well-maintained CI/CD setup not only enhance collaboration among development teams but also contribute to the overall speed, quality, and resilience of the software delivery lifecycle.

With that in mind, let’s get on with it!

The three buckets exercise

March 2024

Focusing a software development team is about providing direction, clarity, and purpose. It optimizes resources, improves efficiency, and fosters a positive and productive working environment, ultimately contributing to the success of the team and the projects they undertake.

It involves narrowing the scope of vision, requiring the discipline to say no to certain things and concentrate solely on what is truly important. Achieving this state for your team involves several steps, but it begins with aligning everyone on a clear understanding of their core responsibilities, skills, and priorities.

With that in mind, let’s get on with it!

Observability

February 2024

Evaluating the health of a digital ecosystem becomes more and more complex as it expands in scale and complexity. The challenges multiply, making it imperative to adopt a proactive approach to observability.

Observability refers to the ability to understand and gain insights into the system’s internal workings by analyzing its external outputs.

By embracing observability early in the development and scaling phases, organizations can establish a robust framework for monitoring and analyzing their digital infrastructure.

With that in mind, let’s get on with it!

Feature toggles

February 2024

Releasing new software can be a source of considerable stress. The magnitude of stress tends to increase with the size of the release, and this stress is directly linked to issues such as burnout, high turnover, and reduced job satisfaction. This underscores the significance of prioritizing developer experience.

Among the various methods available to enhance the developer experience for both you and your team, one of the most straightforward is the use of feature toggles. The concept behind feature toggles is to separate the deployment of new code from the actual release of a new feature.

This article describes the key advantages of employing feature toggles and includes a brief demonstration using one of the many third-party services that offer feature toggles.

With that in mind, let’s get on with it!

Crawl and index the site with scrapy and zyte

February 2024

Now that the integration of the search engine is finalized, the goal seems within reach. The final step involves retrieving the content and populating the Algolia index. This article provides a comprehensive guide on utilizing Scrapy and Zyte to accomplish this task.

The final push in this process marks the culmination of transforming an architectural vision into a tangible and functional feature. To rephrase, it signifies the transition from conceptualization to tangible realization, turning an idea into an actionable and usable product. It represents the shift from being an idea person to someone actively engaged in bringing those ideas to fruition.

With that in mind, let’s get on with it!

Algolia Search Engine integration

January 2024

Once the architectural decisions are in place, the next phase involves translating that vision into tangible and functional software. A common challenge in this process is overcoming procrastination. Confronted with substantial tasks, individuals often find themselves overwhelmed by the amount of work required to reach their objectives.

This article eliminates the notion that integrating search functionality into your site is time consuming. By using an off the shelf product, it guides you through the process of seamlessly integrating a search engine in your personal site.

With that in mind, let’s get on with it!

Search architecture

January 2024

The ubiquity of search is undeniable, and users have grown accustomed to this paradigm. A noticeable absence of a search capability on your site can impact user experience negatively.

Numerous approaches exist for implementing search on a website, and this article explains one such method from an architectural standpoint. Subsequent articles will guide you through the construction of each component within this architectural design.

With that in mind, let’s get on with it!

Search

November 2023

A search feature is an indispensable tool for any website. It allows visitors to find information without laboriously navigating through all of your pages.

For a personal site, it ensures that your audience can quickly access the content they’re interested in, improving the user experience and engagement.

Whether someone is looking for a specific article, a project you’ve worked on, or any other information, the search feature simplifies their journey and contributes to a more user-friendly and navigable website.

With that in mind, let’s get on with it!

Adding categories and tags to your site

November 2023

As discussed in the previous post, organising content is not a trivial task, and making a decision on how to tackle it is just the beginning. Once you’ve settled on an approach, it’s time to roll up your sleeves and put that solution into action.

This article serves as a guide on creating a category and tagging system in Jekyll. While it does come with a few caveats, this tutorial should provide you with the know-how needed to implement this system effectively.

With that in mind, let’s get on with it!

Organising content with the diátaxis framework

November 2023

Organising information is crucial for improving user experience. Information that is well-organized reduces user frustration, minimizes the time and effort required to locate specific details, and ultimately promotes engagement.

The problem is that there is an infinite number of ways to organize content. When there are so many degrees of freedom, the most likely result is chaos.

This article offers insights into one specific way to think about content and its structure. It discusses the benefits of tags, and categories to guide users through information more effectively. By exploring this approach, I hope you can gain a better understanding of how to tackle the challenges of content organization.

With that in mind, let’s get on with it!

Consistency in version control

August 2023

Effective communication is all about clarity. When your messages or ideas lack clarity, they can lead to confusion, misinterpretation, and a breakdown in communication.

That’s all good but, what does “clarity” mean? Clarity refers to the qualities of being logical, consistent, and understandable.

One thing that sometimes is left out, from a clarity point of view, is version control. Version control is used everywhere, it’s likely you are using it for all of your projects. It’s less likely that you have a well defined way to achieve consistency in your version control commit messages. How many times have you seen a commit that says fix or Testing or Enables the flux capacitor to serve the quantum space. This lack of consistency makes reading the version control log a bit of a nightmare. Being such a central tool in the software development ecosystem, this area needs more awareness and love.

With that in mind, let’s get on with it!

Writing in your second language is easier with help

August 2023

Welcome to the era of hybrid working, where written communication takes center stage like never before. In this scenario, clear and effective written exchanges, including emails, chat messages and documents, are crucial for daily interactions with your team. To be successful, it’s essential to be clear and precise in your writing to avoid misunderstandings or confusion. Don’t think twice about getting help from available tools to enhance your writing skills and streamline your communication.

This post explores some useful tools to help you in your day-to-day writing tasks. These tools are designed to make your written communication seamless and effective.

With that in mind, let’s get on with it!

Customizing the site

July 2023

Customizing your personal site is a journey of self-expression and creativity. It lets you craft a digital space that facilitates a deeper connection with your readers. It’s a never ending task, a task where the destination isn’t the goal, the learning is.

With that in mind, let’s get on with it!

Setting this site up

July 2023

Having a personal site is a great way to keep learning and growing. When you write about different things, you become more knowledgeable. It also helps you get better at expressing yourself through writing, and it’s a lot of fun too. Writing on your personal site encourages you to think about yourself and your goals, which can be really helpful for your career.

Let’s get on with it!