Mario Fernandez

  • About
  • Talks
  • Blog
  • Tags

Book Review: Software Engineering at Google

2023/12/10Book ReviewSoftware EngineeringPracticesTesting
Software engineering at Google offers an interesting peek at how Google develops software internally

My Approach to Taking Notes

2023/09/11PracticesCareerSoftware Engineering
Taking notes is an extremely beneficial practice. I use it extensively to be able to give more and better feedback. Let me share my approach

A Method to Give Feedback

2023/08/07PracticesCareerSoftware Engineering
Feedback, when used thoughtfully, is a superpower. Here's my approach on how to deliver it effectively

Book Review: Unit Testing

2023/04/18Book ReviewSoftware EngineeringPracticesTesting
Unit testing is a book about testing that you should not skip, as it is an excellent source to improve your testing skills

The Humble Extract Method

2023/02/27PracticesSoftware EngineeringRefactoring
The extract method refactoring is a low-cost, high-impact tool to increase maintainability in your code. Let's talk about its benefits

Book Review: Effective Remote Work

2022/11/27Book ReviewSoftware EngineeringPracticesTeam OrganizationCareer
Effective remote work is a book about making remote work successful, both for employees and their company

Anatomy of a Successful Retro

2022/10/16AgilePracticesSoftware Engineering
Let's talk about a structure for retrospectives that's effective and easy to implement. Make sure you get value out of doing retros

The Behavioral Interview

2022/09/07InterviewsCoding ChallengeFAANGCareer
The behavioral interview is the last component of the FAANG interview. Less technical yet challenging, as you need to talk about your experience effectively

The System Design Interview

2022/08/08InterviewsCoding ChallengeFAANGCareerSystem Design
The system design interview is an unavoidable part of interviewing at FAANG. Let's see how to prepare for them successfully

Tips for Coding Interviews at FAANG

2022/07/11InterviewsCoding ChallengeFAANGCareer
Coding interviews at FAANG are difficult. Let me share some tips that helped me go through these interviews successfully

Book Review: Site Reliability Workbook

2022/05/23Book ReviewDevOpsMonitoringAlertsOn-Call
Everybody's favorite saga about Site Reliability Engineering is back. This time it comes with plenty of actionable advice.

Making a Microservice More Resilient Against Downstream Failure

2022/05/08Software EngineeringMonitoringDataDogNetflixresilience4j
With the help of resilience4j, I've built a fallback cache to significantly increase the fault tolerance of a service with multiple downstream dependencies

Book Review: Designing Data-Intensive Applications

2022/03/07Book ReviewArchitectureDistributed Systems
If you want to dive into distributed systems, there's no better choice right now than Designing Data-Intensive Applications

Monitoring Tools: 6 to Cover All Your Needs

2022/01/06MonitoringAlertsSplunkDevOps
Here are the six different types of monitoring tools that will give you and your team everything you need to feel confident about your applications' health.

Multiwindow, Multi-Burn-Rate Alerts in DataDog

2022/01/03MonitoringAlertsTerraformDataDogOn-Call
Multiwindow, multi-burn-rate alerts are the hottest way of building reliable alerts. Let's configure some in DataDog using Terraform

Synthetic Monitoring: A Detailed Introductory Guide

2021/12/06MonitoringAlerts
Synthetic monitoring is a way of simulating real user behavior in an application by continuously proving that core flows still work

Applications Instead of Libraries

2021/11/20ArchitectureReactMicro frontendsJavaScript
Using module federation to implement micro frontends

Book Review: Staff Engineer

2021/11/16Book ReviewLeadershipTeam OrganizationArchitecture
Staff engineer is about understanding tech leadership in the context of BigTech companies

Secure a Rails API with Auth0

2021/10/09RubyRailsOAuthSecurityAuth0
Learn how to secure an API written using Ruby On Rails

Synthetic Transactions and Monitoring in Testing

2021/09/26MonitoringAlerts
Synthetic transactions is a way of monitoring a system from the perspective of the users interacting with it. Let's learn about its benefits.

Understanding a Software Team Lead's Responsibilities

2021/08/29PracticesSoftware EngineeringAgileTeam Organization
What are the software team lead responsibilities? In this blog, let's define them from the perspective of servant leadership.

How Do You Structure an Engineering Team?

2021/07/31PracticesSoftware EngineeringAgileTeam Organization
An engineering team structure is about finding a way to provide autonomy, mastery, and purpose to its team members. Let's explore more.

Choosing an Engineering Organizational Structure

2021/07/16PracticesSoftware EngineeringAgileTeam Organization
To scale an engineering organization, it helps to have a engineering organizational structure that encourages autonomy and collaboration.

Monitoring Alerts That Don't Suck

2021/07/02MonitoringPracticesAlertsOn-Call
If you've been part of an On-Call rotation, you know how a bad setup will leave you (literally) sleepless. Let's work on fixing that

From Redux to the Context API: A Practical Migration Guide

2021/06/14ReactReduxContext APIArchitectureState Management
Let's migrate a React application built with Redux to the Context API and see how it looks like

