Navigating the Challenges of Rapidly Scaling Your Engineering Team

In this article, we are going to look at the challenges faced when rapidly scaling engineering teams in startup companies as well as other kinds of companies with a focus on product development. These challenges change between different types of companies, sizes, and stages of maturity. For instance, the growth of a consultancy software company focused on outsourcing is so different from a startup focused on product development.

I've faced much team growth and also seen the growth of teams in several companies, and most of them have faced the same challenges and problems.

The Evolution of Data Pipelines

This is an article from DZone's 2023 Data Pipelines Trend Report.

For more:


Read the Report

Originally, the term "data pipeline" was focused primarily on the movement of data from one point to another, like a technical mechanism to ensure data flows from transactional databases to destinations such as data warehouses or to aggregate this data for analysis. Fast forward to the present day, data pipelines are no longer seen as IT operations but as a core component of a business's transformation model. 

Generative AI Models: Boosting Merchandising Analytics User Experience

In this article, we will explain how using the new Generative AI Models (LLM) can improve the experience of business users on our analytical platform. Let's say we provide our retail merchandising managers with a web application or a mobile application where they can analyze sales and stock behavior in real-time using natural language.

These applications usually have a series of restrictions that mainly show a generic type of analysis, which users can filter or segment based on some filters and provide information such as:

Front-End: Cache Strategies You Should Know

Caches are very useful software components that all engineers must know. It is a transversal component that applies to all the tech areas and architecture layers such as operating systems, data platforms, backend, frontend, and other components. In this article, we are going to describe what is a cache and explain specific use cases focusing on the frontend and client side.

What Is a Cache?

A cache can be defined in a basic way as an intermediate memory between the data consumer and the data producer that stores and provides the data that will be accessed many times by the same/different consumers. It is a transparent layer for the data consumer in terms of user usability except to improve performance. Usually, the reusability of data provided by the data producer is the key to taking advantage of the benefits of a cache. Performance is the other reason to use a cache system such as in-memory databases to provide a high-performance solution with low latency, high throughput, and concurrency.

Productivity: Noise Is the Problem

Nowadays we live in a world ruled by trending topics, and sometimes we forget the basics like being more effective and productive. I see more and more how companies' technology leaders look for new technological products or new architectural patterns to solve the company's needs, and they forget that working hard can provide strong efficiency principles for their organization.

Have you ever wondered how many hours your team works on irrelevant or unnecessary tasks? Squads and engineers are usually people involved in their work and make a great effort to achieve their goals, but many times a large part of this effort is dedicated to tasks without any business impact.

The 5 Books You Absolutely Must Read as an Engineering Manager

Continuous learning is one of the guiding principles that all people should apply in their life. Reading is an excellent tool to learn, and it is a habit that we should all be doing on a regular basis. Since I love reading books about different topics, in this article, I'm going to share five books that have helped me a lot to improve as Engineering Manager.

When we read a book, we should always remember three important things: 

Dagster: A New Data Orchestrator To Bring Data Closer to Business Value

In this article, we are going to analyze a new data orchestrator: Dagster. In our opinion, this is the first generation of data orchestrators that bring data pipelines closer to critical business processes that would really be business data processes for mission-critical solutions. To describe Dagster's capabilities and use cases, we are going to provide some context about patterns and some historical information that is necessary to understand what business value it brings.

In the last decade, many trends have been around orchestration and choreography patterns. We are going to provide a simple description of these patterns:

Engineering Manager: Resolving Organizational Conflicts

This article is a follow-up to Engineering Manager: Resolving Intrapersonal Conflicts and Engineering Manager: Resolving Interpersonal Situations. In the previous articles, we talked about interpersonal conflicts, which are conflicts between two or more people that do not agree on topics such as what actions to take or what the priorities are. Today we will talk about organizational conflicts, common scenarios, and some tips on how to manage them in a professional environment.

Organizational

This conflict is associated with misalignment or disagreement between members of the organization and the organization's cultural values, strategic decisions, goals, or methodologies. Usually, this kind of conflict starts when people believe that their values, professional development, goals, or attitude are not aligned with the organization or with the management layer of their areas.

Engineering Manager: Resolving Interpersonal Situations

This article is a follow-up to the Engineering Manager: Resolving Conflict Situations, Part 1. In the previous article, we talked about intra-personal conflicts which are associated with people themselves. Today we will talk about interpersonal conflicts, common scenarios, and some tips on how to manage them in a professional environment.

Interpersonal

Interpersonal conflict is between two or more people that do not agree on topics such as what actions to take, what the priorities are, or how to resolve a situation. This kind of conflict is the most frequent and is usually the easiest to solve, but if poorly managed can generate an atmosphere of resentment between people.

Engineering Manager: Resolving Intrapersonal Conflicts

In this article, a follow-up to the engineering manager series, we will talk about conflicts, common scenarios, and some tips on how to manage them in a professional environment. Conflict management is a complex topic and we will address it in a series of three articles, the first of which is this one.

People's conflicts are common in the professional day-to-day, some people might even say that conflict is not professional behavior, but of course, it is, as we are human so conflicts are inevitable. What makes the difference is how we manage these situations

Engineering Manager: Effective Communication

In this article, a follow-up to the engineering manager series, we will analyze the challenges of communication and some tips to improve the process.

There are many definitions of communication, but a simple way we could define it for the context of this article is a process by which information is exchanged between people, the organization and the employees, the engineering manager and the engineers, teams or departments. 

Engineering Manager: Continuous Feedback

Feedback is one of the most valuable tools to support people and company growth. What is feedback? It is any information about the product, workplace, company culture, team, workmates, or managers used as a basis for improvement. The feedback comes from many sources, but in this article, we focus on feedback between engineers and their engineering managers.

The feedback goals, frequency, and methodology to achieve them are good indicators of the company's culture. For example, there are many companies where the goals are only focused on performance delivery and not on the growth of the people's career path or skills.

Challenges to Designing Data Pipelines at Scale

This is an article from DZone's 2022 Data Pipelines Trend Report.

For more:


Read the Report

The current challenge in the world of data is no longer in the processing capacity of volumes of data. Because of the performance of modern current streaming platforms and owing to a new generation of data repositories that allow decoupling computation from the storage layer, we can improve scalability with very low operational effort. 

Engineering Manager: Beyond Leadership

This is a follow-up article in the Engineering Manager series, My First Thoughts as an Engineering Manager and Engineering Manager: Do Not Be a Hero. Nowadays, I see more and more the words "leader" and "leadership". Often, I ask myself what these words mean for the people and the companies:

  • What is a leader?
  • How many kinds of leaders are?
  • What are the companies looking for?
  • Do we need so many leaders?
  • Can we hire leaders?

In this article, I am not going to talk about a leader in deep because I feel there are many articles about it, but how this role is overrated and why an Engineering Manager is not the synonym of a "leader". 

Engineering Manager: Do Not Be a Hero

This is article is a follow-up to My First Thoughts as an Engineering Manager. It is a description of some behaviors that as engineering managers we have to avoid because they have a negative impact on the teams.

I've read many books and articles about software engineering team dynamics, the term "Hero" usually references a software engineer that tries to help everyone and solve all the problems not using the best practices and focusing on the short term. Of course, I've seen this behavior in some engineers but usually, it hasn´t a big impact unless there is a "hero" culture in the organization.

My First Thoughts as an Engineering Manager

Recently, I've joined Nextail Labs as an Engineering Manager. This is my first experience working in a Software Startup and also as an Engineering Manager. I've been leading Engineers Teams most of my professional career with other roles including the following:

  • Tech Lead in a small software consultant company.
  • Solution Architect and Team Lead of consultant team of an important software vendor.
  • Team Lead and Product Owner in an important fashion retailer company.

None of these roles were focused on the people, there were always other main goals. Today, I know how different they are and how different the challenge is.

Data Platform: The Successful Paths

Introduction

I've been working as Solution Architect for many years, and I've seen the same mistakes very often. Usually, companies want to evolve their data platform because the current solution doesn't cover their needs, which is a good reason.  But many times they start from the wrong starting point: 

  • Identify the requirements and the to-be solution but forget the retrospective step of the current solution. 
  • Identify certain products as the main problems. Often this involves choosing another product as the magic solution to resolve these problems.
  • Identify technological silos but no knowledge silos, therefore do not support enough the data governance solutions.
  • To not plan thoroughly a coexistence plan between the current solution and the new one. The migrations never end, and the legacy products never switch off.

I think the reasons are simple, and at the same time are very difficult to change:

Data Platform as a Service

Introduction

It's been a few months since I was thinking about writing "What's a New Enterprise Data Platform?" In the last few years, I've been working as a Data Solution Architect and Product Owner for a new data platform; I've learned a lot and I would like to share my experiences with the community.

I'm not going to write about the Data-Driven approach, but how to build a platform that allows a company to implement it. When we design and build a Data Platform, we are working on providing the capacities and tools that others teams need to develop their projects. I am not forgetting the data but I think the data should be a service, not a product.