Story Points in Depth: Everything You Need to Know

2021/06/03PracticesArchitectureSoftware EngineeringAgile
Story points create a measurement that represents the amount of time it takes to complete a task. They provide a view of the expected return on investment.

Scalable Architecture: A Definition and How-To Guide

2021/05/18PracticesArchitectureSoftware Engineering
Using cloud technologies, it's possible to quickly build a solution with scalable architecture that works in almost any situation.

Starting you new React application with Redux? Consider a simpler approach using the Context API

2021/05/11ReactReduxContext APIArchitecture
Traditionally, starting a new React application means adding Redux for state management. Let's talk about the Context API as an alternative

Book Review: Management 3.0

2021/05/09Book ReviewPracticesAgile
Management in the context of Agile. How does it even work? This book is about building high performing teams and leading them

Why Is Refactoring Your Code Important in Agile?

2021/05/02PracticesSoftware EngineeringAgileRefactoring
Learn why refactoring your code is important. Foster experimentation and lightweight solutions, not excessive planning and fear of change.

What Is Code Duplication? A Definition and Overview

2021/04/18PracticesArchitectureSoftware Engineering
Code duplication makes software less maintainable and reduces our ability to iterate fast. Learn what duplication is and how to prevent it

How not to do a take-home coding assignment

2021/04/05InterviewsCoding Challenge
A bad experience in a take-home coding assignment can ruin how a candidate perceives your company. Let's talk about some anti-patterns

Authorization Code Flow with PKCE (OAuth) in a React application

2021/03/29Auth0OAuthReact
SPAs implementing OAuth should pick Authorization Code Flow with PKCE for maximum security. Let's implement it in React with help of Auth0

Signing your commits in git

2021/03/22Securitygitgpg
Signing your commits with a gpg key adds a layer of integrity to your code contributions. Not only that, but it's quite easy to set up

Book Review: Accelerate

2021/03/07Book ReviewPracticesTeam OrganizationContinuous Delivery
Accelerate is the book you need to read if you want to understand why continuous delivery is a tool for companies to deliver better results

Be a good Kubernetes citizen and use Pod Disruption Budgets

2021/02/18KubernetesOperationsDevOpsTerraform
Pod Disruption Budgets offer a way to protect the uptime of an application in Kubernetes during node maintenance, in a decoupled fashion

Book Review: Team topologies

2021/02/08Book ReviewPracticesTeam Organization
Team topologies is a book that proposes four ways of organizing teams that aim to empower them to build better software

So, what does the NGINX ingress controller actually do?

2021/01/30KubernetesIngressNGINX
If you run a lot of applications in a Kubernetes cluster, you probably use an Ingress controller. Let's dive into how it actually works

Setting up OAuth for Grafana with Auth0

2021/01/17Auth0OAuthInfrastructure as CodeTerraformGrafana
Set up secure access for Grafana based on OAuth thanks to Auth0, nicely provisioned with Terraform using Infrastructure as Code

Book Review: Prometheus up and running

2021/01/08Book ReviewMonitoringDevOpsPrometheus
Get started with Prometheus thanks to this book, which is both practical and comprehensive

Provisioning an Application Load Balancer with Terraform

2021/01/02AWSTerraformLoad BalancingNetworkingInfrastructure as Code
Learn how to provision Application Load Balancers in AWS using Terraform to ensure high availability for your applications

Book Review: No rules rules, Netflix and the culture of reinvention

2020/12/13Book ReviewNetflix
A book about Netflix's culture is out. Talent density, candor, leading with context are some of the principles they follow

Keeping a technical backlog

2020/12/04AgilePracticesLeadership
You are writing high-quality technical stories and including them in every iteration. Find a home for them in your technical backlog

Provisioning a Network Load Balancer with Terraform

2020/11/17AWSTerraformLoad BalancingNetworkingInfrastructure as Code
Learn how to provision Network Load Balancers in AWS using Terraform to ensure high availability for your applications

Book Review: Working effectively with legacy code

2020/11/12Book ReviewArchitecturePractices
Working effectively with legacy code is an excellent resource when dealing with hairy, messy pieces of legacy code that nobody wants to touch

Getting technical stories into an iteration

2020/11/05AgilePracticesLeadership
Writing technical stories is only the first step. Integrating them in an iteration is where progress happens. Don't avoid this discussion

Book Review: Never split the difference

2020/10/25Book ReviewNegotiation
Being properly prepared for a negotiation is a skill that is useful in many situations. Software development is about humans, after all

Either Types for Rust

2020/10/19RustFunctional ProgrammingExceptionsEither
Either types are great for error handling. Rust has the Result type. It's tightly integrated into the language, and simplifies robust code

Technical stories, a miscast artifact of agile development

2020/09/24AgilePracticesLeadership
Technical stories are misused. If used correctly, they help shape the technical vision. If not, they just enable skipping essential work

Book Review: The Rust programming language

2020/09/20Book ReviewRustSystems Programming
Rust is a trendy pick for a programming language these days. There is no better book to get started than this one
  • 1
  • 2